void DrawRadioButton(TRadioButton *ARadioButton) { int circleOffset = 0; if (ARadioButton->Visible == 1) { circleOffset = ARadioButton->Height / 5; TFT_Set_Pen(ARadioButton->Pen_Color, ARadioButton->Pen_Width); if (ARadioButton->TextAlign == _taLeft) { TFT_Set_Brush(ARadioButton->Transparent,ARadioButton->Background_Color,0,0,0,0); TFT_Circle(ARadioButton->Left + ARadioButton->Height / 2, ARadioButton->Top + ARadioButton->Height / 2, ARadioButton->Height / 2); if (ARadioButton->Checked == 1) { if (object_pressed == 1) { object_pressed = 0; TFT_Set_Brush(ARadioButton->Transparent, ARadioButton->Press_Color, ARadioButton->Gradient, ARadioButton->Gradient_Orientation, ARadioButton->Gradient_End_Color, ARadioButton->Gradient_Start_Color); } else TFT_Set_Brush(ARadioButton->Transparent, ARadioButton->Color, ARadioButton->Gradient, ARadioButton->Gradient_Orientation, ARadioButton->Gradient_Start_Color, ARadioButton->Gradient_End_Color); TFT_Circle(ARadioButton->Left + ARadioButton->Height / 2 , ARadioButton->Top + ARadioButton->Height / 2, ARadioButton->Height / 2 - circleOffset); } TFT_Set_Ext_Font(ARadioButton->FontName, ARadioButton->Font_Color, FO_HORIZONTAL); TFT_Write_Text_Return_Pos(ARadioButton->Caption, ARadioButton->Left + ARadioButton->Height + 4, ARadioButton->Top); TFT_Write_Text(ARadioButton->Caption, ARadioButton->Left + ARadioButton->Height + 4, (ARadioButton->Top + ((ARadioButton->Height - caption_height) / 2))); } else if (ARadioButton->TextAlign == _taRight) { TFT_Set_Brush(ARadioButton->Transparent,ARadioButton->Background_Color,0,0,0,0); TFT_Circle(ARadioButton->Left + ARadioButton->Width - ARadioButton->Height / 2, ARadioButton->Top + ARadioButton->Height / 2, ARadioButton->Height / 2); if (ARadioButton->Checked == 1) { if (object_pressed == 1) { object_pressed = 0; TFT_Set_Brush(ARadioButton->Transparent, ARadioButton->Press_Color, ARadioButton->Gradient, ARadioButton->Gradient_Orientation, ARadioButton->Gradient_End_Color, ARadioButton->Gradient_Start_Color); } else TFT_Set_Brush(ARadioButton->Transparent, ARadioButton->Color, ARadioButton->Gradient, ARadioButton->Gradient_Orientation, ARadioButton->Gradient_Start_Color, ARadioButton->Gradient_End_Color); TFT_Circle(ARadioButton->Left + ARadioButton->Width - ARadioButton->Height / 2, ARadioButton->Top + ARadioButton->Height / 2, ARadioButton->Height / 2 - circleOffset); } TFT_Set_Ext_Font(ARadioButton->FontName, ARadioButton->Font_Color, FO_HORIZONTAL); TFT_Write_Text_Return_Pos(ARadioButton->Caption, ARadioButton->Left + 3, ARadioButton->Top); TFT_Write_Text(ARadioButton->Caption, ARadioButton->Left + 3, ARadioButton->Top + (ARadioButton->Height - caption_height) / 2); } } }
void DrawButton(TButton *Abutton) { if (Abutton->Visible == 1) { if (object_pressed == 1) { object_pressed = 0; TFT_Set_Brush(Abutton->Transparent, Abutton->Press_Color, Abutton->Gradient, Abutton->Gradient_Orientation, Abutton->Gradient_End_Color, Abutton->Gradient_Start_Color); } else { TFT_Set_Brush(Abutton->Transparent, Abutton->Color, Abutton->Gradient, Abutton->Gradient_Orientation, Abutton->Gradient_Start_Color, Abutton->Gradient_End_Color); } TFT_Set_Pen(Abutton->Pen_Color, Abutton->Pen_Width); TFT_Rectangle(Abutton->Left, Abutton->Top, Abutton->Left + Abutton->Width - 1, Abutton->Top + Abutton->Height - 1); TFT_Set_Ext_Font(Abutton->FontName, Abutton->Font_Color, FO_HORIZONTAL); TFT_Write_Text_Return_Pos(Abutton->Caption, Abutton->Left, Abutton->Top); if (AButton->TextAlign == _taLeft) TFT_Write_Text(Abutton->Caption, Abutton->Left + 4, (Abutton->Top + ((Abutton->Height - caption_height) / 2))); else if (AButton->TextAlign == _taCenter) TFT_Write_Text(Abutton->Caption, (Abutton->Left + (Abutton->Width - caption_length) / 2), (Abutton->Top + ((Abutton->Height - caption_height) / 2))); else if (AButton->TextAlign == _taRight) TFT_Write_Text(Abutton->Caption, Abutton->Left + (Abutton->Width - caption_length - 4), (Abutton->Top + (Abutton->Height - caption_height) / 2)); } }
void DrawRoundButton(TButton_Round *Around_button) { unsigned int ALeft, ATop; if (Around_button->Visible != 0) { if (object_pressed == 1) { object_pressed = 0; TFT_Set_Brush(Around_button->Transparent, Around_button->Press_Color, Around_button->Gradient, Around_button->Gradient_Orientation, Around_button->Gradient_End_Color, Around_button->Gradient_Start_Color); } else { TFT_Set_Brush(Around_button->Transparent, Around_button->Color, Around_button->Gradient, Around_button->Gradient_Orientation, Around_button->Gradient_Start_Color, Around_button->Gradient_End_Color); } TFT_Set_Pen(Around_button->Pen_Color, Around_button->Pen_Width); TFT_Rectangle_Round_Edges(Around_button->Left + 1, Around_button->Top + 1, Around_button->Left + Around_button->Width - 2, Around_button->Top + Around_button->Height - 2, Around_button->Corner_Radius); if (Around_button->VerticalText != 0) TFT_Set_Font(Around_button->FontName, Around_button->Font_Color, FO_VERTICAL_COLUMN); else TFT_Set_Font(Around_button->FontName, Around_button->Font_Color, FO_HORIZONTAL); TFT_Write_Text_Return_Pos(Around_button->Caption, Around_button->Left, Around_button->Top); if (Around_button->TextAlign == _taLeft) ALeft = Around_button->Left + 4; else if (Around_button->TextAlign == _taCenter) ALeft = Around_button->Left + (Around_button->Width - caption_length) / 2; else if (Around_button->TextAlign == _taRight) ALeft = Around_button->Left + Around_button->Width - caption_length - 4; if (Around_button->TextAlignVertical == _tavTop) ATop = Around_button->Top + 3; else if (Around_button->TextAlignVertical == _tavMiddle) ATop = Around_button->Top + (Around_button->Height - caption_height) / 2; else if (Around_button->TextAlignVertical == _tavBottom) ATop = Around_button->Top + Around_button->Height - caption_height - 4; TFT_Write_Text(Around_button->Caption, ALeft, ATop); } }