]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/private/timer.h
preparation for allowing to use wxTimer in wxBase (heavily modified patch 1113088):
[wxWidgets.git] / include / wx / cocoa / private / timer.h
diff --git a/include/wx/cocoa/private/timer.h b/include/wx/cocoa/private/timer.h
new file mode 100644 (file)
index 0000000..accc239
--- /dev/null
@@ -0,0 +1,43 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/cocoa/private/timer.h
+// Purpose:     Cocoa wxTimer class
+// Author:      Ryan Norton
+// Id:          $Id$
+// Copyright:   (c) Ryan Norton
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COCOA_PRIVATE_TIMER_H_
+#define _WX_COCOA_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
+
+#include "wx/cocoa/ObjcRef.h"
+
+//-----------------------------------------------------------------------------
+// wxTimer
+//-----------------------------------------------------------------------------
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSTimer);
+
+class WXDLLEXPORT wxCocoaTimerImpl : public wxTimerImpl
+{
+public:
+    wxCocoaTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { Init(); }
+    virtual ~wxCocoaTimerImpl();
+
+    virtual bool Start(int millisecs = -1, bool oneShot = false);
+    virtual void Stop();
+
+    virtual bool IsRunning() const;
+
+    WX_NSTimer GetNSTimer() { return m_cocoaNSTimer; }
+
+protected:
+    void Init();
+
+private:
+    WX_NSTimer m_cocoaNSTimer;
+};
+
+#endif // _WX_COCOA_PRIVATE_TIMER_H_