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
// --------------
virtual GtkWidget* GetConnectWidget();
void ConnectWidget( GtkWidget *widget );
- // Called from several event handlers
- bool GTKCallbackCommonPrologue(struct _GdkEventAny *event) const;
+ // Called from several event handlers, if it returns true or false, the
+ // same value should be immediately returned by the handler without doing
+ // 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
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