]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/private/overlay.h
moved wxOverlay into overlay.* files and out of dc.h/dcbase.cpp; implemented wxOverla...
[wxWidgets.git] / include / wx / private / overlay.h
diff --git a/include/wx/private/overlay.h b/include/wx/private/overlay.h
new file mode 100644 (file)
index 0000000..4a94116
--- /dev/null
@@ -0,0 +1,68 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/private/overlay.h
+// Purpose:     wxOverlayImpl declaration
+// Author:      Stefan Csomor
+// Modified by:
+// Created:     2006-10-20
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWidgets team
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRIVATE_OVERLAY_H_
+#define _WX_PRIVATE_OVERLAY_H_
+
+#include "wx/overlay.h"
+
+#if wxHAS_NATIVE_OVERLAY
+
+#if defined(__WXMAC__)
+    #include "wx/mac/carbon/private/overlay.h"
+#elif defined(__WXDFB__)
+    #include "wx/dfb/private/overlay.h"
+#else
+    #error "unknown native wxOverlay implementation"
+#endif
+
+#else // !wxHAS_NATIVE_OVERLAY
+
+// generic implementation of wxOverlay
+class wxOverlayImpl
+{
+public:
+    wxOverlayImpl();
+    ~wxOverlayImpl();
+    
+    
+    // clears the overlay without restoring the former state
+    // to be done eg when the window content has been changed and repainted
+    void Reset();
+    
+    // returns true if it has been setup
+    bool IsOk();
+    
+    void Init(wxWindowDC* dc, int x , int y , int width , int height);
+    
+    void BeginDrawing(wxWindowDC* dc);
+    
+    void EndDrawing(wxWindowDC* dc);
+    
+    void Clear(wxWindowDC* dc);
+
+private:
+    wxBitmap m_bmpSaved ;
+    int m_x ;
+    int m_y ;
+    int m_width ;
+    int m_height ;
+// this is to enable wxMOTIF and UNIV to compile....
+// currently (10 oct 06) we don't use m_window
+// ce - how do we fix this
+#if defined(__WXGTK__) || defined(__WXMSW__)
+    wxWindow* m_window ;
+#endif   
+} ;
+
+#endif // wxHAS_NATIVE_OVERLAY/!wxHAS_NATIVE_OVERLAY
+
+#endif // _WX_PRIVATE_OVERLAY_H_