diff options
Diffstat (limited to 'Ivy/IvySynchroWnd.h')
-rw-r--r-- | Ivy/IvySynchroWnd.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/Ivy/IvySynchroWnd.h b/Ivy/IvySynchroWnd.h index ffa44ba..b90e2a0 100644 --- a/Ivy/IvySynchroWnd.h +++ b/Ivy/IvySynchroWnd.h @@ -13,7 +13,7 @@ class IvySynchroWnd {
// Construction
public:
- IvySynchroWnd();
+
// Attributes
public:
@@ -21,7 +21,10 @@ public: // Operations
public:
+ static void PostQuit();
void PostIvyCB( IvySynchronousCallback *cb );
+ static void Init(bool synchronous);
+ static void Finish();
// Implementation
public:
@@ -30,8 +33,9 @@ protected: HWND m_hWnd;
protected:
+ IvySynchroWnd();
// Unique instance of this class
- static IvySynchroWnd *m_synchro;
+ static IvySynchroWnd *m_synchro; // for synchronous Windowed
// Generated message map functions
static LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
@@ -49,13 +53,14 @@ protected: LRESULT OnIvyCB(WPARAM wParam, LPARAM lParam);
friend class IvySynchronousMessageCallback;
friend class IvySynchronousApplicationCallback;
+ friend class IvySynchronousBindingCallback;
+ friend class IvySynchronousDieCallback;
};
class IvySynchronousCallback
{
protected:
IvyApplication *app;
- static IvySynchroWnd *m_synchro;
friend class Ivy;
public:
virtual void CallCallback() = 0;
@@ -107,3 +112,18 @@ protected: friend class IvySynchroWnd;
};
+
+class IvySynchronousDieCallback: public IvySynchronousCallback, public IvyDieCallback
+{
+public:
+ IvySynchronousDieCallback( IvyDieCallback *cb );
+ virtual void CallCallback();
+ virtual bool OnDie (IvyApplication *app, int id, const char *arg );
+protected:
+ IvyDieCallback *target;
+
+ int id;
+ const char *arg;
+
+ friend class IvySynchroWnd;
+};
\ No newline at end of file |