]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/evtloop.h
adding clipboard events, fixes #11906
[wxWidgets.git] / include / wx / msw / evtloop.h
index 88ab13492bfe1d0b71b0560908344534ca8a359e..5c89e304bd80b29f3a44677d73b71b2b5ec2ca21 100644 (file)
@@ -13,6 +13,8 @@
 #define _WX_MSW_EVTLOOP_H_
 
 #if wxUSE_GUI
+#include "wx/dynarray.h"
+#include "wx/msw/wrapwin.h"
 #include "wx/window.h"
 #endif
 
@@ -40,6 +42,8 @@ protected:
 
 #if wxUSE_GUI
 
+WX_DECLARE_EXPORTED_OBJARRAY(MSG, wxMSGArray);
+
 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxMSWEventLoopBase
 {
 public:
@@ -72,6 +76,7 @@ public:
     virtual bool Dispatch();
     virtual int DispatchTimeout(unsigned long timeout);
     virtual void WakeUp();
+    virtual bool YieldFor(long eventsToProcess);
 
 protected:
     virtual void OnNextIteration();
@@ -81,6 +86,8 @@ private:
     // non NULL)
     static bool IsChildOfCriticalWindow(wxWindowMSW *win);
 
+    // array of messages used for temporary storage by YieldFor()
+    wxMSGArray m_arrMSG;
 
     // critical window or NULL
     static wxWindowMSW *ms_winCritical;
@@ -99,12 +106,10 @@ public:
     virtual bool Dispatch();
     virtual int DispatchTimeout(unsigned long timeout);
     virtual void WakeUp();
+    virtual bool YieldFor(long WXUNUSED(eventsToProcess)) { return true; }
 
     // MSW-specific function to process a single message
     virtual void ProcessMessage(WXMSG *msg);
-
-protected:
-    virtual void OnNextIteration();
 };
 
 #endif // wxUSE_CONSOLE_EVENTLOOP