minwin.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #ifndef MINWIN_H
  2. #define MINWIN_H
  3. #define TRUE 1
  4. #define FALSE 0
  5. #include "stddef.h"
  6. #include "stdint.h"
  7. typedef void *HANDLE;
  8. typedef void *HWND;
  9. typedef void *HMENU;
  10. typedef void *HICON;
  11. typedef void *HCURSOR;
  12. typedef void *HBRUSH;
  13. typedef void *HINSTANCE;
  14. typedef void *HGDIOBJ;
  15. typedef void *HGLRC;
  16. typedef void *HMODULE;
  17. typedef void *HDC;
  18. typedef void *LPVOID;
  19. #define DECLARE_HANDLE(name) typedef HANDLE name
  20. typedef uint16_t WORD;
  21. typedef uint16_t ATOM;
  22. typedef int32_t LONG;
  23. typedef size_t SIZE_T;
  24. typedef ssize_t SSIZE_T;
  25. typedef int64_t LONG_PTR;
  26. typedef int64_t LPARAM;
  27. typedef int64_t LRESULT;
  28. typedef uint32_t DWORD;
  29. typedef uint32_t UINT;
  30. typedef int32_t INT;
  31. typedef uint64_t UINT_PTR;
  32. typedef uint64_t WPARAM;
  33. typedef int BOOL;
  34. typedef uint8_t BYTE;
  35. typedef int8_t CHAR;
  36. typedef float FLOAT;
  37. typedef DWORD COLORREF;
  38. typedef DWORD* LPCOLORREF;
  39. typedef int32_t INT32;
  40. typedef int64_t INT64;
  41. typedef unsigned short USHORT;
  42. #define VOID void
  43. #define WINAPI __stdcall
  44. #define CALLBACK __stdcall
  45. #define MAKEINTRESOURCE(x) (LPTSTR)(x)
  46. #define LOWORD(X) (X & 0xff)
  47. #define HIWORD(X) (X >> 16)
  48. typedef LRESULT CALLBACK (*WNDPROC)(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  49. typedef int (WINAPI * FARPROC)();
  50. typedef int (WINAPI * PROC)();
  51. typedef uint16_t WCHAR;
  52. typedef const int8_t *LPCSTR;
  53. typedef const int8_t *LPSTR;
  54. #ifdef UNICODE
  55. typedef const wchar_t *LPCTSTR;
  56. typedef wchar_t *LPTSTR;
  57. #else
  58. typedef const char *LPCTSTR;
  59. typedef char *LPTSTR;
  60. #endif
  61. typedef struct _POINTFLOAT {
  62. FLOAT x;
  63. FLOAT y;
  64. } POINTFLOAT, *LPPOINTFLOAT;
  65. typedef struct _RECT {
  66. LONG left;
  67. LONG top;
  68. LONG right;
  69. LONG bottom;
  70. } RECT, *LPRECT;
  71. typedef struct tagPOINT {
  72. LONG x;
  73. LONG y;
  74. } POINT, *PPOINT;
  75. #endif