- Fixed drawing of round objects (Circles, Rounded Rects) using a lookup table
- Added function to read out the display_buffer via USB-Serial - Added basic structure and files for later complete firmware (still in progress) - Added Doc folder with schematic in it - Added Python script and batch file to read out the display buffer and open the image in gimp
This commit is contained in:
@@ -372,6 +372,15 @@ void Display_Screen_Transition_Tick()
|
||||
}
|
||||
}
|
||||
|
||||
bool Display_Screen_Transition_Ongoing()
|
||||
{
|
||||
if(_Transition_Settings.Direction_Out == TRANSITION_NONE && _Transition_Settings.Direction_In == TRANSITION_NONE) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void Display_Render_Objects(void)
|
||||
{
|
||||
Object_Float* F;
|
||||
@@ -718,6 +727,15 @@ uint* Display_Get_Frame_Counter_Reference(void)
|
||||
return &_Frame_Counter;
|
||||
}
|
||||
|
||||
Display_Color Display_Get_Pixel(uint32_t pixel_number)
|
||||
{
|
||||
if(pixel_number >= DISPLAY_HEIGHT * DISPLAY_WIDTH) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return _Image_Buffer.Dim_1[pixel_number];
|
||||
}
|
||||
|
||||
void Display_Set_Debug_Print(void)
|
||||
{
|
||||
_Debug_Print = true;
|
||||
@@ -756,7 +774,11 @@ void Display_Render_Objects_Shape(Coordinates* coordinates_object, Object_Shape*
|
||||
Display_Shapes_Draw_Round_Rect_Frame(coordinates_object->X, coordinates_object->Y, shape->Dimension.Width, shape->Dimension.Height, shape->Radius_Start, shape->Thickness, shape->Color);
|
||||
break;
|
||||
|
||||
case CIRCLE:
|
||||
case CIRCLE_FILLED:
|
||||
Display_Shapes_Draw_Circle_Filled(coordinates_object->X, coordinates_object->Y, shape->Radius_Start, shape->Color);
|
||||
break;
|
||||
|
||||
case CIRCLE_FRAME:
|
||||
Display_Shapes_Draw_Circle_Frame(coordinates_object->X, coordinates_object->Y, shape->Radius_Start, shape->Thickness, shape->Color);
|
||||
break;
|
||||
|
||||
@@ -1157,7 +1179,7 @@ void Display_Draw_Menu_Ring(Coordinates* coordinates, Object_Menu_Ring* menu_rin
|
||||
Coordinates Coordinate_Dot = Display_Shapes_Polar_To_XY(Center_X, Center_Y, (uint16_t)Total_Rotation, Config->Item_Radius);
|
||||
|
||||
Display_Shapes_Draw_Circle_Frame(Center_X, Center_Y, Config->Item_Radius, 2, Config->Selection_Ring_Color);
|
||||
Display_Shapes_Draw_Circle_Filled(Coordinate_Dot.X, Coordinate_Dot.Y, 4, Config->Selection_Ring_Color);
|
||||
Display_Shapes_Draw_Circle_Filled(Coordinate_Dot.X, Coordinate_Dot.Y, 5, Config->Selection_Ring_Color);
|
||||
}
|
||||
|
||||
// Draw center circle with animated scale (both phases)
|
||||
@@ -1569,7 +1591,8 @@ void Display_Draw_Select_List(Coordinates* coordinates, char* list_titles, uint3
|
||||
return;
|
||||
}
|
||||
|
||||
Display_Shapes_Draw_Round_Rect_Frame(X_Entires-4, _Select_List_Current_Y-2, Entry_Width+8, Entry_Height+4, 5, 1, config->Color_Selected);
|
||||
Display_Shapes_Draw_Round_Rect_Frame(X_Entires-4, _Select_List_Current_Y-4, Entry_Width+8, Entry_Height+8, 5, 1, config->Color_Selected);
|
||||
// Display_Shapes_Draw_Rect_Frame(X_Entires-6, _Select_List_Current_Y-2, Entry_Width+8, Entry_Height+8, 1, config->Color_Selected);
|
||||
|
||||
int Move_Direction = _NONE;
|
||||
if(_Select_List_Current_Y < Y_Target) {
|
||||
|
||||
Reference in New Issue
Block a user