]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/window.h
code using ms_PaintDC changed a little (a couple of asserts added, the behaviour
[wxWidgets.git] / include / wx / msw / window.h
index a0792f8a06857917f54b7d96c2fa154f21fd201d..e18eec3a638b0acb392abcb3412f1841a7f7dbe0 100644 (file)
@@ -25,6 +25,7 @@
 #include "wx/event.h"
 #include "wx/string.h"
 #include "wx/list.h"
+#include "wx/region.h"
 
 #define wxKEY_SHIFT     1
 #define wxKEY_CTRL      2
@@ -202,6 +203,12 @@ public:
   // Accept files for dragging
   virtual void DragAcceptFiles(bool accept);
 
+  // Update region access
+  virtual wxRegion GetUpdateRegion() const;
+  virtual bool IsExposed(int x, int y, int w, int h) const;
+  virtual bool IsExposed(const wxPoint& pt) const;
+  virtual bool IsExposed(const wxRect& rect) const;
+
   // Set/get the window title
   virtual inline void SetTitle(const wxString& WXUNUSED(title)) {};
   inline virtual wxString GetTitle(void) const { return wxString(""); };
@@ -386,16 +393,26 @@ public:
   // Do Update UI processing for controls
   void UpdateWindowUI(void);
 
-  void OnSize(wxSizeEvent& event);
   void OnEraseBackground(wxEraseEvent& event);
   void OnChar(wxKeyEvent& event);
   void OnPaint(wxPaintEvent& event);
   void OnIdle(wxIdleEvent& event);
 
+  // Does this window want to accept keyboard focus?
+  virtual bool AcceptsFocus() const;
+
 public:
   ////////////////////////////////////////////////////////////////////////
   //// IMPLEMENTATION
   
+  // For implementation purposes - sometimes decorations make the client area
+  // smaller
+  virtual wxPoint GetClientAreaOrigin() const;
+
+  // Makes an adjustment to the window position (for example, a frame that has
+  // a toolbar that it manages itself).
+  virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
+
   // Windows subclassing
   void SubclassWin(WXHWND hWnd);
   void UnsubclassWin(void);
@@ -486,6 +503,8 @@ public:
   virtual WXHBRUSH MSWOnCtlColor(WXHDC dc, WXHWND pWnd, WXUINT nCtlColor,
                               WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
   virtual bool MSWOnColorChange(WXHWND hWnd, WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
+  virtual long MSWOnPaletteChanged(WXHWND hWndPalChange);
+  virtual long MSWOnQueryNewPalette();
   virtual bool MSWOnEraseBkgnd(WXHDC pDC);
   virtual void MSWOnMenuHighlight(WXWORD item, WXWORD flags, WXHMENU sysmenu);
   virtual void MSWOnInitMenuPopup(WXHMENU menu, int pos, bool isSystem);
@@ -528,12 +547,15 @@ public:
   virtual void MSWOnJoyMove(int joystick, int x, int y, WXUINT flags);
   virtual void MSWOnJoyZMove(int joystick, int z, WXUINT flags);
 
+  virtual long MSWGetDlgCode();
+
   // Window procedure
   virtual long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
 
   // Calls an appropriate default window procedure
   virtual long MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
   virtual bool MSWProcessMessage(WXMSG* pMsg);
+  virtual bool MSWTranslateMessage(WXMSG* pMsg);
   virtual void MSWDestroyWindow(void);
 
   // Detach "Window" menu from menu bar so it doesn't get deleted
@@ -635,11 +657,16 @@ public:
   WXUINT                m_lastMsg;
   WXWPARAM              m_lastWParam;
   WXLPARAM              m_lastLParam;
+
+  wxRegion              m_updateRegion;
+/*
   wxRectangle           m_updateRect;             // Bounding box for screen damage area
 #ifdef __WIN32__
   WXHRGN                m_updateRgn;                  // NT allows access to the rectangle list
 #endif
-  WXHANDLE              m_acceleratorTable;
+*/
+
+//  WXHANDLE              m_acceleratorTable;
   WXHMENU               m_hMenu; // Menu, if any
   wxList *              m_children;                           // Window's children
   int                   m_returnCode;
@@ -702,6 +729,8 @@ inline bool wxWindow::IsBeingDeleted(void) { return m_isBeingDeleted; }
 // Window specific (so far)
 wxWindow* WXDLLEXPORT wxGetActiveWindow(void);
 
+// OBSOLETE
+#if 0
 // Allows iteration through damaged rectangles in OnPaint
 class WXDLLEXPORT wxUpdateIterator
 {
@@ -724,6 +753,7 @@ class WXDLLEXPORT wxUpdateIterator
   int GetW();
   int GetH();
 };
+#endif
 
 WXDLLEXPORT_DATA(extern wxList) wxTopLevelWindows;