void wxBitmapButton::DrawButtonDisable( wxClientDC& rDC , wxBitmap& rBmp ) { wxPen vGreyPen(wxColour(128, 128, 128), 2, wxSOLID); // // Draw a thick black line around the outside of the button // rDC.SetPen(vGreyPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ); wxDisableBitmap(rBmp, vGreyPen.GetColour().GetPixel()); } // end of wxBitmapButton::DrawButtonDisable
void wxBitmapButton::DrawButtonFocus ( wxClientDC& rDC ) { wxPen vBlackPen(wxColour(0, 0, 0), 2, wxSOLID); // // Draw a thick black line around the outside of the button // rDC.SetPen(vBlackPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ); } // end of wxBitmapButton::DrawButtonFocus
void RectangleDrawer::DoDraw(wxClientDC& dc, bool isInnerInclude) { dc.Clear(); DrawBox(dc); DrawStats(dc); for (size_t i = 0, i_end = m_pRectangleDB->Size(); i < i_end; ++i) { if ((*m_pRectangleDB)[i] && (*m_pRectangleDB)[i]->GetStatus() == ON_FIELD) { DrawRectangle(dc, (*m_pRectangleDB)[i], false, isInnerInclude); } } if (m_bDoScreenShot) { size_t uiCurrentFile = m_pController->GetCurrentTestFile(); const char* fileName = ConfigReader::GetInstance()->GetTestName(uiCurrentFile).c_str(); char str[128]; wxDateTime now = wxDateTime::Now(); sprintf_s(str, "screenshots/_time_%s_file_%s_conf_%d_repeat_%d_fit_%4.1f.bmp", now.Format("%H.%M.%S", wxDateTime::CEST).c_str(), fileName, m_pController->GetCurrentTestConfig()+1, m_pController->GetCurrentTestRepeat(), m_fFitnress); GetScreenShot(dc).SaveFile(str, wxBITMAP_TYPE_BMP); m_bDoScreenShot = false; } }
void addPresets(const vector<Game::SpecialPreset>& presets, wxSize& textsize, wxClientDC& dc) { for (auto& preset : presets) { auto item = AppendItem(getGroup(preset.group), preset.name); SetItemData(item, new SpecialPresetData(preset)); textsize.IncTo(dc.GetTextExtent(preset.name)); } }
void wxBitmapButton::DrawFace (wxClientDC& rDC, bool bSel) { // // Set up drawing colors // wxPen vHiLitePen(*wxWHITE, 2, wxSOLID); // White wxColour gray85(85, 85, 85); wxPen vDarkShadowPen(gray85, 2, wxSOLID); wxColour vFaceColor(204, 204, 204); // Light Grey // // Draw the main button face // // This triggers a redraw and destroys the bottom & left focus border and // doesn't seem to do anything useful. // ::WinFillRect(rDC.GetHPS(), &rDC.m_vRclPaint, vFaceColor.GetPixel()); // // Draw the border // Note: DrawLine expects wxWidgets coordinate system so swap // rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen); wxPMDCImpl *impl = (wxPMDCImpl*) rDC.GetImpl(); // top rDC.DrawLine( impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yBottom + 1 ,impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yBottom + 1 ); // left rDC.DrawLine( impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yBottom + 1 ,impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yTop - 1 ); rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen); // bottom rDC.DrawLine( impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yTop - 1 ,impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yTop - 1 ); // right rDC.DrawLine( impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yBottom + 1 ,impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yTop - 1 ); } // end of wxBitmapButton::DrawFace
void wxBitmapButton::DrawFace ( wxClientDC& rDC , bool bSel ) { // // Set up drawing colors // wxPen vHiLitePen(wxColour(255, 255, 255), 2, wxSOLID); // White wxPen vDarkShadowPen(wxColour(85, 85, 85), 2, wxSOLID); wxColour vFaceColor(wxColour(204, 204, 204)); // Light Grey // // Draw the main button face // ::WinFillRect(rDC.GetHPS(), &rDC.m_vRclPaint, vFaceColor.GetPixel()); // // Draw the border // rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yTop - 1 ); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yBottom + 1 ); rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yBottom + 1 ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yBottom + 1 ); rDC.DrawLine( rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yBottom + 1 ); } // end of wxBitmapButton::DrawFace
void wxGISMapView::DrawToolTip(wxClientDC& dc, const wxString& sText) { wxSize size = GetClientSize(); int nWidth, nHeight; dc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); dc.GetTextExtent(sText, &nWidth, &nHeight); wxBrush br(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOBK)); dc.SetBrush(br); wxColor TextColor(wxSystemSettings::GetColour(wxSYS_COLOUR_INFOTEXT)); wxPen pen(TextColor); dc.SetPen(pen); int x1 = (size.x - nWidth) / 2, y1 = (size.y - nHeight) - 50; dc.DrawRectangle( x1 - 5, y1 - 2, nWidth + 10, nHeight + 4); dc.SetTextBackground(TextColor); dc.SetTextForeground(TextColor); dc.DrawText(sText, x1, y1); }
wxSize pxStaticText::GetBestWrappedSize(const wxClientDC &dc) const { pxAssert(m_autowrap); // Find an ideal(-ish) width, based on a search of all parent controls and their // valid Minimum sizes. int idealWidth = wxDefaultCoord; int parentalAdjust = 0; double parentalFactor = 1.0; const wxWindow *millrun = this; while (millrun) { // IMPORTANT : wxWizard changes its min size and then expects everything else // to play nice and NOT resize according to the new min size. (wtf stupid) // Anyway, this fixes it -- ignore min size specifier on wxWizard! if (wxIsKindOf(millrun, wxWizard)) break; int min = (int)((millrun->GetMinWidth() - parentalAdjust) * parentalFactor); if (min > 0 && ((idealWidth < 0) || (min < idealWidth))) { idealWidth = min; } parentalAdjust += pxSizerFlags::StdPadding * 2; millrun = millrun->GetParent(); } if (idealWidth <= 0) { // FIXME: The minimum size of this control is unknown, so let's just pick a guess based on // the size of the user's display area. idealWidth = (int)(wxGetDisplaySize().GetWidth() * 0.66) - (parentalAdjust * 2); } return dc.GetMultiLineTextExtent(pxTextWrapper().Wrap(this, m_label, idealWidth - calcPaddingWidth(idealWidth)).GetResult()); }
void wxBitmapButton::DrawButtonDisable( wxClientDC& rDC, wxBitmap& rBmp ) { wxPen vGreyPen(wxT("GREY"), 2, wxSOLID); // // Draw a thick black line around the outside of the button // Note: DrawLine expects wxWidgets coordinate system so swap // rDC.SetPen(vGreyPen); wxPMDCImpl *impl = (wxPMDCImpl*) rDC.GetImpl(); // top rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ); // right rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ); // bottom rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ); // left rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ); wxDisableBitmap(rBmp, vGreyPen.GetColour().GetPixel()); } // end of wxBitmapButton::DrawButtonDisable
void wxBitmapButton::DrawButtonFocus ( wxClientDC& rDC ) { wxPen vBlackPen(*wxBLACK, 2, wxSOLID); // // Draw a thick black line around the outside of the button // Note: DrawLine expects wxWidgets coordinate system so swap // rDC.SetPen(vBlackPen); wxPMDCImpl *impl = (wxPMDCImpl*) rDC.GetImpl(); // top rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ); // right rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ); // bottom rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ); // left rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ); } // end of wxBitmapButton::DrawButtonFocus
inline static void DrawBox(wxClientDC& dc, const PHD_Point& star, int halfW, double scale) { dc.SetBrush(*wxTRANSPARENT_BRUSH); double w = ROUND((halfW * 2 + 1) * scale); dc.DrawRectangle(int((star.X - halfW) * scale), int((star.Y - halfW) * scale), w, w); }