]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/window.h
Commit Carsten Fuchs' patch for separating wxGLCanvas
[wxWidgets.git] / include / wx / msw / window.h
index b69eecbabca8d283032702ed20d1063e3c8d17e3..a081beb211025121355d0bb5eb6e97a3dabe3f2e 100644 (file)
@@ -84,7 +84,8 @@ public:
     virtual void Freeze();
     virtual void Thaw();
 
     virtual void Freeze();
     virtual void Thaw();
 
-    virtual void SetWindowStyleFlag( long style );
+    virtual void SetWindowStyleFlag(long style);
+    virtual void SetExtraStyle(long exStyle);
     virtual bool SetCursor( const wxCursor &cursor );
     virtual bool SetFont( const wxFont &font );
 
     virtual bool SetCursor( const wxCursor &cursor );
     virtual bool SetFont( const wxFont &font );
 
@@ -109,6 +110,12 @@ public:
     virtual bool ScrollLines(int lines);
     virtual bool ScrollPages(int pages);
 
     virtual bool ScrollLines(int lines);
     virtual bool ScrollPages(int pages);
 
+    virtual void SetLayoutDirection(wxLayoutDirection dir);
+    virtual wxLayoutDirection GetLayoutDirection() const;
+    virtual wxCoord AdjustForLayoutDirection(wxCoord x,
+                                             wxCoord width,
+                                             wxCoord widthTotal) const;
+
 #if wxUSE_DRAG_AND_DROP
     virtual void SetDropTarget( wxDropTarget *dropTarget );
 #endif // wxUSE_DRAG_AND_DROP
 #if wxUSE_DRAG_AND_DROP
     virtual void SetDropTarget( wxDropTarget *dropTarget );
 #endif // wxUSE_DRAG_AND_DROP
@@ -206,6 +213,11 @@ public:
     WXDWORD MSWGetCreateWindowFlags(WXDWORD *exflags = NULL) const
         { return MSWGetStyle(GetWindowStyle(), exflags); }
 
     WXDWORD MSWGetCreateWindowFlags(WXDWORD *exflags = NULL) const
         { return MSWGetStyle(GetWindowStyle(), exflags); }
 
+    // update the real underlying window style flags to correspond to the
+    // current wxWindow object style (safe to call even if window isn't fully
+    // created yet)
+    void MSWUpdateStyle(long flagsOld, long exflagsOld);
+
     // translate wxWidgets coords into Windows ones suitable to be passed to
     // ::CreateWindow()
     //
     // translate wxWidgets coords into Windows ones suitable to be passed to
     // ::CreateWindow()
     //
@@ -332,11 +344,16 @@ public:
 #ifdef __WIN32__
     int HandleMenuChar(int chAccel, WXLPARAM lParam);
 #endif
 #ifdef __WIN32__
     int HandleMenuChar(int chAccel, WXLPARAM lParam);
 #endif
+    // Create and process a clipboard event specified by type.
+    bool HandleClipboardEvent( WXUINT nMsg );
 
     bool HandleQueryDragIcon(WXHICON *hIcon);
 
     bool HandleSetCursor(WXHWND hWnd, short nHitTest, int mouseMsg);
 
 
     bool HandleQueryDragIcon(WXHICON *hIcon);
 
     bool HandleSetCursor(WXHWND hWnd, short nHitTest, int mouseMsg);
 
+    bool HandlePower(WXWPARAM wParam, WXLPARAM lParam, bool *vetoed);
+
+
     // Window procedure
     virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
 
     // Window procedure
     virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
 
@@ -506,12 +523,14 @@ private:
     // current defer window position operation handle (may be NULL)
     WXHANDLE m_hDWP;
 
     // current defer window position operation handle (may be NULL)
     WXHANDLE m_hDWP;
 
+protected:
     // When deferred positioning is done these hold the pending changes, and
     // are used for the default values if another size/pos changes is done on
     // this window before the group of deferred changes is completed.
     wxPoint     m_pendingPosition;
     wxSize      m_pendingSize;
 
     // When deferred positioning is done these hold the pending changes, and
     // are used for the default values if another size/pos changes is done on
     // this window before the group of deferred changes is completed.
     wxPoint     m_pendingPosition;
     wxSize      m_pendingSize;
 
+private:
 #ifdef __POCKETPC__
     bool        m_contextMenuEnabled;
 #endif
 #ifdef __POCKETPC__
     bool        m_contextMenuEnabled;
 #endif
@@ -539,7 +558,7 @@ inline void wxWindowMSW::SetTransparent(bool WXUNUSED(t)) { }
 
 // kbd code translation
 WXDLLEXPORT int wxCharCodeMSWToWX(int keySym, WXLPARAM lParam = 0);
 
 // kbd code translation
 WXDLLEXPORT int wxCharCodeMSWToWX(int keySym, WXLPARAM lParam = 0);
-WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual);
+WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual = NULL);
 
 // window creation helper class: before creating a new HWND, instantiate an
 // object of this class on stack - this allows to process the messages sent to
 
 // window creation helper class: before creating a new HWND, instantiate an
 // object of this class on stack - this allows to process the messages sent to