]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/evtloop.h
Use (newly) added wxStaticCastVariantData() to fix wxNO_RTTI build.
[wxWidgets.git] / include / wx / gtk / evtloop.h
index d19cd557c1fd15c7b9315bbc455e771253a5452c..d08356786232838577439ce8d9736ff1e91e6937 100644 (file)
@@ -15,6 +15,8 @@
 // wxGUIEventLoop for wxGTK
 // ----------------------------------------------------------------------------
 
 // wxGUIEventLoop for wxGTK
 // ----------------------------------------------------------------------------
 
+typedef union  _GdkEvent        GdkEvent;
+
 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
 {
 public:
 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase
 {
 public:
@@ -26,11 +28,23 @@ public:
     virtual bool Dispatch();
     virtual int DispatchTimeout(unsigned long timeout);
     virtual void WakeUp();
     virtual bool Dispatch();
     virtual int DispatchTimeout(unsigned long timeout);
     virtual void WakeUp();
+    virtual bool YieldFor(long eventsToProcess);
+
+#if wxUSE_EVENTLOOP_SOURCE
+    virtual wxEventLoopSource *
+      AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags);
+#endif // wxUSE_EVENTLOOP_SOURCE
 
 
-protected:
+    void StoreGdkEventForLaterProcessing(GdkEvent* ev)
+        { m_arrGdkEvents.Add(ev); }
+
+private:
     // the exit code of this event loop
     int m_exitcode;
 
     // the exit code of this event loop
     int m_exitcode;
 
+    // used to temporarily store events in DoYield()
+    wxArrayPtrVoid m_arrGdkEvents;
+
     wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop);
 };
 
     wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop);
 };