]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/window.h
winundef.h serves for other compilators too with STL turned on.
[wxWidgets.git] / include / wx / msw / window.h
index a4ce110bc61517b06b9fc6b1095a81a203336965..ef21be2ecf777b70d39c18b9c8f1b77f1c62936a 100644 (file)
@@ -174,10 +174,6 @@ public:
 #endif
 
 public:
 #endif
 
 public:
-    // For implementation purposes - sometimes decorations make the client area
-    // smaller
-    virtual wxPoint GetClientAreaOrigin() const;
-
     // Windows subclassing
     void SubclassWin(WXHWND hWnd);
     void UnsubclassWin();
     // Windows subclassing
     void SubclassWin(WXHWND hWnd);
     void UnsubclassWin();
@@ -402,6 +398,16 @@ public:
     // windows via their MSWGetBgBrushForChild() recursively
     WXHBRUSH MSWGetBgBrush(WXHDC hDC);
 
     // windows via their MSWGetBgBrushForChild() recursively
     WXHBRUSH MSWGetBgBrush(WXHDC hDC);
 
+    // overriding this method gives the parent window the opportunity to
+    // process WM_PRINTCLIENT for its children: this is currently used by
+    // wxNotebook to draw themed background for them
+    //
+    // return true if the message was processed or false to use default logic
+    // for it (currently this means handling it just as WM_PAINT i.e. render
+    // the control into the provided DC)
+    virtual bool MSWPrintChild(wxWindow *win, WXWPARAM wParam, WXLPARAM lParam);
+
+
     // Responds to colour changes: passes event on to children.
     void OnSysColourChanged(wxSysColourChangedEvent& event);
 
     // Responds to colour changes: passes event on to children.
     void OnSysColourChanged(wxSysColourChangedEvent& event);
 
@@ -411,6 +417,9 @@ public:
     // check if mouse is in the window
     bool IsMouseInWindow() const;
 
     // check if mouse is in the window
     bool IsMouseInWindow() const;
 
+    // synthesize a wxEVT_LEAVE_WINDOW event and set m_mouseInWindow to false
+    void GenerateMouseLeave();
+
     // virtual function for implementing internal idle
     // behaviour
     virtual void OnInternalIdle() ;
     // virtual function for implementing internal idle
     // behaviour
     virtual void OnInternalIdle() ;
@@ -474,6 +483,11 @@ protected:
     wxKeyEvent CreateKeyEvent(wxEventType evType, int id,
                               WXLPARAM lParam = 0, WXWPARAM wParam = 0) const;
 
     wxKeyEvent CreateKeyEvent(wxEventType evType, int id,
                               WXLPARAM lParam = 0, WXWPARAM wParam = 0) const;
 
+
+    // default OnEraseBackground() implementation, return true if we did erase
+    // the background, false otherwise
+    bool DoEraseBackground(wxDC& dc);
+
 private:
     // common part of all ctors
     void Init();
 private:
     // common part of all ctors
     void Init();
@@ -493,6 +507,10 @@ private:
     // number of calls to Freeze() minus number of calls to Thaw()
     unsigned int m_frozenness;
 
     // number of calls to Freeze() minus number of calls to Thaw()
     unsigned int m_frozenness;
 
+    // current defer window position operation handle (may be NULL)
+    WXHANDLE m_hDWP;
+
+
     DECLARE_DYNAMIC_CLASS(wxWindowMSW)
     DECLARE_NO_COPY_CLASS(wxWindowMSW)
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxWindowMSW)
     DECLARE_NO_COPY_CLASS(wxWindowMSW)
     DECLARE_EVENT_TABLE()