Code: Select all
void CustomCheckBox::OnPaint(wxPaintEvent& evt)
{
wxPaintDC dc(this);
wxGCDC gcdc(dc);
if (status & flag_active)
{
wxPoint yLeftMid{ 2, 7 };
wxPoint xBotMid{ 5 , 11 };
if(status & flag_motionIN)
gcdc.SetPen(wxPen(m_checkBoxColour.ChangeLightness(60),4));
else
gcdc.SetPen(wxPen(m_checkBoxColour));
if(status & flag_leftKeyDown)
gcdc.SetBrush(wxBrush(m_checkBoxColour.ChangeLightness(130)));
else
gcdc.SetBrush(wxBrush(m_checkBoxColour));
gcdc.DrawRectangle(m_rect);
gcdc.SetPen(wxPen(*wxWHITE, 2));
gcdc.DrawLine(yLeftMid, xBotMid);
gcdc.DrawLine(xBotMid, wxPoint(12, 3));
}
else
{
if(status & flag_motionIN)
gcdc.SetPen(wxPen(m_checkBoxColour, 4));
else
gcdc.SetPen(wxPen(*wxBLACK, 4));
if (status & flag_leftKeyDown)
gcdc.SetBrush(wxBrush(m_checkBoxColour.ChangeLightness(145)));
gcdc.DrawRectangle(m_rect);
}
}