]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/window.h
don't return HTCLIENT for static bitmaps, this breaks mouse (leave) event generation
[wxWidgets.git] / include / wx / motif / window.h
index 2e0dbaa1acf96e4e28e901a13918a2459fc7946b..72cddee687c81e6adb25d3684037aa6ab055ab9a 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_WINDOW_H_
 #define _WX_WINDOW_H_
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "window.h"
 #endif
 
@@ -66,7 +66,6 @@ public:
     
     virtual void Refresh( bool eraseBackground = TRUE,
         const wxRect *rect = (const wxRect *) NULL );
-    virtual void Clear();
     
     virtual bool SetBackgroundColour( const wxColour &colour );
     virtual bool SetForegroundColour( const wxColour &colour );
@@ -122,6 +121,7 @@ public:
     virtual WXWidget GetTopWidget() const;
     
     // Get the underlying X window and display
+    WXWindow GetClientXWindow() const;
     WXWindow GetXWindow() const;
     WXDisplay *GetXDisplay() const;
     
@@ -142,15 +142,8 @@ public:
     // (for wxWindowDC and Motif callbacks only)
     // -----------------------------------------
     
-    // read/write access to the update rect list
-    const wxRectList& GetUpdateRects() const { return m_updateRects; }
-    
     // Adds a recangle to the updates list
-    void AddUpdateRect(int x, int y, int w, int h)
-    { m_updateRects.Append(new wxRect(x, y, w, h)); }
-    
-    // Empties the m_updateRects list
-    void ClearUpdateRects();
+    void AddUpdateRect(int x, int y, int w, int h);
     
     void ClearUpdateRegion() { m_updateRegion.Clear(); }
     void SetUpdateRegion(const wxRegion& region) { m_updateRegion = region; }
@@ -158,11 +151,11 @@ public:
     // For implementation purposes - sometimes decorations make the client area
     // smaller
     virtual wxPoint GetClientAreaOrigin() const;
+
+    // Process idle (send update events)
+    void OnInternalIdle();
     
 protected:
-    // event handlers (not virtual by design)
-    void OnIdle(wxIdleEvent& event);
-    
     // Responds to colour changes: passes event on to children.
     void OnSysColourChanged(wxSysColourChangedEvent& event);
     
@@ -189,6 +182,10 @@ protected:
 
     void DoMoveWindowIntr(int x, int y, int width, int height,
                           int flags);
+
+    // helper function, to remove duplicate code, used in wxScrollBar
+    WXWidget DoCreateScrollBar(WXWidget parent, wxOrientation orientation,
+                               void (*callback)());
 public:
     WXPixmap GetBackingPixmap() const { return m_backingPixmap; }
     void SetBackingPixmap(WXPixmap pixmap) { m_backingPixmap = pixmap; }
@@ -214,11 +211,11 @@ protected:
     bool DetachWidget(WXWidget widget);
     
     // How to implement accelerators. If we find a key event, translate to
-    // wxWindows wxKeyEvent form. Find a widget for the window. Now find a
+    // wxWidgets wxKeyEvent form. Find a widget for the window. Now find a
     // wxWindow for the widget. If there isn't one, go up the widget hierarchy
     // trying to find one. Once one is found, call ProcessAccelerator for the
     // window. If it returns TRUE (processed the event), skip the X event,
-    // otherwise carry on up the wxWindows window hierarchy calling
+    // otherwise carry on up the wxWidgets window hierarchy calling
     // ProcessAccelerator. If all return FALSE, process the X event as normal.
     // Eventually we can implement OnCharHook the same way, but concentrate on
     // accelerators for now. ProcessAccelerator must look at the current
@@ -265,9 +262,6 @@ protected:
     long                  m_lastTS;           // last timestamp
     unsigned              m_lastButton:2;     // last pressed button
     
-    // List of wxRects representing damaged region
-    wxRectList m_updateRects;
-    
 protected:
     WXWidget              m_mainWidget;
     WXWidget              m_hScrollBar;