X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aa2d25a57aa4ae113e369ea8e08e5da4888e1b66..ab0d42f76d5594bd28fdcad35bedeb380902f3ea:/samples/dragimag/dragimag.cpp?ds=sidebyside diff --git a/samples/dragimag/dragimag.cpp b/samples/dragimag/dragimag.cpp index e803877a1e..aa00bf12f3 100644 --- a/samples/dragimag/dragimag.cpp +++ b/samples/dragimag/dragimag.cpp @@ -36,7 +36,7 @@ #include "dragimag.h" -#if defined(__WXGTK__) || defined(__WXMOTIF__) +#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) @@ -384,10 +382,9 @@ bool MyApp::OnInit() wxImage image; if (image.LoadFile("backgrnd.png", wxBITMAP_TYPE_PNG)) { - m_background = image.ConvertToBitmap(); + m_background = wxBitmap(image); } - MyFrame *frame = new MyFrame(); wxString rootName("shape0"); @@ -396,10 +393,13 @@ 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()); + DragShape* newShape = new DragShape(wxBitmap(image)); newShape->SetPosition(wxPoint(i*50, i*50)); if (i == 2) @@ -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();