X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/910276d73f05cce48eb3b30062f2b45dde2a6951..f0824a5a4a255989b5153945ade9e21232724980:/samples/image/image.cpp?ds=sidebyside diff --git a/samples/image/image.cpp b/samples/image/image.cpp index c93a84b6a3..4e51460807 100644 --- a/samples/image/image.cpp +++ b/samples/image/image.cpp @@ -29,6 +29,7 @@ class MyCanvas: public wxScrolledWindow void OnPaint( wxPaintEvent &event ); wxBitmap *my_horse; + wxBitmap *my_square; DECLARE_EVENT_TABLE() }; @@ -83,20 +84,24 @@ MyCanvas::MyCanvas( wxWindow *parent, const wxWindowID id, const wxPoint &pos, c wxMemoryDC dc; dc.SelectObject( bitmap ); dc.SetBrush( wxBrush( "orange", wxSOLID ) ); - dc.SetPen( *wxTRANSPARENT_PEN ); + dc.SetPen( *wxWHITE_PEN ); dc.DrawRectangle( 0, 0, 100, 100 ); dc.SelectObject( wxNullBitmap ); image = bitmap.ConvertToImage(); image.SaveFile( "../test.png", wxBITMAP_TYPE_PNG ); - image.LoadFile( "../test.png", wxBITMAP_TYPE_PNG ); + image.LoadFile( "../horse.png", wxBITMAP_TYPE_PNG ); my_horse = new wxBitmap( image ); + + image.LoadFile( "../test.png", wxBITMAP_TYPE_PNG ); + my_square = new wxBitmap( image ); } MyCanvas::~MyCanvas(void) { delete my_horse; + delete my_square; } void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) @@ -105,24 +110,27 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) PrepareDC( dc ); dc.DrawText( "Loaded image", 30, 100 ); - if (my_horse->Ok()) dc.DrawBitmap( *my_horse, 30, 120 ); + if (my_square->Ok()) dc.DrawBitmap( *my_square, 30, 120 ); dc.DrawText( "Drawn directly", 150, 100 ); dc.SetBrush( wxBrush( "orange", wxSOLID ) ); - dc.SetPen( *wxTRANSPARENT_PEN ); + dc.SetPen( *wxWHITE_PEN ); dc.DrawRectangle( 150, 120, 100, 100 ); + + if (my_horse->Ok()) dc.DrawBitmap( *my_horse, 30, 240 ); } // MyFrame -const ID_QUIT = 108; -const ID_ABOUT = 109; +const int ID_QUIT = 108; +const int ID_ABOUT = 109; IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame ) BEGIN_EVENT_TABLE(MyFrame,wxFrame) EVT_MENU (ID_ABOUT, MyFrame::OnAbout) EVT_MENU (ID_QUIT, MyFrame::OnQuit) + EVT_SIZE (MyFrame::OnSize) END_EVENT_TABLE() MyFrame::MyFrame(void) : @@ -138,7 +146,11 @@ MyFrame::MyFrame(void) : SetMenuBar( menu_bar ); - m_canvas = new MyCanvas( this, -1, wxPoint(2,62), wxSize(300-4,120-4) ); + CreateStatusBar(2); + int widths[] = { -1, 100 }; + SetStatusWidths( 2, widths ); + + m_canvas = new MyCanvas( this, -1, wxPoint(0,0), wxSize(10,10) ); m_canvas->SetScrollbars( 10, 10, 50, 50 ); } @@ -152,6 +164,13 @@ void MyFrame::OnAbout( wxCommandEvent &WXUNUSED(event) ) (void) wxMessageBox( "wxImage demo\nRobert Roebling (c) 1998", "About wxImage Demo", wxOK ); } +void MyFrame::OnSize( wxSizeEvent &WXUNUSED(event) ) +{ + int w,h; + GetClientSize( &w, &h ); + m_canvas->SetSize( w, h ); +} + //----------------------------------------------------------------------------- // MyApp //-----------------------------------------------------------------------------