]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dragimag/dragimag.cpp
corrections to dynamic loading for Darwin
[wxWidgets.git] / samples / dragimag / dragimag.cpp
index 7be138f0c1a92b177aa75afb1ff50af9d8fb1470..7f169d5d1deb8c33e83b2661fc00c12243072fd6 100644 (file)
@@ -36,7 +36,7 @@
 
 #include "dragimag.h"
 
-#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
+#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) || defined(__WXX11__)
 #include "mondrian.xpm"
 #include "dragicon.xpm"
 #endif
@@ -83,7 +83,6 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
     PrepareDC( dc );
 
     DrawShapes(dc);
-
 }
 
 void MyCanvas::OnEraseBackground(wxEraseEvent& event)
@@ -184,14 +183,14 @@ void MyCanvas::OnMouseEvent(wxMouseEvent& event)
                 }
                 case SHAPE_DRAG_TEXT:
                 {
-                    m_dragImage = new wxDragImage("Dragging some test text", wxCursor(wxCURSOR_HAND));
+                    m_dragImage = new wxDragImage(wxString("Dragging some test text"), wxCursor(wxCURSOR_HAND));
                     break;
                 }
                 case SHAPE_DRAG_ICON:
                 {
                     // Can anyone explain why this test is necessary,
                     // to prevent a gcc error?
-#ifdef __WXMOTIF__
+#if defined(__WXMOTIF__) || defined(__WXX11__)
                     wxIcon icon(dragicon_xpm);
 #else
                     wxIcon icon(wxICON(dragicon));
@@ -320,7 +319,6 @@ DragShape* MyCanvas::FindShape(const wxPoint& pt) const
 }
 
 // MyFrame
-
 IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
 
 BEGIN_EVENT_TABLE(MyFrame,wxFrame)
@@ -387,7 +385,6 @@ bool MyApp::OnInit()
         m_background = image.ConvertToBitmap();
     }
 
-
     MyFrame *frame = new MyFrame();
 
     wxString rootName("shape0");
@@ -396,7 +393,10 @@ bool MyApp::OnInit()
     for (i = 1; i < 4; i++)
     {
         wxString filename;
-        filename.Printf("%s%d.png", (const char*) rootName, i);
+        filename.Printf(wxT("%s%d.png"), (const wxChar*)rootName, i);
+       /* For some reason under wxX11, the 2nd LoadFile in this loop fails, with
+          a BadMatch inside CreateFromImage (inside ConvertToBitmap). This happens even if you copy
+          the first file over the second file. */
         if (image.LoadFile(filename, wxBITMAP_TYPE_PNG))
         {
             DragShape* newShape = new DragShape(image.ConvertToBitmap());
@@ -434,6 +434,11 @@ bool MyApp::OnInit()
     return TRUE;
 }
 
+int MyApp::OnExit()
+{
+    return 0;
+}
+
 bool MyApp::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap)
 {
     int w = bitmap.GetWidth();