diff dynamin/c/windows_windef.d @ 0:aa4efef0f0b1

Initial commit of code.
author Jordan Miner <jminer7@gmail.com>
date Mon, 15 Jun 2009 22:10:48 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dynamin/c/windows_windef.d	Mon Jun 15 22:10:48 2009 -0500
@@ -0,0 +1,114 @@
+// Written in the D programming language
+// www.digitalmars.com/d/
+
+/*
+ * Translated from MinGW Windows headers as part of the WindowsAPI project:
+ * http://www.dsource.org/projects/bindings/wiki/WindowsApi
+ *
+ * by Stewart Gordon
+ * Placed into public domain
+ */
+
+module dynamin.c.windows_windef;
+
+public import dynamin.c.windows_winnt;
+private import win32.w32api;
+
+const size_t MAX_PATH = 260;
+
+ushort MAKEWORD(ubyte a, ubyte b) {
+	return cast(ushort) ((b << 8) | a);
+}
+
+uint MAKELONG(ushort a, ushort b) {
+	return cast(uint) ((b << 16) | a);
+}
+
+ushort LOWORD(uint l) {
+	return cast(ushort) l;
+}
+
+ushort HIWORD(uint l) {
+	return cast(ushort) (l >>> 16);
+}
+
+ubyte LOBYTE(ushort w) {
+	return cast(ubyte) w;
+}
+
+ubyte HIBYTE(ushort w) {
+	return cast(ubyte) (w >>> 8);
+}
+
+template max(T) {
+	T max(T a, T b) {
+		return a > b ? a : b;
+	}
+}
+
+template min(T) {
+	T min(T a, T b) {
+		return a < b ? a : b;
+	}
+}
+
+alias ubyte   BYTE;
+alias ubyte*  PBYTE, LPBYTE;
+alias ushort  USHORT, WORD, ATOM;
+alias ushort* PUSHORT, PWORD, LPWORD;
+alias uint    ULONG, DWORD, UINT, COLORREF;
+alias uint*   PULONG, PDWORD, LPDWORD, PUINT, LPUINT;
+alias int     WINBOOL, BOOL, INT, LONG, HFILE, HRESULT;
+alias int*    PWINBOOL, LPWINBOOL, PBOOL, LPBOOL, PINT, LPINT, LPLONG;
+alias float   FLOAT;
+alias float*  PFLOAT;
+alias void*   PCVOID, LPCVOID;
+
+alias UINT_PTR WPARAM;
+alias LONG_PTR LPARAM, LRESULT;
+
+alias HANDLE HGLOBAL, HLOCAL, GLOBALHANDLE, LOCALHANDLE, HGDIOBJ, HACCEL,
+  HBITMAP, HBRUSH, HCOLORSPACE, HDC, HGLRC, HDESK, HENHMETAFILE, HFONT,
+  HICON, HINSTANCE, HKEY, HMENU, HMETAFILE, HMODULE, HMONITOR, HPALETTE, HPEN,
+  HRGN, HRSRC, HSTR, HTASK, HWND, HWINSTA, HKL, HCURSOR;
+alias HANDLE* PHKEY;
+
+static if (WINVER >= 0x500) {
+	alias HANDLE HTERMINAL, HWINEVENTHOOK;
+}
+
+alias extern (Windows) int function() FARPROC, NEARPROC, PROC;
+
+struct RECT {
+	LONG left;
+	LONG top;
+	LONG right;
+	LONG bottom;
+}
+alias RECT RECTL;
+alias RECT* PRECT, LPRECT, LPCRECT, PRECTL, LPRECTL, LPCRECTL;
+
+struct POINT {
+	LONG x;
+	LONG y;
+}
+alias POINT POINTL;
+alias POINT* PPOINT, LPPOINT, PPOINTL, LPPOINTL;
+
+struct SIZE {
+	LONG cx;
+	LONG cy;
+}
+alias SIZE SIZEL;
+alias SIZE* PSIZE, LPSIZE, PSIZEL, LPSIZEL;
+
+struct POINTS {
+	SHORT x;
+	SHORT y;
+}
+alias POINTS* PPOINTS, LPPOINTS;
+
+enum : BOOL {
+	FALSE = 0,
+	TRUE  = 1
+}