]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dragimag/dragimag.h
Turkish translations update from Çağrı Doğan.
[wxWidgets.git] / samples / dragimag / dragimag.h
index cdc1baa9121a35471129cf656adb6132e5f2825b..391495d5a7e12db0bc583b4d788c9e298eb2fcae 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     28/2/2000
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -128,7 +127,7 @@ public:
 //// Operations
 
     bool HitTest(const wxPoint& pt) const;
-    bool Draw(wxDC& dc, int op = wxCOPY);
+    bool Draw(wxDC& dc, bool highlight = false);
 
 //// Accessors
 
@@ -153,5 +152,39 @@ protected:
     bool        m_show;
 };
 
+// MyDragImage
+// A derived class is required since we're overriding UpdateBackingFromWindow,
+// for compatibility with Mac OS X (Core Graphics) which does not support blitting
+// from a window.
+
+class MyDragImage: public wxDragImage
+{
+public:
+    MyDragImage(MyCanvas* canvas): m_canvas(canvas) {}
+
+    MyDragImage(MyCanvas* canvas, const wxBitmap& image, const wxCursor& cursor = wxNullCursor):
+        wxDragImage(image, cursor), m_canvas(canvas)
+    {
+    }
+
+    MyDragImage(MyCanvas* canvas, const wxIcon& image, const wxCursor& cursor = wxNullCursor):
+        wxDragImage(image, cursor), m_canvas(canvas)
+    {
+    }
+
+    MyDragImage(MyCanvas* canvas, const wxString& str, const wxCursor& cursor = wxNullCursor):
+        wxDragImage(str, cursor), m_canvas(canvas)
+    {
+    }
+
+    // On some platforms, notably Mac OS X with Core Graphics, we can't blit from
+    // a window, so we need to draw the background explicitly.
+    virtual bool UpdateBackingFromWindow(wxDC& windowDC, wxMemoryDC& destDC, const wxRect& sourceRect,
+                    const wxRect& destRect) const;
+
+protected:
+    MyCanvas*   m_canvas;
+};
+
 #endif
     // _WX_DRAGIMAGSAMPLE_