]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/window.h
moving rounded rect and ellipse to path class
[wxWidgets.git] / include / wx / gtk / window.h
index 87003b1e6982eb3fbd25434d2fb2f2242efc1a11..9761331c2c9a6ab85f04547697bf57a4f01f2d73 100644 (file)
@@ -113,8 +113,18 @@ public:
     virtual void AddChild( wxWindowBase *child );
     virtual void RemoveChild( wxWindowBase *child );
 
+    virtual void SetLayoutDirection(wxLayoutDirection dir);
+    virtual wxLayoutDirection GetLayoutDirection() const;
+    virtual wxCoord AdjustForLayoutDirection(wxCoord x,
+                                             wxCoord width,
+                                             wxCoord widthTotal) const;
+
+    virtual bool DoIsExposed( int x, int y ) const;
+    virtual bool DoIsExposed( int x, int y, int w, int h ) const;
+
     // currently wxGTK2-only
     void SetDoubleBuffered(bool on);
+    virtual bool IsDoubleBuffered() const;
 
     // implementation
     // --------------
@@ -166,6 +176,16 @@ public:
     // anything else. If it returns -1, the handler should continue as usual
     int GTKCallbackCommonPrologue(struct _GdkEventAny *event) const;
 
+    // override this if some events should never be consumed by wxWidgets but
+    // but have to be left for the native control
+    //
+    // base version just does GetEventHandler()->ProcessEvent()
+    virtual bool GTKProcessEvent(wxEvent& event) const;
+
+    // Map GTK widget direction of the given widget to/from wxLayoutDirection
+    static wxLayoutDirection GTKGetLayout(GtkWidget *widget);
+    static void GTKSetLayout(GtkWidget *widget, wxLayoutDirection dir);
+
 protected:
     // Override GTKWidgetNeedsMnemonic and return true if your
     // needs to set its mnemonic widget, such as for a 
@@ -288,6 +308,7 @@ public:
     bool                 m_hasFocus:1;          // true if == FindFocus()
     bool                 m_isScrolling:1;       // dragging scrollbar thumb?
     bool                 m_clipPaintRegion:1;   // true after ScrollWindow()
+    wxRegion             m_nativeUpdateRegion;  // not transformed for RTL
     bool                 m_dirtyTabOrder:1;     // tab order changed, GTK focus
                                                 // chain needs update
     bool                 m_needsStyleChange:1;  // May not be able to change