]> git.saurik.com Git - wxWidgets.git/commitdiff
added test for bug #38
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 16 Mar 2000 17:57:19 +0000 (17:57 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 16 Mar 2000 17:57:19 +0000 (17:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/image/image.cpp

index 3db24946fa49a06b6a0c636adbba159386fd8872..7898661a03d8dfd90eed8c48c339015a8339b79e 100644 (file)
@@ -68,6 +68,7 @@ public:
     MyFrame();
 
     void OnAbout( wxCommandEvent &event );
+    void OnNewFrame( wxCommandEvent &event );
     void OnQuit( wxCommandEvent &event );
 
     MyCanvas         *m_canvas;
@@ -77,6 +78,30 @@ private:
     DECLARE_EVENT_TABLE()
 };
 
+class MyImageFrame : public wxFrame
+{
+public:
+    MyImageFrame(wxFrame *parent, const wxBitmap& bitmap)
+        : wxFrame(parent, -1, _T("Frame with image"),
+                  wxDefaultPosition, wxDefaultSize,
+                  wxCAPTION),
+          m_bitmap(bitmap)
+    {
+        SetClientSize(bitmap.GetWidth(), bitmap.GetHeight());
+    }
+
+    void OnPaint(wxPaintEvent& WXUNUSED(event))
+    {
+        wxPaintDC dc( this );
+        dc.DrawBitmap( m_bitmap, 0, 0 );
+    }
+
+private:
+    wxBitmap m_bitmap;
+
+    DECLARE_EVENT_TABLE()
+};
+
 // MyApp
 
 class MyApp: public wxApp
@@ -93,6 +118,10 @@ IMPLEMENT_APP(MyApp)
 
 IMPLEMENT_DYNAMIC_CLASS(MyCanvas, wxScrolledWindow)
 
+BEGIN_EVENT_TABLE(MyImageFrame, wxFrame)
+    EVT_PAINT(MyImageFrame::OnPaint)
+END_EVENT_TABLE()
+
 BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
   EVT_PAINT(MyCanvas::OnPaint)
 END_EVENT_TABLE()
@@ -414,12 +443,14 @@ void MyCanvas::CreateAntiAliasedBitmap()
 
 const int ID_QUIT  = 108;
 const int ID_ABOUT = 109;
+const int ID_NEW = 110;
 
 IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
 
 BEGIN_EVENT_TABLE(MyFrame,wxFrame)
   EVT_MENU    (ID_ABOUT, MyFrame::OnAbout)
   EVT_MENU    (ID_QUIT,  MyFrame::OnQuit)
+  EVT_MENU    (ID_NEW,  MyFrame::OnNewFrame)
 END_EVENT_TABLE()
 
 MyFrame::MyFrame()
@@ -427,7 +458,10 @@ MyFrame::MyFrame()
                   wxPoint(20,20), wxSize(470,360) )
 {
   wxMenu *file_menu = new wxMenu();
+  file_menu->Append( ID_NEW, "&New frame");
+  file_menu->AppendSeparator();
   file_menu->Append( ID_ABOUT, "&About...");
+  file_menu->AppendSeparator();
   file_menu->Append( ID_QUIT, "E&xit");
 
   wxMenuBar *menu_bar = new wxMenuBar();
@@ -457,6 +491,11 @@ void MyFrame::OnAbout( wxCommandEvent &WXUNUSED(event) )
                       "About wxImage Demo", wxICON_INFORMATION | wxOK );
 }
 
+void MyFrame::OnNewFrame( wxCommandEvent &WXUNUSED(event) )
+{
+    (new MyImageFrame(this, *m_canvas->my_horse_bmp))->Show();
+}
+
 //-----------------------------------------------------------------------------
 // MyApp
 //-----------------------------------------------------------------------------