diff IO/Mouse.h @ 2502:a77c34acdbc9

Media folder
author Ritor1
date Fri, 19 Sep 2014 05:13:32 +0600
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IO/Mouse.h	Fri Sep 19 05:13:32 2014 +0600
@@ -0,0 +1,150 @@
+#pragma once
+#include "OSWindow.h"
+
+#include "Engine/VectorTypes.h"
+
+
+
+/*  107 */
+#pragma pack(push, 1)
+class ThreadWard
+{
+public:
+  //----- (00438B0B) --------------------------------------------------------
+  inline ThreadWard()
+  {
+    InitializeCriticalSection(&csAsyncMouse);
+    InitializeCriticalSection(&cs2);
+    InitializeCriticalSection(&cs3);
+    InitializeCriticalSection(&csAsyncKeyboard);
+  }
+
+  //----- (00438B54) --------------------------------------------------------
+  virtual ~ThreadWard()
+  {
+  ThreadWard *v1; // esi@1
+
+  v1 = this;
+  //this->vdestructor_ptr = &ThreadWard_destructors;
+  DeleteCriticalSection(&this->csAsyncKeyboard);
+  DeleteCriticalSection(&v1->cs3);
+  DeleteCriticalSection(&v1->cs2);
+  DeleteCriticalSection(&v1->csAsyncMouse);
+  }
+
+  void ( ***vdestructor_ptr)(ThreadWard *, bool);
+  _RTL_CRITICAL_SECTION csAsyncMouse;
+  _RTL_CRITICAL_SECTION cs2;
+  _RTL_CRITICAL_SECTION cs3;
+  _RTL_CRITICAL_SECTION csAsyncKeyboard;
+};
+#pragma pack(pop)
+
+/*  106 */
+#pragma pack(push, 1)
+class Mouse
+{
+public:
+  //----- (00467E4E) --------------------------------------------------------
+  inline Mouse():
+    window(nullptr)
+  {
+    uCursorTextureID = 0;
+    uCursorTextureID_2 = 0;
+    pCursorBitmap_sysmem = nullptr;
+    field_34 = 0;
+    pCursorBitmap2_sysmem = nullptr;
+    pCursorBitmap3_sysmembits_16bit = nullptr;
+    ptr_90 = nullptr;
+    pWard = nullptr;
+    *pCurrentCursorName = NULL;
+    uMouseClickX = 0;
+    uMouseClickY = 0;
+  }
+
+  void GetClickPos(unsigned int *pX, unsigned int *pY);
+  void RemoveHoldingItem();
+  void SetCursorBitmapFromItemID(unsigned int uItemID);
+  void SetCurrentCursorBitmap();
+  void SetCursorBitmap(const char *pName);
+  LONG _469AE4();
+  void ClearCursor();
+  void AllocCursorSystemMem();
+  void *DoAllocCursorMem();
+  POINT *GetCursorPos(POINT *p);
+  void Initialize(OSWindow *window);
+  void SetActive(bool active);
+  void Deactivate();
+  void DrawCursor();
+  void Activate();
+  void _469E24();
+  void DrawCursorToTarget();
+  void ReadCursorWithItem();
+  void ChangeActivation(int a1);
+  void SetMouseClick(int x, int y);
+
+  static void UI_OnMouseLeftClick(int *pXY); // idb
+  static bool UI_OnKeyDown(unsigned int vkKey);
+
+
+  unsigned int uPointingObjectID;
+  unsigned int bActive;
+  int field_8;
+  int field_C;
+  unsigned int bInitialized;
+  unsigned int bRedraw;
+  int field_18;
+  int field_1C;
+  int field_20;
+  unsigned int uCursorTextureID;
+  unsigned int uCursorTextureID_2;
+  //HWND hWnd;
+  OSWindow *window;
+  unsigned __int16 *pCursorBitmap_sysmem;
+  int field_34;
+  unsigned __int8 *pCursorBitmap2_sysmem;
+  unsigned __int16 *pCursorBitmap3_sysmembits_16bit;
+  int uCursorWithItemX;
+  int uCursorWithItemY;
+  int uCursorWithItemW;
+  int uCursorWithItemZ;
+  int field_50;
+  int field_54;
+  int uCursorBitmapPitch;
+  int field_5C[13];
+  void *ptr_90;
+  int field_94;
+  int field_98;
+  int field_9C;
+  int field_A0;
+  int field_A4;
+  int field_A8;
+  int field_AC;
+  int field_B0;
+  int field_B4;
+  int field_B8;
+  int field_BC;
+  int field_C0;
+  Vec2_int_ pCursorBitmapPos;
+  int uCursorBitmapWidth;
+  int uCursorBitmapHeight;
+  int field_D4;
+  int field_D8;
+  int field_DC;
+  int field_E0;
+  Vec4_int_ pCursorBitmapRect;
+  char field_F4;
+  char pCurrentCursorName[11];
+  int field_100;
+  int field_104;
+  unsigned int uMouseClickX;
+  unsigned int uMouseClickY;
+  void/*ThreadWard*/ *pWard;
+};
+#pragma pack(pop)
+
+
+
+
+
+extern Mouse *pMouse;
\ No newline at end of file