diff deps/Platinum/ThirdParty/Neptune/Source/System/Win32/NptWin32MessageQueue.h @ 0:3425707ddbf6

Initial import (hopefully this mercurial stuff works...)
author fraserofthenight
date Mon, 06 Jul 2009 08:06:28 -0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deps/Platinum/ThirdParty/Neptune/Source/System/Win32/NptWin32MessageQueue.h	Mon Jul 06 08:06:28 2009 -0700
@@ -0,0 +1,49 @@
+/*****************************************************************
+|
+|      Neptune - Win32 Message Queue
+|
+|      (c) 2001-2008 Gilles Boccon-Gibod
+|      Author: Gilles Boccon-Gibod (bok@bok.net)
+|
+****************************************************************/
+
+#ifndef _NPT_WIN32_MESSAGE_QUEUE_
+#define _NPT_WIN32_MESSAGE_QUEUE_
+
+/*----------------------------------------------------------------------
+|       includes
++---------------------------------------------------------------------*/
+#include <windows.h>
+#include <TCHAR.h>
+#include "NptStrings.h"
+#include "NptMessaging.h"
+#include "NptSimpleMessageQueue.h"
+
+/*----------------------------------------------------------------------
+|       NPT_Win32MessageQueue
++---------------------------------------------------------------------*/
+class NPT_Win32WindowMessageQueue : public NPT_MessageQueue
+{
+public:
+    NPT_Win32WindowMessageQueue();
+    ~NPT_Win32WindowMessageQueue();
+
+    // NPT_MessageQueue methods
+    virtual NPT_Result PumpMessage(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE);
+    virtual NPT_Result QueueMessage(NPT_Message*        message,
+                                    NPT_MessageHandler* handler);
+
+    NPT_Result HandleMessage(NPT_Message* message, NPT_MessageHandler* handler);
+
+private:
+    static LRESULT CALLBACK WindowProcedure(HWND   window, 
+                                            UINT   message,
+                                            WPARAM wparam, 
+                                            LPARAM lparam);
+    HWND        m_WindowHandle;
+    TCHAR       m_ClassName[16];
+    HINSTANCE   m_hInstance;
+};
+
+#endif // _NPT_WIN32_MESSAGE_QUEUE_
+