]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/nativewin.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / nativewin.h
index ca663ba4d7a754847d4fcac97bf252cec3e25922..01007fdee67fd3d101dd00954c5bb50602fdaaab 100644 (file)
     typedef HWND wxNativeContainerWindowId;
     typedef HWND wxNativeContainerWindowHandle;
 #elif defined(__WXGTK__)
     typedef HWND wxNativeContainerWindowId;
     typedef HWND wxNativeContainerWindowHandle;
 #elif defined(__WXGTK__)
-    #include <gdk/gdk.h>
-
-    typedef GdkNativeWindow wxNativeContainerWindowId;
+    // GdkNativeWindow is guint32 under GDK/X11 and gpointer under GDK/WIN32
+    #ifdef __UNIX__
+        typedef unsigned long wxNativeContainerWindowId;
+    #else
+        typedef void *wxNativeContainerWindowId;
+    #endif
     typedef GdkWindow *wxNativeContainerWindowHandle;
 #else
     // no support for using native windows under this platform yet
     typedef GdkWindow *wxNativeContainerWindowHandle;
 #else
     // no support for using native windows under this platform yet
@@ -145,8 +148,24 @@ public:
         return false;
     }
 
         return false;
     }
 
+#ifdef __WXMSW__
+    virtual bool IsShown() const;
+#endif // __WXMSW__
+
+    // this is an implementation detail: called when the native window is
+    // destroyed by an outside agency; deletes the C++ object too but can in
+    // principle be overridden to something else (knowing that the window
+    // handle of this object and all of its children is invalid any more)
+    virtual void OnNativeDestroyed();
+
+protected:
+#ifdef __WXMSW__
+    virtual WXLRESULT
+    MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
+#endif // __WXMSW__
+
 private:
 private:
-    DECLARE_NO_COPY_CLASS(wxNativeContainerWindow)
+    wxDECLARE_NO_COPY_CLASS(wxNativeContainerWindow);
 };
 
 #endif // wxHAS_NATIVE_CONTAINER_WINDOW
 };
 
 #endif // wxHAS_NATIVE_CONTAINER_WINDOW