void OnPaint( wxPaintEvent &event );
wxBitmap *my_horse;
+ wxBitmap *my_square;
DECLARE_EVENT_TABLE()
};
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) )
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) :
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 );
}
(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
//-----------------------------------------------------------------------------