WXDisplay *GetXDisplay() const;
void SetLastClick(int button, long timestamp)
- { m_lastButton = button; m_lastTS = timestamp; }
+ { m_lastButton = button; m_lastTS = timestamp; }
int GetLastClickedButton() const { return m_lastButton; }
long GetLastClickTime() const { return m_lastTS; }
// arrange status bar, toolbar etc.
virtual bool PreResize();
- // Generates paint events
- void X11SendPaintEvents();
+ // Generates paint events from m_updateRegion
+ void SendPaintEvents();
+
+ // Generates erase events from m_clearRegion
+ void SendEraseEvents();
+
+ // Clip to paint region?
+ bool GetClipPaintRegion() { return m_clipPaintRegion; }
+
+ // Return clear region
+ wxRegion &GetClearRegion() { return m_clearRegion; }
// sets the fore/background colour for the given widget
static void DoChangeForegroundColour(WXWindow widget, wxColour& foregroundColour);
// smaller
virtual wxPoint GetClientAreaOrigin() const;
-protected:
- // event handlers (not virtual by design)
- void OnIdle(wxIdleEvent& event);
+ // I don't want users to override what's done in idle so everything that
+ // has to be done in idle time in order for wxX11 to work is done in
+ // OnInternalIdle
+ virtual void OnInternalIdle();
+
+ // For compatibility across platforms (not in event table)
+ void OnIdle(wxIdleEvent& WXUNUSED(event)) {}
+
+ // Go up to a toplevel window and query which window has the focus.
+ // May return NULL.
+ wxWindow *GetFocusWidget();
+protected:
// 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);
protected:
WXWindow m_mainWidget;
-
wxRegion m_clearRegion;
bool m_clipPaintRegion;
-
bool m_winCaptured; // ????
+ bool m_needsInputFocus; // Input focus set in OnIdle
// implement the base class pure virtuals
virtual void DoClientToScreen( int *x, int *y ) const;
int sizeFlags = wxSIZE_AUTO);
virtual void DoSetClientSize(int width, int height);
virtual void DoMoveWindow(int x, int y, int width, int height);
-
virtual void DoCaptureMouse();
virtual void DoReleaseMouse();
-
+
#if wxUSE_TOOLTIPS
virtual void DoSetToolTip( wxToolTip *tip );
#endif // wxUSE_TOOLTIPS