X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0cbff1201aa47e2b73ec90a97886f18e88270ea6..40f7145ca55ccf1b197e70acf79bbd4aa5d85145:/samples/dragimag/dragimag.cpp?ds=sidebyside diff --git a/samples/dragimag/dragimag.cpp b/samples/dragimag/dragimag.cpp index 43a115629f..aa00bf12f3 100644 --- a/samples/dragimag/dragimag.cpp +++ b/samples/dragimag/dragimag.cpp @@ -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 @@ -101,9 +101,6 @@ void MyCanvas::OnEraseBackground(wxEraseEvent& event) wxClientDC dc(this); wxGetApp().TileBitmap(rect, dc, wxGetApp().GetBackgroundBitmap()); } -#if wxUSE_DC_CACHEING - wxDC::ClearCache(); -#endif } else event.Skip(); // The official way of doing it @@ -186,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)); @@ -281,9 +278,6 @@ void MyCanvas::DrawShapes(wxDC& dc) shape->Draw(dc); node = node->Next(); } -#if wxUSE_DC_CACHEING - wxDC::ClearCache(); -#endif } void MyCanvas::EraseShape(DragShape* shape, wxDC& dc) @@ -385,16 +379,10 @@ bool MyApp::OnInit() wxImage::AddHandler( new wxPNGHandler ); #endif - // The DC cache is an efficiency measure to be used - // when a lot of masked blitting is done -#if wxUSE_DC_CACHEING - wxDC::EnableCache(TRUE); -#endif - wxImage image; if (image.LoadFile("backgrnd.png", wxBITMAP_TYPE_PNG)) { - m_background = image.ConvertToBitmap(); + m_background = wxBitmap(image); } MyFrame *frame = new MyFrame(); @@ -405,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) @@ -445,9 +436,6 @@ bool MyApp::OnInit() int MyApp::OnExit() { -#if wxUSE_DC_CACHEING - wxDC::ClearCache(); -#endif return 0; }