107 lines
2.1 KiB
C
107 lines
2.1 KiB
C
|
/* Additional base types which the THOPS interpreter understands:
|
||
|
HANDLE
|
||
|
HWND
|
||
|
HMENU
|
||
|
HINSTANCE
|
||
|
HICON
|
||
|
HGLOBAL
|
||
|
HDC
|
||
|
HACCEL
|
||
|
HOLEMENU
|
||
|
HTASK
|
||
|
HRESULT
|
||
|
WPARAM
|
||
|
LPARAM
|
||
|
WCHAR
|
||
|
SNB
|
||
|
*/
|
||
|
|
||
|
/* Always compile for Win16 */
|
||
|
#undef WIN32
|
||
|
|
||
|
#define WINAPI
|
||
|
#define FAR
|
||
|
#define CDECL
|
||
|
#define CALLBACK
|
||
|
#define NONAMELESSUNION
|
||
|
#define INITGUID
|
||
|
#define _INC_STRING
|
||
|
#define PASCAL __pascal
|
||
|
|
||
|
#define DECLARE_HANDLE(type)
|
||
|
|
||
|
typedef unsigned char BYTE;
|
||
|
typedef unsigned short WORD;
|
||
|
typedef unsigned long DWORD;
|
||
|
typedef void *LPVOID;
|
||
|
typedef int BOOL;
|
||
|
typedef DWORD *LPDWORD;
|
||
|
typedef WCHAR *LPWSTR;
|
||
|
typedef WCHAR const *LPCWSTR;
|
||
|
typedef void VOID;
|
||
|
typedef unsigned int UINT;
|
||
|
typedef long LONG;
|
||
|
typedef WORD *LPWORD;
|
||
|
typedef char *LPSTR;
|
||
|
typedef char const *LPCSTR;
|
||
|
|
||
|
/* This isn't called point to ensure that there are no legal uses of
|
||
|
POINT in the headers */
|
||
|
typedef struct _INT_POINT
|
||
|
{
|
||
|
int x;
|
||
|
int y;
|
||
|
} INT_POINT;
|
||
|
|
||
|
typedef struct tagRECT
|
||
|
{
|
||
|
int top;
|
||
|
int left;
|
||
|
int right;
|
||
|
int bottom;
|
||
|
} RECT, *LPRECT;
|
||
|
|
||
|
typedef struct tagSIZE
|
||
|
{
|
||
|
int x;
|
||
|
int y;
|
||
|
} SIZE, *LPSIZE;
|
||
|
|
||
|
typedef struct tagMSG
|
||
|
{
|
||
|
HWND hwnd;
|
||
|
UINT message;
|
||
|
WPARAM wParam;
|
||
|
LPARAM lParam;
|
||
|
DWORD time;
|
||
|
INT_POINT pt;
|
||
|
} MSG, *LPMSG;
|
||
|
|
||
|
typedef struct tagPALETTEENTRY
|
||
|
{
|
||
|
BYTE peRed;
|
||
|
BYTE peGreen;
|
||
|
BYTE peBlue;
|
||
|
BYTE peFlags;
|
||
|
} PALETTEENTRY, *LPPALETTEENTRY;
|
||
|
|
||
|
typedef struct tagLOGPALETTE
|
||
|
{
|
||
|
WORD palVersion;
|
||
|
WORD palNumEntries;
|
||
|
PALETTEENTRY palPalEntry[1];
|
||
|
} LOGPALETTE, *LPLOGPALETTE;
|
||
|
|
||
|
/* To compile with this you must first delete this section from
|
||
|
compobj.h */
|
||
|
#define interface class
|
||
|
#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
|
||
|
#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
|
||
|
#define PURE = 0
|
||
|
#define THIS_
|
||
|
#define THIS void
|
||
|
#define DECLARE_INTERFACE(iface) interface iface
|
||
|
#define DECLARE_INTERFACE_(iface, baseiface) interface iface : public baseiface
|
||
|
|
||
|
/* You must also delete the section defining REF* */
|