X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2153bf897ad0d4a6cdf321eef093123fa4aed8bb..da98e15760bfcad41a5579e64955caadc2e535f3:/samples/drawing/drawing.cpp diff --git a/samples/drawing/drawing.cpp b/samples/drawing/drawing.cpp index e461b212ee..b462b1370d 100644 --- a/samples/drawing/drawing.cpp +++ b/samples/drawing/drawing.cpp @@ -18,8 +18,8 @@ // ---------------------------------------------------------------------------- #if defined(__GNUG__) && !defined(__APPLE__) - #pragma implementation "drawing.cpp" - #pragma interface "drawing.cpp" + #pragma implementation + #pragma interface #endif // For compilers that support precompilation, includes "wx/wx.h". @@ -119,7 +119,9 @@ public: void OnShow(wxCommandEvent &event); void OnOption(wxCommandEvent &event); +#if wxUSE_COLOURDLG wxColour SelectColour(); +#endif // wxUSE_COLOURDLG void PrepareDC(wxDC& dc); int m_backgroundMode; @@ -228,9 +230,11 @@ enum LogicalOrigin_Set, LogicalOrigin_Restore, +#if wxUSE_COLOURDLG Colour_TextForeground, Colour_TextBackground, Colour_Background, +#endif // wxUSE_COLOURDLG Colour_BackgroundMode, Colour_TextureBackgound, @@ -509,11 +513,16 @@ void MyCanvas::DrawDefault(wxDC& dc) // mark the origin dc.DrawCircle(0, 0, 10); +#if !wxMAC_USE_CORE_GRAPHICS + // GetPixel and FloodFill not supported by Mac OS X CoreGraphics + // (FloodFill uses Blit from a non-wxMemoryDC) //flood fill using brush, starting at 1,1 and replacing whatever colour we find there dc.SetBrush(wxBrush(wxColour(128,128,0), wxSOLID)); + wxColour tmpColour ; dc.GetPixel(1,1, &tmpColour); dc.FloodFill(1,1, tmpColour, wxFLOOD_SURFACE); +#endif dc.DrawCheckMark(5, 80, 15, 15); dc.DrawCheckMark(25, 80, 30, 30); @@ -660,7 +669,7 @@ void MyCanvas::DrawDefault(wxDC& dc) // Added by JACS to demonstrate bizarre behaviour. // With a size of 70, we get a missing red RHS, - // and the hight is too small, so we get yellow + // and the height is too small, so we get yellow // showing. With a size of 40, it draws as expected: // it just shows a white rectangle with red outline. int totalWidth = 70; @@ -670,11 +679,12 @@ void MyCanvas::DrawDefault(wxDC& dc) wxMemoryDC memdc2; memdc2.SelectObject(bitmap2); - wxBrush yellowBrush(wxColour(255, 255, 0), wxSOLID); + wxColour clr(255, 255, 0); + wxBrush yellowBrush(clr, wxSOLID); memdc2.SetBackground(yellowBrush); memdc2.Clear(); - wxPen yellowPen(wxColour(255, 255, 0), 1, wxSOLID); + wxPen yellowPen(clr, 1, wxSOLID); // Now draw a white rectangle with red outline. It should // entirely eclipse the yellow background. @@ -947,7 +957,8 @@ void MyCanvas::OnPaint(wxPaintEvent &WXUNUSED(event)) if ( m_owner->m_textureBackground) { if ( ! m_owner->m_backgroundBrush.Ok() ) { - wxBrush b(wxColour(0,128,0), wxSOLID); + wxColour clr(0,128,0); + wxBrush b(clr, wxSOLID); dc.SetBackground(b); } } @@ -1009,6 +1020,7 @@ void MyCanvas::OnPaint(wxPaintEvent &WXUNUSED(event)) void MyCanvas::OnMouseMove(wxMouseEvent &event) { +#if wxUSE_STATUSBAR wxClientDC dc(this); PrepareDC(dc); m_owner->PrepareDC(dc); @@ -1019,6 +1031,9 @@ void MyCanvas::OnMouseMove(wxMouseEvent &event) wxString str; str.Printf( wxT("Current mouse position: %d,%d"), (int)x, (int)y ); m_owner->SetStatusText( str ); +#else + wxUnusedVar(event); +#endif // wxUSE_STATUSBAR } // ---------------------------------------------------------------------------- @@ -1092,9 +1107,11 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) menuLogical->Append( LogicalOrigin_Restore, _T("&Restore to normal\tShift-Ctrl-0") ); wxMenu *menuColour = new wxMenu; +#if wxUSE_COLOURDLG menuColour->Append( Colour_TextForeground, _T("Text &foreground...") ); menuColour->Append( Colour_TextBackground, _T("Text &background...") ); menuColour->Append( Colour_Background, _T("Background &colour...") ); +#endif // wxUSE_COLOURDLG menuColour->AppendCheckItem( Colour_BackgroundMode, _T("&Opaque/transparent\tCtrl-B") ); menuColour->AppendCheckItem( Colour_TextureBackgound, _T("Draw textured back&ground\tCtrl-T") ); @@ -1110,8 +1127,10 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) // ... and attach this menu bar to the frame SetMenuBar(menuBar); +#if wxUSE_STATUSBAR CreateStatusBar(2); SetStatusText(_T("Welcome to wxWidgets!")); +#endif // wxUSE_STATUSBAR m_mapMode = wxMM_TEXT; m_xUserScale = 1.0; @@ -1224,6 +1243,7 @@ void MyFrame::OnOption(wxCommandEvent& event) m_xAxisReversed = !m_xAxisReversed; break; +#if wxUSE_COLOURDLG case Colour_TextForeground: m_colourForeground = SelectColour(); break; @@ -1239,6 +1259,8 @@ void MyFrame::OnOption(wxCommandEvent& event) } } break; +#endif // wxUSE_COLOURDLG + case Colour_BackgroundMode: m_backgroundMode = m_backgroundMode == wxSOLID ? wxTRANSPARENT : wxSOLID; @@ -1264,6 +1286,7 @@ void MyFrame::PrepareDC(wxDC& dc) dc.SetMapMode( m_mapMode ); } +#if wxUSE_COLOURDLG wxColour MyFrame::SelectColour() { wxColour col; @@ -1277,4 +1300,5 @@ wxColour MyFrame::SelectColour() return col; } +#endif // wxUSE_COLOURDLG