X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c45a644eda9a0c6309090d8450780ca37faed9c8..270a909e20a2c652fd816ad14407113ad0319c9d:/samples/drawing/drawing.cpp diff --git a/samples/drawing/drawing.cpp b/samples/drawing/drawing.cpp index 8ad6661781..15feff1a17 100644 --- a/samples/drawing/drawing.cpp +++ b/samples/drawing/drawing.cpp @@ -74,7 +74,6 @@ public: void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); void OnOption(wxCommandEvent &event); - void OnMouseMove(wxMouseEvent &event); wxColour SelectColour(); void PrepareDC(wxDC& dc); @@ -105,6 +104,7 @@ public: void DrawTestLines( int x, int y, int width, wxDC &dc ); void OnPaint(wxPaintEvent &event); + void OnMouseMove(wxMouseEvent &event); protected: MyFrame *m_owner; @@ -199,6 +199,7 @@ bool MyApp::OnInit() // handlers) which process them. BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow) EVT_PAINT (MyCanvas::OnPaint) + EVT_MOTION (MyCanvas::OnMouseMove) END_EVENT_TABLE() MyCanvas::MyCanvas( MyFrame *parent ) @@ -270,13 +271,14 @@ void MyCanvas::OnPaint(wxPaintEvent &WXUNUSED(event)) // mark the origin dc.DrawCircle(0, 0, 10); -#ifndef __WXGTK__ // not implemented in wxGTK :-( +#if !(defined __WXGTK__) && !(defined __WXMOTIF__) + // not implemented in wxGTK or wxMOTIF :-( dc.FloodFill(0, 0, wxColour(255, 0, 0)); -#endif // __WXGTK__ +#endif // dc.DrawText( "This is text", 110, 10 ); - dc.SetFont( wxFont( 18, wxSWISS, 0, 0 ) ); + dc.SetFont( wxFont( 18, wxSWISS, wxNORMAL, wxNORMAL ) ); dc.DrawText( "This is Swiss 18pt text.", 110, 40 ); @@ -306,6 +308,20 @@ void MyCanvas::OnPaint(wxPaintEvent &WXUNUSED(event)) } +void MyCanvas::OnMouseMove(wxMouseEvent &event) +{ + wxClientDC dc(this); + PrepareDC(dc); + m_owner->PrepareDC(dc); + + wxPoint pos = event.GetPosition(); + long x = dc.DeviceToLogicalX( pos.x ); + long y = dc.DeviceToLogicalY( pos.y ); + wxString str; + str.Printf( "Current mouse position: %d,%d", (int)x, (int)y ); + m_owner->SetStatusText( str ); +} + // ---------------------------------------------------------------------------- // MyFrame // ---------------------------------------------------------------------------- @@ -314,7 +330,6 @@ void MyCanvas::OnPaint(wxPaintEvent &WXUNUSED(event)) // handlers) which process them. It can be also done at run-time, but for the // simple menu events like this the static method is much simpler. BEGIN_EVENT_TABLE(MyFrame, wxFrame) - EVT_MOTION (MyFrame::OnMouseMove) EVT_MENU (Minimal_Quit, MyFrame::OnQuit) EVT_MENU (Minimal_About, MyFrame::OnAbout) EVT_MENU_RANGE(MenuOption_First, MenuOption_Last, MyFrame::OnOption) @@ -503,19 +518,6 @@ void MyFrame::PrepareDC(wxDC& dc) dc.SetAxisOrientation( !m_xAxisReversed, m_yAxisReversed ); } -void MyFrame::OnMouseMove(wxMouseEvent &event) -{ - wxClientDC dc(this); - PrepareDC(dc); - - wxPoint pos = event.GetPosition(); - long x = dc.DeviceToLogicalX( pos.x ); - long y = dc.DeviceToLogicalY( pos.y ); - wxString str; - str.Printf( "Current mouse position: %d,%d", (int)x, (int)y ); - SetStatusText( str ); -} - wxColour MyFrame::SelectColour() { wxColour col;