]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/image/image.cpp
corrected (?) wxStringList::Delete()
[wxWidgets.git] / samples / image / image.cpp
index c93a84b6a3e08cb899f1dc9f21a06d551ed330da..4e5146080765cc598395abcd8947c0bd2c1e11dd 100644 (file)
@@ -29,6 +29,7 @@ class MyCanvas: public wxScrolledWindow
     void OnPaint( wxPaintEvent &event );
     
     wxBitmap  *my_horse;
     void OnPaint( wxPaintEvent &event );
     
     wxBitmap  *my_horse;
+    wxBitmap  *my_square;
     
   DECLARE_EVENT_TABLE()
 };
     
   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 ) );
   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 );
   
   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 );
   my_horse = new wxBitmap( image );
+  
+  image.LoadFile( "../test.png", wxBITMAP_TYPE_PNG );
+  my_square = new wxBitmap( image );
 }
 
 MyCanvas::~MyCanvas(void)
 {
   delete my_horse;
 }
 
 MyCanvas::~MyCanvas(void)
 {
   delete my_horse;
+  delete my_square;
 }
 
 void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
 }
 
 void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
@@ -105,24 +110,27 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
   PrepareDC( dc );
 
   dc.DrawText( "Loaded image", 30, 100 );
   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.DrawText( "Drawn directly", 150, 100 );
   dc.SetBrush( wxBrush( "orange", wxSOLID ) );
-  dc.SetPen( *wxTRANSPARENT_PEN );
+  dc.SetPen( *wxWHITE_PEN );
   dc.DrawRectangle( 150, 120, 100, 100 );
   dc.DrawRectangle( 150, 120, 100, 100 );
+  
+  if (my_horse->Ok()) dc.DrawBitmap( *my_horse, 30, 240 );
 }
 
 // MyFrame
 
 }
 
 // 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)
 
 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) :
 END_EVENT_TABLE()
 
 MyFrame::MyFrame(void) :
@@ -138,7 +146,11 @@ MyFrame::MyFrame(void) :
   
   SetMenuBar( menu_bar );
   
   
   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 );
 }
 
   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) 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
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 // MyApp
 //-----------------------------------------------------------------------------