changeset 14:e6e201c3a439

Remove ANSI functions from Windows binding and convert inner tabs to spaces in 4 files. Big spacing cleanup in Windows binding.
author Jordan Miner <jminer7@gmail.com>
date Sat, 18 Jul 2009 02:35:24 -0500
parents a3a2aa21fc52
children 96b29f2efa4d
files dynamin/c/windows.d dynamin/c/xlib.d dynamin/gui/file_dialog.d dynamin/gui/scrollable.d
diffstat 4 files changed, 734 insertions(+), 842 deletions(-) [+]
line wrap: on
line diff
--- a/dynamin/c/windows.d	Sat Jul 18 01:45:17 2009 -0500
+++ b/dynamin/c/windows.d	Sat Jul 18 02:35:24 2009 -0500
@@ -15,92 +15,86 @@
 
 extern(Windows):
 
-version = UNICODE;
-alias char*	 LPSTR;
+alias char*  LPSTR;
 alias wchar* LPWSTR;
-alias char*	 LPCSTR;
+alias char*  LPCSTR;
 alias wchar* LPCWSTR;
-version(UNICODE) {
-	alias wchar	  TCHAR;
-	alias LPWSTR  LPTSTR;
-	alias LPCWSTR LPCTSTR;
-} else {
-	alias char	 TCHAR;
-	alias LPSTR	 LPTSTR;
-	alias LPCSTR LPCTSTR;
-}
+// unicode
+alias wchar   TCHAR;
+alias LPWSTR  LPTSTR;
+alias LPCWSTR LPCTSTR;
 
-alias VOID*		HANDLE;
-alias HANDLE	HBITMAP;
-alias HANDLE	HBRUSH;
-alias HANDLE	HICON;
-alias HICON		HCURSOR;
-alias HANDLE	HDC;
-alias HANDLE	HGDIOBJ;
-alias HANDLE	HGLOBAL;
-alias int		HFILE;
-alias HANDLE	HFONT;
-alias HANDLE	HINSTANCE;
-alias HANDLE	HKEY;
-alias HANDLE	HMENU;
+alias VOID*     HANDLE;
+alias HANDLE    HBITMAP;
+alias HANDLE    HBRUSH;
+alias HANDLE    HICON;
+alias HICON     HCURSOR;
+alias HANDLE    HDC;
+alias HANDLE    HGDIOBJ;
+alias HANDLE    HGLOBAL;
+alias int       HFILE;
+alias HANDLE    HFONT;
+alias HANDLE    HINSTANCE;
+alias HANDLE    HKEY;
+alias HANDLE    HMENU;
 alias HINSTANCE HMODULE;
-alias int		HRESULT;
-alias HANDLE	HRGN;
-alias HANDLE	HTHEME;
-alias HANDLE	HWND;
+alias int       HRESULT;
+alias HANDLE    HRGN;
+alias HANDLE    HTHEME;
+alias HANDLE    HWND;
 
 version(Win64) {
-	alias int	HALF_PTR;
-	alias uint	UHALF_PTR;
-	alias long	INT_PTR;
+	alias int   HALF_PTR;
+	alias uint  UHALF_PTR;
+	alias long  INT_PTR;
 	alias ulong UINT_PTR;
-	alias long	LONG_PTR;
+	alias long  LONG_PTR;
 	alias ulong ULONG_PTR;
 } else {
-	alias short	 HALF_PTR;
+	alias short  HALF_PTR;
 	alias ushort UHALF_PTR;
-	alias int	 INT_PTR;
-	alias uint	 UINT_PTR;
-	alias int	 LONG_PTR;
-	alias uint	 ULONG_PTR;
+	alias int    INT_PTR;
+	alias uint   UINT_PTR;
+	alias int    LONG_PTR;
+	alias uint   ULONG_PTR;
 }
 
 alias INT_PTR function() FARPROC;
-alias int		BOOL;
-alias ubyte		BYTE;
-alias char		CHAR;
+alias int       BOOL;
+alias ubyte     BYTE;
+alias char      CHAR;
 alias wchar     WCHAR;
-alias uint		DWORD;
-alias ulong		DWORDLONG;
-alias uint		DWORD32;
-alias ulong		DWORD64;
-alias float		FLOAT;
-alias int		INT;
-alias int		INT32;
-alias long		INT64;
-alias int		LONG;
-alias int		LONG32;
-alias long		LONG64;
-alias UINT_PTR	WPARAM;
-alias LONG_PTR	LPARAM;
-alias LONG_PTR	LRESULT;
-alias char		UCHAR;
-alias uint		UINT;
-alias uint		UINT32;
-alias ulong		UINT64;
-alias uint		ULONG;
-alias uint		ULONG32;
-alias ulong		ULONG64;
-alias short		SHORT;
-alias ushort	USHORT;
-alias void		VOID;
-alias ushort	WORD;
-alias WORD		ATOM;
+alias uint      DWORD;
+alias ulong     DWORDLONG;
+alias uint      DWORD32;
+alias ulong     DWORD64;
+alias float     FLOAT;
+alias int       INT;
+alias int       INT32;
+alias long      INT64;
+alias int       LONG;
+alias int       LONG32;
+alias long      LONG64;
+alias UINT_PTR  WPARAM;
+alias LONG_PTR  LPARAM;
+alias LONG_PTR  LRESULT;
+alias char      UCHAR;
+alias uint      UINT;
+alias uint      UINT32;
+alias ulong     UINT64;
+alias uint      ULONG;
+alias uint      ULONG32;
+alias ulong     ULONG64;
+alias short     SHORT;
+alias ushort    USHORT;
+alias void      VOID;
+alias ushort    WORD;
+alias WORD      ATOM;
 alias ULONG_PTR SIZE_T;
-alias DWORD		COLORREF;
+alias DWORD     COLORREF;
 alias LONG      NTSTATUS;
 
-const HRESULT S_OK	  = 0;
+const HRESULT S_OK    = 0;
 const HRESULT S_FALSE = 1;
 const HRESULT NOERROR = 0;
 
@@ -122,7 +116,6 @@
 BYTE GetGValue(DWORD rgb) { return LOBYTE(cast(WORD)rgb >> 8); }
 BYTE GetBValue(DWORD rgb) { return LOBYTE(rgb >> 16); }
 
-int MessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);
 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType);
 
 DWORD GetLastError();
@@ -157,7 +150,7 @@
 SIZE_T HeapSize(HANDLE hHeap, DWORD dwFlags, /*const*/ VOID* lpMem);
 
 enum {
-	HEAP_ZERO_MEMORY = 0x0008,
+	HEAP_ZERO_MEMORY           = 0x0008,
 	HEAP_REALLOC_IN_PLACE_ONLY = 0x0010
 }
 
@@ -172,105 +165,91 @@
 BOOL GlobalUnlock(HGLOBAL hMem);
 
 enum {
-	GMEM_FIXED = 0x0000,
+	GMEM_FIXED    = 0x0000,
 	GMEM_MOVEABLE = 0x0002,
 	GMEM_ZEROINIT = 0x0040,
-	GPTR = 0x0040,
-	GHND = 0x0042
+	GPTR          = 0x0040,
+	GHND          = 0x0042
 }
 //}}}
 
 //{{{ window functions
 enum {
-	CS_VREDRAW =	 0x0001,
-	CS_HREDRAW =	 0x0002,
-	CS_DBLCLKS =	 0x0008,
-	CS_OWNDC =		 0x0020,
-	CS_CLASSDC =	 0x0040,
-	CS_PARENTDC =	 0x0080,
-	CS_NOCLOSE =	 0x0200,
-	CS_SAVEBITS =	 0x0800,
+	CS_VREDRAW         = 0x0001,
+	CS_HREDRAW         = 0x0002,
+	CS_DBLCLKS         = 0x0008,
+	CS_OWNDC           = 0x0020,
+	CS_CLASSDC         = 0x0040,
+	CS_PARENTDC        = 0x0080,
+	CS_NOCLOSE         = 0x0200,
+	CS_SAVEBITS        = 0x0800,
 	CS_BYTEALIGNCLIENT = 0x1000,
 	CS_BYTEALIGNWINDOW = 0x2000,
-	CS_GLOBALCLASS = 0x4000,
+	CS_GLOBALCLASS     = 0x4000,
 	//Windows XP required
-	CS_DROPSHADOW =	 0x00020000
+	CS_DROPSHADOW      = 0x00020000
 
 }
-ATOM RegisterClassExA(/*const*/ WNDCLASSEX* lpwcx);
 ATOM RegisterClassExW(/*const*/ WNDCLASSEX* lpwcx);
 
 LRESULT DefWindowProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
 //{{{ window styles
 enum {
-	WS_OVERLAPPED =	  0x00000000,
-	WS_MAXIMIZEBOX =  0x00010000,
-	WS_TABSTOP =	  0x00010000,
-	WS_GROUP =		  0x00020000,
-	WS_MINIMIZEBOX =  0x00020000,
-	WS_THICKFRAME =	  0x00040000,
-	WS_SYSMENU =	  0x00080000,
-	WS_HSCROLL =	  0x00100000,
-	WS_VSCROLL =	  0x00200000,
-	WS_DLGFRAME =	  0x00400000,
-	WS_BORDER =		  0x00800000,
-	WS_CAPTION =	  0x00C00000,
-	WS_MAXIMIZE =	  0x01000000,
+	WS_OVERLAPPED   = 0x00000000,
+	WS_MAXIMIZEBOX  = 0x00010000,
+	WS_TABSTOP      = 0x00010000,
+	WS_GROUP        = 0x00020000,
+	WS_MINIMIZEBOX  = 0x00020000,
+	WS_THICKFRAME   = 0x00040000,
+	WS_SYSMENU      = 0x00080000,
+	WS_HSCROLL      = 0x00100000,
+	WS_VSCROLL      = 0x00200000,
+	WS_DLGFRAME     = 0x00400000,
+	WS_BORDER       = 0x00800000,
+	WS_CAPTION      = 0x00C00000,
+	WS_MAXIMIZE     = 0x01000000,
 	WS_CLIPCHILDREN = 0x02000000,
 	WS_CLIPSIBLINGS = 0x04000000,
-	WS_DISABLED =	  0x08000000,
-	WS_VISIBLE =	  0x10000000,
-	WS_MINIMIZE =	  0x20000000,
-	WS_CHILD =		  0x40000000,
-	WS_POPUP =		  0x80000000,
+	WS_DISABLED     = 0x08000000,
+	WS_VISIBLE      = 0x10000000,
+	WS_MINIMIZE     = 0x20000000,
+	WS_CHILD        = 0x40000000,
+	WS_POPUP        = 0x80000000,
 	WS_OVERLAPPEDWINDOW = WS_OVERLAPPED |
-						  WS_CAPTION |
-						  WS_SYSMENU |
-						  WS_THICKFRAME |
-						  WS_MINIMIZEBOX |
-						  WS_MAXIMIZEBOX,
-	WS_POPUPWINDOW =  WS_POPUP |
-					  WS_BORDER |
-					  WS_SYSMENU,
-	WS_CHILDWINDOW =  WS_CHILD,
-	WS_TILED =		  WS_OVERLAPPED,
-	WS_ICONIC =		  WS_MINIMIZE,
-	WS_SIZEBOX =	  WS_THICKFRAME,
-	WS_TILEDWINDOW =  WS_OVERLAPPEDWINDOW
+	                      WS_CAPTION |
+	                      WS_SYSMENU |
+	                      WS_THICKFRAME |
+	                      WS_MINIMIZEBOX |
+	                      WS_MAXIMIZEBOX,
+	WS_POPUPWINDOW  = WS_POPUP |
+	                  WS_BORDER |
+	                  WS_SYSMENU,
+	WS_CHILDWINDOW  = WS_CHILD,
+	WS_TILED        = WS_OVERLAPPED,
+	WS_ICONIC       = WS_MINIMIZE,
+	WS_SIZEBOX      = WS_THICKFRAME,
+	WS_TILEDWINDOW  = WS_OVERLAPPEDWINDOW
 }
 //}}}
 
 //{{{ extended window styles
 enum {
-	WS_EX_DLGMODALFRAME =	 0x00000001,
-	WS_EX_TOPMOST =			 0x00000008,
-	WS_EX_TOOLWINDOW =		 0x00000080,
-	WS_EX_WINDOWEDGE =		 0x00000100,
-	WS_EX_CLIENTEDGE =		 0x00000200,
-	WS_EX_CONTROLPARENT =	 0x00010000,
-	WS_EX_STATICEDGE =		 0x00020000,
-	WS_EX_APPWINDOW =		 0x00040000,
-	WS_EX_LAYERED =			 0x00080000,
+	WS_EX_DLGMODALFRAME    = 0x00000001,
+	WS_EX_TOPMOST          = 0x00000008,
+	WS_EX_TOOLWINDOW       = 0x00000080,
+	WS_EX_WINDOWEDGE       = 0x00000100,
+	WS_EX_CLIENTEDGE       = 0x00000200,
+	WS_EX_CONTROLPARENT    = 0x00010000,
+	WS_EX_STATICEDGE       = 0x00020000,
+	WS_EX_APPWINDOW        = 0x00040000,
+	WS_EX_LAYERED          = 0x00080000,
 	WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
-	WS_EX_COMPOSITED =		 0x02000000
+	WS_EX_COMPOSITED       = 0x02000000
 }
 //}}}
 
 //{{{ CreateWindowEx()
-HWND CreateWindowExA(
-	DWORD dwExStyle,
-	LPCSTR lpClassName,
-	LPCSTR lpWindowName,
-	DWORD dwStyle,
-	int x,
-	int y,
-	int nWidth,
-	int nHeight,
-	HWND hWndParent,
-	HMENU hMenu,
-	HINSTANCE hInstance,
-	VOID* lpParam);
 HWND CreateWindowExW(
 	DWORD dwExStyle,
 	LPCWSTR lpClassName,
@@ -294,222 +273,222 @@
 
 //{{{ messages
 enum {
-	WM_NULL					  = 0x0000,
-	WM_CREATE				  = 0x0001,
-	WM_DESTROY				  = 0x0002,
-	WM_MOVE					  = 0x0003,
-	WM_SIZE					  = 0x0005,
-	WM_ACTIVATE				  = 0x0006,
-	WM_SETFOCUS				  = 0x0007,
-	WM_KILLFOCUS			  = 0x0008,
-	WM_ENABLE				  = 0x000A,
-	WM_SETREDRAW			  = 0x000B,
-	WM_SETTEXT				  = 0x000C,
-	WM_GETTEXT				  = 0x000D,
-	WM_GETTEXTLENGTH		  = 0x000E,
-	WM_PAINT				  = 0x000F,
-	WM_CLOSE				  = 0x0010,
-	WM_QUERYENDSESSION		  = 0x0011,
-	WM_QUERYOPEN			  = 0x0013,
-	WM_ENDSESSION			  = 0x0016,
-	WM_QUIT					  = 0x0012,
-	WM_ERASEBKGND			  = 0x0014,
-	WM_SYSCOLORCHANGE		  = 0x0015,
-	WM_SHOWWINDOW			  = 0x0018,
-	WM_WININICHANGE			  = 0x001A,
-	WM_SETTINGCHANGE		  = WM_WININICHANGE,
-	WM_DEVMODECHANGE		  = 0x001B,
-	WM_ACTIVATEAPP			  = 0x001C,
-	WM_FONTCHANGE			  = 0x001D,
-	WM_TIMECHANGE			  = 0x001E,
-	WM_CANCELMODE			  = 0x001F,
-	WM_SETCURSOR			  = 0x0020,
-	WM_MOUSEACTIVATE		  = 0x0021,
-	WM_CHILDACTIVATE		  = 0x0022,
-	WM_QUEUESYNC			  = 0x0023,
-	WM_GETMINMAXINFO		  = 0x0024,
-	WM_PAINTICON			  = 0x0026,
-	WM_ICONERASEBKGND		  = 0x0027,
-	WM_NEXTDLGCTL			  = 0x0028,
-	WM_SPOOLERSTATUS		  = 0x002A,
-	WM_DRAWITEM				  = 0x002B,
-	WM_MEASUREITEM			  = 0x002C,
-	WM_DELETEITEM			  = 0x002D,
-	WM_VKEYTOITEM			  = 0x002E,
-	WM_CHARTOITEM			  = 0x002F,
-	WM_SETFONT				  = 0x0030,
-	WM_GETFONT				  = 0x0031,
-	WM_SETHOTKEY			  = 0x0032,
-	WM_GETHOTKEY			  = 0x0033,
-	WM_QUERYDRAGICON		  = 0x0037,
-	WM_COMPAREITEM			  = 0x0039,
-	WM_GETOBJECT			  = 0x003D,
-	WM_COMPACTING			  = 0x0041,
-	WM_WINDOWPOSCHANGING	  = 0x0046,
-	WM_WINDOWPOSCHANGED		  = 0x0047,
-	WM_POWER				  = 0x0048,
-	WM_COPYDATA				  = 0x004A,
-	WM_CANCELJOURNAL		  = 0x004B,
-	WM_NOTIFY				  = 0x004E,
+	WM_NULL                   = 0x0000,
+	WM_CREATE                 = 0x0001,
+	WM_DESTROY                = 0x0002,
+	WM_MOVE                   = 0x0003,
+	WM_SIZE                   = 0x0005,
+	WM_ACTIVATE               = 0x0006,
+	WM_SETFOCUS               = 0x0007,
+	WM_KILLFOCUS              = 0x0008,
+	WM_ENABLE                 = 0x000A,
+	WM_SETREDRAW              = 0x000B,
+	WM_SETTEXT                = 0x000C,
+	WM_GETTEXT                = 0x000D,
+	WM_GETTEXTLENGTH          = 0x000E,
+	WM_PAINT                  = 0x000F,
+	WM_CLOSE                  = 0x0010,
+	WM_QUERYENDSESSION        = 0x0011,
+	WM_QUERYOPEN              = 0x0013,
+	WM_ENDSESSION             = 0x0016,
+	WM_QUIT                   = 0x0012,
+	WM_ERASEBKGND             = 0x0014,
+	WM_SYSCOLORCHANGE         = 0x0015,
+	WM_SHOWWINDOW             = 0x0018,
+	WM_WININICHANGE           = 0x001A,
+	WM_SETTINGCHANGE          = WM_WININICHANGE,
+	WM_DEVMODECHANGE          = 0x001B,
+	WM_ACTIVATEAPP            = 0x001C,
+	WM_FONTCHANGE             = 0x001D,
+	WM_TIMECHANGE             = 0x001E,
+	WM_CANCELMODE             = 0x001F,
+	WM_SETCURSOR              = 0x0020,
+	WM_MOUSEACTIVATE          = 0x0021,
+	WM_CHILDACTIVATE          = 0x0022,
+	WM_QUEUESYNC              = 0x0023,
+	WM_GETMINMAXINFO          = 0x0024,
+	WM_PAINTICON              = 0x0026,
+	WM_ICONERASEBKGND         = 0x0027,
+	WM_NEXTDLGCTL             = 0x0028,
+	WM_SPOOLERSTATUS          = 0x002A,
+	WM_DRAWITEM               = 0x002B,
+	WM_MEASUREITEM            = 0x002C,
+	WM_DELETEITEM             = 0x002D,
+	WM_VKEYTOITEM             = 0x002E,
+	WM_CHARTOITEM             = 0x002F,
+	WM_SETFONT                = 0x0030,
+	WM_GETFONT                = 0x0031,
+	WM_SETHOTKEY              = 0x0032,
+	WM_GETHOTKEY              = 0x0033,
+	WM_QUERYDRAGICON          = 0x0037,
+	WM_COMPAREITEM            = 0x0039,
+	WM_GETOBJECT              = 0x003D,
+	WM_COMPACTING             = 0x0041,
+	WM_WINDOWPOSCHANGING      = 0x0046,
+	WM_WINDOWPOSCHANGED       = 0x0047,
+	WM_POWER                  = 0x0048,
+	WM_COPYDATA               = 0x004A,
+	WM_CANCELJOURNAL          = 0x004B,
+	WM_NOTIFY                 = 0x004E,
 	WM_INPUTLANGCHANGEREQUEST = 0x0050,
-	WM_INPUTLANGCHANGE		  = 0x0051,
-	WM_TCARD				  = 0x0052,
-	WM_HELP					  = 0x0053,
-	WM_USERCHANGED			  = 0x0054,
-	WM_NOTIFYFORMAT			  = 0x0055,
-	WM_CONTEXTMENU			  = 0x007B,
-	WM_STYLECHANGING		  = 0x007C,
-	WM_STYLECHANGED			  = 0x007D,
-	WM_DISPLAYCHANGE		  = 0x007E,
-	WM_GETICON				  = 0x007F,
-	WM_SETICON				  = 0x0080,
-	WM_NCCREATE				  = 0x0081,
-	WM_NCDESTROY			  = 0x0082,
-	WM_NCCALCSIZE			  = 0x0083,
-	WM_NCHITTEST			  = 0x0084,
-	WM_NCPAINT				  = 0x0085,
-	WM_NCACTIVATE			  = 0x0086,
-	WM_GETDLGCODE			  = 0x0087,
-	WM_SYNCPAINT			  = 0x0088,
-	WM_NCMOUSEMOVE			  = 0x00A0,
-	WM_NCLBUTTONDOWN		  = 0x00A1,
-	WM_NCLBUTTONUP			  = 0x00A2,
-	WM_NCLBUTTONDBLCLK		  = 0x00A3,
-	WM_NCRBUTTONDOWN		  = 0x00A4,
-	WM_NCRBUTTONUP			  = 0x00A5,
-	WM_NCRBUTTONDBLCLK		  = 0x00A6,
-	WM_NCMBUTTONDOWN		  = 0x00A7,
-	WM_NCMBUTTONUP			  = 0x00A8,
-	WM_NCMBUTTONDBLCLK		  = 0x00A9,
-	WM_NCXBUTTONDOWN		  = 0x00AB,
-	WM_NCXBUTTONUP			  = 0x00AC,
-	WM_NCXBUTTONDBLCLK		  = 0x00AD,
-	WM_INPUT				  = 0x00FF,
-	WM_KEYDOWN				  = 0x0100,
-	WM_KEYUP				  = 0x0101,
-	WM_CHAR					  = 0x0102,
-	WM_DEADCHAR				  = 0x0103,
-	WM_SYSKEYDOWN			  = 0x0104,
-	WM_SYSKEYUP				  = 0x0105,
-	WM_SYSCHAR				  = 0x0106,
-	WM_SYSDEADCHAR			  = 0x0107,
-	WM_UNICHAR				  = 0x0109,
-	WM_IME_STARTCOMPOSITION	  = 0x010D,
-	WM_IME_ENDCOMPOSITION	  = 0x010E,
-	WM_IME_COMPOSITION		  = 0x010F,
-	WM_IME_KEYLAST			  = 0x010F,
-	WM_INITDIALOG			  = 0x0110,
-	WM_COMMAND				  = 0x0111,
-	WM_SYSCOMMAND			  = 0x0112,
-	WM_TIMER				  = 0x0113,
-	WM_HSCROLL				  = 0x0114,
-	WM_VSCROLL				  = 0x0115,
-	WM_INITMENU				  = 0x0116,
-	WM_INITMENUPOPUP		  = 0x0117,
-	WM_MENUSELECT			  = 0x011F,
-	WM_MENUCHAR				  = 0x0120,
-	WM_ENTERIDLE			  = 0x0121,
-	WM_MENURBUTTONUP		  = 0x0122,
-	WM_MENUDRAG				  = 0x0123,
-	WM_MENUGETOBJECT		  = 0x0124,
-	WM_UNINITMENUPOPUP		  = 0x0125,
-	WM_MENUCOMMAND			  = 0x0126,
-	WM_CHANGEUISTATE		  = 0x0127,
-	WM_UPDATEUISTATE		  = 0x0128,
-	WM_QUERYUISTATE			  = 0x0129,
-	WM_CTLCOLORMSGBOX		  = 0x0132,
-	WM_CTLCOLOREDIT			  = 0x0133,
-	WM_CTLCOLORLISTBOX		  = 0x0134,
-	WM_CTLCOLORBTN			  = 0x0135,
-	WM_CTLCOLORDLG			  = 0x0136,
-	WM_CTLCOLORSCROLLBAR	  = 0x0137,
-	WM_CTLCOLORSTATIC		  = 0x0138,
-	WM_MOUSEFIRST			  = 0x0200,
-	WM_MOUSEMOVE			  = 0x0200,
-	WM_LBUTTONDOWN			  = 0x0201,
-	WM_LBUTTONUP			  = 0x0202,
-	WM_LBUTTONDBLCLK		  = 0x0203,
-	WM_RBUTTONDOWN			  = 0x0204,
-	WM_RBUTTONUP			  = 0x0205,
-	WM_RBUTTONDBLCLK		  = 0x0206,
-	WM_MBUTTONDOWN			  = 0x0207,
-	WM_MBUTTONUP			  = 0x0208,
-	WM_MBUTTONDBLCLK		  = 0x0209,
-	WM_MOUSEWHEEL			  = 0x020A,
-	WM_XBUTTONDOWN			  = 0x020B,
-	WM_XBUTTONUP			  = 0x020C,
-	WM_XBUTTONDBLCLK		  = 0x020D,
-	WM_PARENTNOTIFY			  = 0x0210,
-	WM_ENTERMENULOOP		  = 0x0211,
-	WM_EXITMENULOOP			  = 0x0212,
-	WM_NEXTMENU				  = 0x0213,
-	WM_SIZING				  = 0x0214,
-	WM_CAPTURECHANGED		  = 0x0215,
-	WM_MOVING				  = 0x0216,
-	WM_POWERBROADCAST		  = 0x0218,
-	WM_DEVICECHANGE			  = 0x0219,
-	WM_MDICREATE			  = 0x0220,
-	WM_MDIDESTROY			  = 0x0221,
-	WM_MDIACTIVATE			  = 0x0222,
-	WM_MDIRESTORE			  = 0x0223,
-	WM_MDINEXT				  = 0x0224,
-	WM_MDIMAXIMIZE			  = 0x0225,
-	WM_MDITILE				  = 0x0226,
-	WM_MDICASCADE			  = 0x0227,
-	WM_MDIICONARRANGE		  = 0x0228,
-	WM_MDIGETACTIVE			  = 0x0229,
-	WM_MDISETMENU			  = 0x0230,
-	WM_ENTERSIZEMOVE		  = 0x0231,
-	WM_EXITSIZEMOVE			  = 0x0232,
-	WM_DROPFILES			  = 0x0233,
-	WM_MDIREFRESHMENU		  = 0x0234,
-	WM_IME_SETCONTEXT		  = 0x0281,
-	WM_IME_NOTIFY			  = 0x0282,
-	WM_IME_CONTROL			  = 0x0283,
-	WM_IME_COMPOSITIONFULL	  = 0x0284,
-	WM_IME_SELECT			  = 0x0285,
-	WM_IME_CHAR				  = 0x0286,
-	WM_IME_REQUEST			  = 0x0288,
-	WM_IME_KEYDOWN			  = 0x0290,
-	WM_IME_KEYUP			  = 0x0291,
-	WM_MOUSEHOVER			  = 0x02A1,
-	WM_MOUSELEAVE			  = 0x02A3,
-	WM_NCMOUSEHOVER			  = 0x02A0,
-	WM_NCMOUSELEAVE			  = 0x02A2,
-	WM_WTSSESSION_CHANGE	  = 0x02B1,
-	WM_TABLET_FIRST			  = 0x02C0,
-	WM_TABLET_LAST			  = 0x02DF,
-	WM_CUT					  = 0x0300,
-	WM_COPY					  = 0x0301,
-	WM_PASTE				  = 0x0302,
-	WM_CLEAR				  = 0x0303,
-	WM_UNDO					  = 0x0304,
-	WM_RENDERFORMAT			  = 0x0305,
-	WM_RENDERALLFORMATS		  = 0x0306,
-	WM_DESTROYCLIPBOARD		  = 0x0307,
-	WM_DRAWCLIPBOARD		  = 0x0308,
-	WM_PAINTCLIPBOARD		  = 0x0309,
-	WM_VSCROLLCLIPBOARD		  = 0x030A,
-	WM_SIZECLIPBOARD		  = 0x030B,
-	WM_ASKCBFORMATNAME		  = 0x030C,
-	WM_CHANGECBCHAIN		  = 0x030D,
-	WM_HSCROLLCLIPBOARD		  = 0x030E,
-	WM_QUERYNEWPALETTE		  = 0x030F,
-	WM_PALETTEISCHANGING	  = 0x0310,
-	WM_PALETTECHANGED		  = 0x0311,
-	WM_HOTKEY				  = 0x0312,
-	WM_PRINT				  = 0x0317,
-	WM_PRINTCLIENT			  = 0x0318,
-	WM_APPCOMMAND			  = 0x0319,
-	WM_THEMECHANGED			  = 0x031A,
-	WM_HANDHELDFIRST		  = 0x0358,
-	WM_HANDHELDLAST			  = 0x035F,
-	WM_AFXFIRST				  = 0x0360,
-	WM_AFXLAST				  = 0x037F,
-	WM_PENWINFIRST			  = 0x0380,
-	WM_PENWINLAST			  = 0x038F,
-	WM_APP					  = 0x8000,
-	WM_USER					  = 0x0400
+	WM_INPUTLANGCHANGE        = 0x0051,
+	WM_TCARD                  = 0x0052,
+	WM_HELP                   = 0x0053,
+	WM_USERCHANGED            = 0x0054,
+	WM_NOTIFYFORMAT           = 0x0055,
+	WM_CONTEXTMENU            = 0x007B,
+	WM_STYLECHANGING          = 0x007C,
+	WM_STYLECHANGED           = 0x007D,
+	WM_DISPLAYCHANGE          = 0x007E,
+	WM_GETICON                = 0x007F,
+	WM_SETICON                = 0x0080,
+	WM_NCCREATE               = 0x0081,
+	WM_NCDESTROY              = 0x0082,
+	WM_NCCALCSIZE             = 0x0083,
+	WM_NCHITTEST              = 0x0084,
+	WM_NCPAINT                = 0x0085,
+	WM_NCACTIVATE             = 0x0086,
+	WM_GETDLGCODE             = 0x0087,
+	WM_SYNCPAINT              = 0x0088,
+	WM_NCMOUSEMOVE            = 0x00A0,
+	WM_NCLBUTTONDOWN          = 0x00A1,
+	WM_NCLBUTTONUP            = 0x00A2,
+	WM_NCLBUTTONDBLCLK        = 0x00A3,
+	WM_NCRBUTTONDOWN          = 0x00A4,
+	WM_NCRBUTTONUP            = 0x00A5,
+	WM_NCRBUTTONDBLCLK        = 0x00A6,
+	WM_NCMBUTTONDOWN          = 0x00A7,
+	WM_NCMBUTTONUP            = 0x00A8,
+	WM_NCMBUTTONDBLCLK        = 0x00A9,
+	WM_NCXBUTTONDOWN          = 0x00AB,
+	WM_NCXBUTTONUP            = 0x00AC,
+	WM_NCXBUTTONDBLCLK        = 0x00AD,
+	WM_INPUT                  = 0x00FF,
+	WM_KEYDOWN                = 0x0100,
+	WM_KEYUP                  = 0x0101,
+	WM_CHAR                   = 0x0102,
+	WM_DEADCHAR               = 0x0103,
+	WM_SYSKEYDOWN             = 0x0104,
+	WM_SYSKEYUP               = 0x0105,
+	WM_SYSCHAR                = 0x0106,
+	WM_SYSDEADCHAR            = 0x0107,
+	WM_UNICHAR                = 0x0109,
+	WM_IME_STARTCOMPOSITION   = 0x010D,
+	WM_IME_ENDCOMPOSITION     = 0x010E,
+	WM_IME_COMPOSITION        = 0x010F,
+	WM_IME_KEYLAST            = 0x010F,
+	WM_INITDIALOG             = 0x0110,
+	WM_COMMAND                = 0x0111,
+	WM_SYSCOMMAND             = 0x0112,
+	WM_TIMER                  = 0x0113,
+	WM_HSCROLL                = 0x0114,
+	WM_VSCROLL                = 0x0115,
+	WM_INITMENU               = 0x0116,
+	WM_INITMENUPOPUP          = 0x0117,
+	WM_MENUSELECT             = 0x011F,
+	WM_MENUCHAR               = 0x0120,
+	WM_ENTERIDLE              = 0x0121,
+	WM_MENURBUTTONUP          = 0x0122,
+	WM_MENUDRAG               = 0x0123,
+	WM_MENUGETOBJECT          = 0x0124,
+	WM_UNINITMENUPOPUP        = 0x0125,
+	WM_MENUCOMMAND            = 0x0126,
+	WM_CHANGEUISTATE          = 0x0127,
+	WM_UPDATEUISTATE          = 0x0128,
+	WM_QUERYUISTATE           = 0x0129,
+	WM_CTLCOLORMSGBOX         = 0x0132,
+	WM_CTLCOLOREDIT           = 0x0133,
+	WM_CTLCOLORLISTBOX        = 0x0134,
+	WM_CTLCOLORBTN            = 0x0135,
+	WM_CTLCOLORDLG            = 0x0136,
+	WM_CTLCOLORSCROLLBAR      = 0x0137,
+	WM_CTLCOLORSTATIC         = 0x0138,
+	WM_MOUSEFIRST             = 0x0200,
+	WM_MOUSEMOVE              = 0x0200,
+	WM_LBUTTONDOWN            = 0x0201,
+	WM_LBUTTONUP              = 0x0202,
+	WM_LBUTTONDBLCLK          = 0x0203,
+	WM_RBUTTONDOWN            = 0x0204,
+	WM_RBUTTONUP              = 0x0205,
+	WM_RBUTTONDBLCLK          = 0x0206,
+	WM_MBUTTONDOWN            = 0x0207,
+	WM_MBUTTONUP              = 0x0208,
+	WM_MBUTTONDBLCLK          = 0x0209,
+	WM_MOUSEWHEEL             = 0x020A,
+	WM_XBUTTONDOWN            = 0x020B,
+	WM_XBUTTONUP              = 0x020C,
+	WM_XBUTTONDBLCLK          = 0x020D,
+	WM_PARENTNOTIFY           = 0x0210,
+	WM_ENTERMENULOOP          = 0x0211,
+	WM_EXITMENULOOP           = 0x0212,
+	WM_NEXTMENU               = 0x0213,
+	WM_SIZING                 = 0x0214,
+	WM_CAPTURECHANGED         = 0x0215,
+	WM_MOVING                 = 0x0216,
+	WM_POWERBROADCAST         = 0x0218,
+	WM_DEVICECHANGE           = 0x0219,
+	WM_MDICREATE              = 0x0220,
+	WM_MDIDESTROY             = 0x0221,
+	WM_MDIACTIVATE            = 0x0222,
+	WM_MDIRESTORE             = 0x0223,
+	WM_MDINEXT                = 0x0224,
+	WM_MDIMAXIMIZE            = 0x0225,
+	WM_MDITILE                = 0x0226,
+	WM_MDICASCADE             = 0x0227,
+	WM_MDIICONARRANGE         = 0x0228,
+	WM_MDIGETACTIVE           = 0x0229,
+	WM_MDISETMENU             = 0x0230,
+	WM_ENTERSIZEMOVE          = 0x0231,
+	WM_EXITSIZEMOVE           = 0x0232,
+	WM_DROPFILES              = 0x0233,
+	WM_MDIREFRESHMENU         = 0x0234,
+	WM_IME_SETCONTEXT         = 0x0281,
+	WM_IME_NOTIFY             = 0x0282,
+	WM_IME_CONTROL            = 0x0283,
+	WM_IME_COMPOSITIONFULL    = 0x0284,
+	WM_IME_SELECT             = 0x0285,
+	WM_IME_CHAR               = 0x0286,
+	WM_IME_REQUEST            = 0x0288,
+	WM_IME_KEYDOWN            = 0x0290,
+	WM_IME_KEYUP              = 0x0291,
+	WM_MOUSEHOVER             = 0x02A1,
+	WM_MOUSELEAVE             = 0x02A3,
+	WM_NCMOUSEHOVER           = 0x02A0,
+	WM_NCMOUSELEAVE           = 0x02A2,
+	WM_WTSSESSION_CHANGE      = 0x02B1,
+	WM_TABLET_FIRST           = 0x02C0,
+	WM_TABLET_LAST            = 0x02DF,
+	WM_CUT                    = 0x0300,
+	WM_COPY                   = 0x0301,
+	WM_PASTE                  = 0x0302,
+	WM_CLEAR                  = 0x0303,
+	WM_UNDO                   = 0x0304,
+	WM_RENDERFORMAT           = 0x0305,
+	WM_RENDERALLFORMATS       = 0x0306,
+	WM_DESTROYCLIPBOARD       = 0x0307,
+	WM_DRAWCLIPBOARD          = 0x0308,
+	WM_PAINTCLIPBOARD         = 0x0309,
+	WM_VSCROLLCLIPBOARD       = 0x030A,
+	WM_SIZECLIPBOARD          = 0x030B,
+	WM_ASKCBFORMATNAME        = 0x030C,
+	WM_CHANGECBCHAIN          = 0x030D,
+	WM_HSCROLLCLIPBOARD       = 0x030E,
+	WM_QUERYNEWPALETTE        = 0x030F,
+	WM_PALETTEISCHANGING      = 0x0310,
+	WM_PALETTECHANGED         = 0x0311,
+	WM_HOTKEY                 = 0x0312,
+	WM_PRINT                  = 0x0317,
+	WM_PRINTCLIENT            = 0x0318,
+	WM_APPCOMMAND             = 0x0319,
+	WM_THEMECHANGED           = 0x031A,
+	WM_HANDHELDFIRST          = 0x0358,
+	WM_HANDHELDLAST           = 0x035F,
+	WM_AFXFIRST               = 0x0360,
+	WM_AFXLAST                = 0x037F,
+	WM_PENWINFIRST            = 0x0380,
+	WM_PENWINLAST             = 0x038F,
+	WM_APP                    = 0x8000,
+	WM_USER                   = 0x0400
 }
 enum {
 	PBT_APMQUERYSUSPEND       = 0x0000,
@@ -530,23 +509,23 @@
 //}}}
 
 enum {
-	MK_LBUTTON =  0x0001,
-	MK_RBUTTON =  0x0002,
-	MK_SHIFT =	  0x0004,
-	MK_CONTROL =  0x0008,
-	MK_MBUTTON =  0x0010,
+	MK_LBUTTON  = 0x0001,
+	MK_RBUTTON  = 0x0002,
+	MK_SHIFT    = 0x0004,
+	MK_CONTROL  = 0x0008,
+	MK_MBUTTON  = 0x0010,
 	MK_XBUTTON1 = 0x0020,
 	MK_XBUTTON2 = 0x0040
 }
 
 enum {
-	WMSZ_LEFT		 = 1,
-	WMSZ_RIGHT		 = 2,
-	WMSZ_TOP		 = 3,
-	WMSZ_TOPLEFT	 = 4,
-	WMSZ_TOPRIGHT	 = 5,
-	WMSZ_BOTTOM		 = 6,
-	WMSZ_BOTTOMLEFT	 = 7,
+	WMSZ_LEFT        = 1,
+	WMSZ_RIGHT       = 2,
+	WMSZ_TOP         = 3,
+	WMSZ_TOPLEFT     = 4,
+	WMSZ_TOPRIGHT    = 5,
+	WMSZ_BOTTOM      = 6,
+	WMSZ_BOTTOMLEFT  = 7,
 	WMSZ_BOTTOMRIGHT = 8
 }
 
@@ -559,50 +538,42 @@
 }
 
 enum {
-	SW_HIDE = 0,
-	SW_SHOWNORMAL = 1,
-	SW_NORMAL = 1,
-	SW_SHOWMINIMIZED = 2,
-	SW_SHOWMAXIMIZED = 3,
-	SW_MAXIMIZE = 3,
-	SW_SHOWNOACTIVATE = 4,
-	SW_SHOW = 5,
-	SW_MINIMIZE = 6,
+	SW_HIDE            = 0,
+	SW_SHOWNORMAL      = 1,
+	SW_NORMAL          = 1,
+	SW_SHOWMINIMIZED   = 2,
+	SW_SHOWMAXIMIZED   = 3,
+	SW_MAXIMIZE        = 3,
+	SW_SHOWNOACTIVATE  = 4,
+	SW_SHOW            = 5,
+	SW_MINIMIZE        = 6,
 	SW_SHOWMINNOACTIVE = 7,
-	SW_SHOWNA = 8,
-	SW_RESTORE = 9,
-	SW_SHOWDEFAULT = 10,
-	SW_FORCEMINIMIZE = 11,
-	SW_MAX = 11
+	SW_SHOWNA          = 8,
+	SW_RESTORE         = 9,
+	SW_SHOWDEFAULT     = 10,
+	SW_FORCEMINIMIZE   = 11,
+	SW_MAX             = 11
 }
 
 enum {
-	GWL_STYLE =	  -16,
+	GWL_STYLE   = -16,
 	GWL_EXSTYLE = -20
 }
 
-DWORD GetClassLongA(HWND hWnd, int nIndex);
 DWORD GetClassLongW(HWND hWnd, int nIndex);
 
-DWORD SetClassLongA(HWND hWnd, int nIndex, LONG dwNewLong);
 DWORD SetClassLongW(HWND hWnd, int nIndex, LONG dwNewLong);
 
-ULONG_PTR GetClassLongPtrA(HWND hWnd, int nIndex);
 ULONG_PTR GetClassLongPtrW(HWND hWnd, int nIndex);
 
-ULONG_PTR SetClassLongPtrA(HWND hWnd, int nIndex, LONG_PTR dwNewLong);
 ULONG_PTR SetClassLongPtrW(HWND hWnd, int nIndex, LONG_PTR dwNewLong);
 
-LONG GetWindowLongA(HWND hWnd, int nIndex);
 LONG GetWindowLongW(HWND hWnd, int nIndex);
 
-LONG SetWindowLongA(HWND hWnd, int nIndex, LONG dwNewLong);
 LONG SetWindowLongW(HWND hWnd, int nIndex, LONG dwNewLong);
 
-LONG_PTR GetWindowLongPtrA(HWND hWnd, int nIndex);
 LONG_PTR GetWindowLongPtrW(HWND hWnd, int nIndex);
 
-LONG_PTR SetWindowLongPtrA(HWND hWnd, int nIndex, LONG_PTR dwNewLong);
 LONG_PTR SetWindowLongPtrW(HWND hWnd, int nIndex, LONG_PTR dwNewLong);
 
 BOOL ShowWindow(HWND hWnd, int nCmdShow);
@@ -619,10 +590,10 @@
 BOOL GetClientRect(HWND hWnd, RECT* lpRect);
 
 enum {
-	SWP_NOSIZE =	   0x0001,
-	SWP_NOMOVE =	   0x0002,
-	SWP_NOZORDER =	   0x0004,
-	SWP_NOACTIVATE =   0x0010,
+	SWP_NOSIZE       = 0x0001,
+	SWP_NOMOVE       = 0x0002,
+	SWP_NOZORDER     = 0x0004,
+	SWP_NOACTIVATE   = 0x0010,
 	SWP_FRAMECHANGED = 0x0020
 }
 
@@ -634,8 +605,8 @@
 
 enum {
 	ULW_COLORKEY = 0x00000001,
-	ULW_ALPHA =	   0x00000002,
-	ULW_OPAQUE =   0x00000004
+	ULW_ALPHA    = 0x00000002,
+	ULW_OPAQUE   = 0x00000004
 }
 
 BOOL UpdateLayeredWindow(
@@ -659,11 +630,11 @@
 
 enum {
 	GW_HWNDFIRST = 0,
-	GW_HWNDLAST =  1,
-	GW_HWNDNEXT =  2,
-	GW_HWNDPREV =  3,
-	GW_OWNER =	   4,
-	GW_CHILD =	   5
+	GW_HWNDLAST  = 1,
+	GW_HWNDNEXT  = 2,
+	GW_HWNDPREV  = 3,
+	GW_OWNER     = 4,
+	GW_CHILD     = 5
 }
 
 HWND GetWindow(HWND hWnd, UINT uCmd);
@@ -672,60 +643,52 @@
 
 int GetWindowTextLength(HWND hWnd);
 
-int GetWindowTextA(HWND hWnd, LPSTR lpString, int nMaxCount);
 int GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount);
 
-BOOL SetWindowTextA(HWND hWnd, LPCSTR lpString);
 BOOL SetWindowTextW(HWND hWnd, LPCWSTR lpString);
 
-UINT GetWindowModuleFileNameA(HWND hWnd, LPSTR lpszFileName, UINT cchFileNameMax);
 UINT GetWindowModuleFileNameW(HWND hWnd, LPWSTR lpszFileName, UINT cchFileNameMax);
 
-BOOL SetPropA(HWND hWnd, LPCSTR lpString, HANDLE hData);
 BOOL SetPropW(HWND hWnd, LPCWSTR lpString, HANDLE hData);
 
-HANDLE GetPropA(HWND hWnd, LPCSTR lpString);
 HANDLE GetPropW(HWND hWnd, LPCWSTR lpString);
 
-HANDLE RemovePropA(HWND hWnd, LPCSTR lpString);
 HANDLE RemovePropW(HWND hWnd, LPCWSTR lpString);
 
 DWORD CommDlgExtendedError();
 enum { FNERR_BUFFERTOOSMALL = 0x3003 }
 
 enum {
-	OFN_READONLY			 = 0x00000001,
-	OFN_OVERWRITEPROMPT		 = 0x00000002,
-	OFN_HIDEREADONLY		 = 0x00000004,
-	OFN_NOCHANGEDIR			 = 0x00000008,
-	OFN_SHOWHELP			 = 0x00000010,
-	OFN_ENABLEHOOK			 = 0x00000020,
-	OFN_ENABLETEMPLATE		 = 0x00000040,
+	OFN_READONLY             = 0x00000001,
+	OFN_OVERWRITEPROMPT      = 0x00000002,
+	OFN_HIDEREADONLY         = 0x00000004,
+	OFN_NOCHANGEDIR          = 0x00000008,
+	OFN_SHOWHELP             = 0x00000010,
+	OFN_ENABLEHOOK           = 0x00000020,
+	OFN_ENABLETEMPLATE       = 0x00000040,
 	OFN_ENABLETEMPLATEHANDLE = 0x00000080,
-	OFN_NOVALIDATE			 = 0x00000100,
-	OFN_ALLOWMULTISELECT	 = 0x00000200,
-	OFN_EXTENSIONDIFFERENT	 = 0x00000400,
-	OFN_PATHMUSTEXIST		 = 0x00000800,
-	OFN_FILEMUSTEXIST		 = 0x00001000,
-	OFN_CREATEPROMPT		 = 0x00002000,
-	OFN_SHAREAWARE			 = 0x00004000,
-	OFN_NOREADONLYRETURN	 = 0x00008000,
-	OFN_NOTESTFILECREATE	 = 0x00010000,
-	OFN_NONETWORKBUTTON		 = 0x00020000,
-	OFN_NOLONGNAMES			 = 0x00040000,
-	OFN_EXPLORER			 = 0x00080000,
-	OFN_NODEREFERENCELINKS	 = 0x00100000,
-	OFN_LONGNAMES			 = 0x00200000,
-	OFN_ENABLEINCLUDENOTIFY	 = 0x00400000,
-	OFN_ENABLESIZING		 = 0x00800000,
-	OFN_DONTADDTORECENT		 = 0x02000000,
-	OFN_FORCESHOWHIDDEN		 = 0x10000000
+	OFN_NOVALIDATE           = 0x00000100,
+	OFN_ALLOWMULTISELECT     = 0x00000200,
+	OFN_EXTENSIONDIFFERENT   = 0x00000400,
+	OFN_PATHMUSTEXIST        = 0x00000800,
+	OFN_FILEMUSTEXIST        = 0x00001000,
+	OFN_CREATEPROMPT         = 0x00002000,
+	OFN_SHAREAWARE           = 0x00004000,
+	OFN_NOREADONLYRETURN     = 0x00008000,
+	OFN_NOTESTFILECREATE     = 0x00010000,
+	OFN_NONETWORKBUTTON      = 0x00020000,
+	OFN_NOLONGNAMES          = 0x00040000,
+	OFN_EXPLORER             = 0x00080000,
+	OFN_NODEREFERENCELINKS   = 0x00100000,
+	OFN_LONGNAMES            = 0x00200000,
+	OFN_ENABLEINCLUDENOTIFY  = 0x00400000,
+	OFN_ENABLESIZING         = 0x00800000,
+	OFN_DONTADDTORECENT      = 0x02000000,
+	OFN_FORCESHOWHIDDEN      = 0x10000000
 }
 
-BOOL GetOpenFileNameA(OPENFILENAME* lpofn);
 BOOL GetOpenFileNameW(OPENFILENAME* lpofn);
 
-BOOL GetSaveFileNameA(OPENFILENAME* lpofn);
 BOOL GetSaveFileNameW(OPENFILENAME* lpofn);
 
 //}}}
@@ -785,13 +748,10 @@
 BOOL BitBlt(HDC hdc, int x, int y, int cx, int cy, HDC hdcSrc, int x1, int y1, DWORD rop);
 
 enum {
-	AC_SRC_OVER = 0x00,
+	AC_SRC_OVER  = 0x00,
 	AC_SRC_ALPHA = 0x01
 }
 
-int EnumFontFamiliesExA(
-	HDC hdc, LOGFONT* lpLogfont,
-	FONTENUMPROCA lpProc, LPARAM lParam, DWORD dwFlags);
 int EnumFontFamiliesExW(
 	HDC hdc, LOGFONT* lpLogfont,
 	FONTENUMPROCW lpProc, LPARAM lParam, DWORD dwFlags);
@@ -801,16 +761,12 @@
 //}}}
 
 //{{{ message functions
-BOOL GetMessageA(MSG* lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
 BOOL GetMessageW(MSG* lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
 
 BOOL TranslateMessage(MSG* lpMsg);
 
-LRESULT DispatchMessageA(MSG* lpMsg);
 LRESULT DispatchMessageW(MSG* lpMsg);
 
-BOOL PostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
-
 BOOL PostMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
 
 void PostQuitMessage(int nExitCode);
@@ -824,22 +780,22 @@
 
 //{{{ clipboard functions
 enum {
-	CF_TEXT			= 1,
-	CF_BITMAP		= 2,
+	CF_TEXT         = 1,
+	CF_BITMAP       = 2,
 	CF_METAFILEPICT = 3,
-	CF_SYLK			= 4,
-	CF_DIF			= 5,
-	CF_TIFF			= 6,
-	CF_OEMTEXT		= 7,
-	CF_DIB			= 8,
-	CF_PALETTE		= 9,
-	CF_PENDATA		= 10,
-	CF_RIFF			= 11,
-	CF_WAVE			= 12,
-	CF_UNICODETEXT	= 13,
-	CF_ENHMETAFILE	= 14,
-	CF_HDROP		= 15,
-	CF_LOCALE		= 16
+	CF_SYLK         = 4,
+	CF_DIF          = 5,
+	CF_TIFF         = 6,
+	CF_OEMTEXT      = 7,
+	CF_DIB          = 8,
+	CF_PALETTE      = 9,
+	CF_PENDATA      = 10,
+	CF_RIFF         = 11,
+	CF_WAVE         = 12,
+	CF_UNICODETEXT  = 13,
+	CF_ENHMETAFILE  = 14,
+	CF_HDROP        = 15,
+	CF_LOCALE       = 16
 }
 
 BOOL OpenClipboard(HWND hWndNewOwner);
@@ -866,8 +822,8 @@
 BOOL ReleaseCapture();
 
 enum {
-	TME_HOVER	  = 0x00000001,
-	TME_LEAVE	  = 0x00000002,
+	TME_HOVER     = 0x00000001,
+	TME_LEAVE     = 0x00000002,
 	TME_NONCLIENT = 0x00000010
 }
 BOOL TrackMouseEvent(TRACKMOUSEEVENT* lpEventTrack);
@@ -880,166 +836,166 @@
 //{{{ keyboard functions
 //{{{ keys
 enum {
-	VK_LBUTTON			   = 0x01,
-	VK_RBUTTON			   = 0x02,
-	VK_CANCEL			   = 0x03,
-	VK_MBUTTON			   = 0x04,
-	VK_XBUTTON1			   = 0x05,
-	VK_XBUTTON2			   = 0x06,
-	VK_BACK				   = 0x08,
-	VK_TAB				   = 0x09,
-	VK_CLEAR			   = 0x0C,
-	VK_RETURN			   = 0x0D,
-	VK_SHIFT			   = 0x10,
-	VK_CONTROL			   = 0x11,
-	VK_MENU				   = 0x12,
-	VK_PAUSE			   = 0x13,
-	VK_CAPITAL			   = 0x14,
-	VK_KANA				   = 0x15,
-	VK_HANGEUL			   = 0x15,
-	VK_HANGUL			   = 0x15,
-	VK_JUNJA			   = 0x17,
-	VK_FINAL			   = 0x18,
-	VK_HANJA			   = 0x19,
-	VK_KANJI			   = 0x19,
-	VK_ESCAPE			   = 0x1B,
-	VK_CONVERT			   = 0x1C,
-	VK_NONCONVERT		   = 0x1D,
-	VK_ACCEPT			   = 0x1E,
-	VK_MODECHANGE		   = 0x1F,
-	VK_SPACE			   = 0x20,
-	VK_PRIOR			   = 0x21,
-	VK_NEXT				   = 0x22,
-	VK_END				   = 0x23,
-	VK_HOME				   = 0x24,
-	VK_LEFT				   = 0x25,
-	VK_UP				   = 0x26,
-	VK_RIGHT			   = 0x27,
-	VK_DOWN				   = 0x28,
-	VK_SELECT			   = 0x29,
-	VK_PRINT			   = 0x2A,
-	VK_EXECUTE			   = 0x2B,
-	VK_SNAPSHOT			   = 0x2C,
-	VK_INSERT			   = 0x2D,
-	VK_DELETE			   = 0x2E,
-	VK_HELP				   = 0x2F,
-	VK_LWIN				   = 0x5B,
-	VK_RWIN				   = 0x5C,
-	VK_APPS				   = 0x5D,
-	VK_SLEEP			   = 0x5F,
-	VK_NUMPAD0			   = 0x60,
-	VK_NUMPAD1			   = 0x61,
-	VK_NUMPAD2			   = 0x62,
-	VK_NUMPAD3			   = 0x63,
-	VK_NUMPAD4			   = 0x64,
-	VK_NUMPAD5			   = 0x65,
-	VK_NUMPAD6			   = 0x66,
-	VK_NUMPAD7			   = 0x67,
-	VK_NUMPAD8			   = 0x68,
-	VK_NUMPAD9			   = 0x69,
-	VK_MULTIPLY			   = 0x6A,
-	VK_ADD				   = 0x6B,
-	VK_SEPARATOR		   = 0x6C,
-	VK_SUBTRACT			   = 0x6D,
-	VK_DECIMAL			   = 0x6E,
-	VK_DIVIDE			   = 0x6F,
-	VK_F1				   = 0x70,
-	VK_F2				   = 0x71,
-	VK_F3				   = 0x72,
-	VK_F4				   = 0x73,
-	VK_F5				   = 0x74,
-	VK_F6				   = 0x75,
-	VK_F7				   = 0x76,
-	VK_F8				   = 0x77,
-	VK_F9				   = 0x78,
-	VK_F10				   = 0x79,
-	VK_F11				   = 0x7A,
-	VK_F12				   = 0x7B,
-	VK_F13				   = 0x7C,
-	VK_F14				   = 0x7D,
-	VK_F15				   = 0x7E,
-	VK_F16				   = 0x7F,
-	VK_F17				   = 0x80,
-	VK_F18				   = 0x81,
-	VK_F19				   = 0x82,
-	VK_F20				   = 0x83,
-	VK_F21				   = 0x84,
-	VK_F22				   = 0x85,
-	VK_F23				   = 0x86,
-	VK_F24				   = 0x87,
-	VK_NUMLOCK			   = 0x90,
-	VK_SCROLL			   = 0x91,
-	VK_OEM_NEC_EQUAL	   = 0x92,
-	VK_OEM_FJ_JISHO		   = 0x92,
-	VK_OEM_FJ_MASSHOU	   = 0x93,
-	VK_OEM_FJ_TOUROKU	   = 0x94,
-	VK_OEM_FJ_LOYA		   = 0x95,
-	VK_OEM_FJ_ROYA		   = 0x96,
-	VK_LSHIFT			   = 0xA0,
-	VK_RSHIFT			   = 0xA1,
-	VK_LCONTROL			   = 0xA2,
-	VK_RCONTROL			   = 0xA3,
-	VK_LMENU			   = 0xA4,
-	VK_RMENU			   = 0xA5,
-	VK_BROWSER_BACK		   = 0xA6,
-	VK_BROWSER_FORWARD	   = 0xA7,
-	VK_BROWSER_REFRESH	   = 0xA8,
-	VK_BROWSER_STOP		   = 0xA9,
-	VK_BROWSER_SEARCH	   = 0xAA,
+	VK_LBUTTON             = 0x01,
+	VK_RBUTTON             = 0x02,
+	VK_CANCEL              = 0x03,
+	VK_MBUTTON             = 0x04,
+	VK_XBUTTON1            = 0x05,
+	VK_XBUTTON2            = 0x06,
+	VK_BACK                = 0x08,
+	VK_TAB                 = 0x09,
+	VK_CLEAR               = 0x0C,
+	VK_RETURN              = 0x0D,
+	VK_SHIFT               = 0x10,
+	VK_CONTROL             = 0x11,
+	VK_MENU                = 0x12,
+	VK_PAUSE               = 0x13,
+	VK_CAPITAL             = 0x14,
+	VK_KANA                = 0x15,
+	VK_HANGEUL             = 0x15,
+	VK_HANGUL              = 0x15,
+	VK_JUNJA               = 0x17,
+	VK_FINAL               = 0x18,
+	VK_HANJA               = 0x19,
+	VK_KANJI               = 0x19,
+	VK_ESCAPE              = 0x1B,
+	VK_CONVERT             = 0x1C,
+	VK_NONCONVERT          = 0x1D,
+	VK_ACCEPT              = 0x1E,
+	VK_MODECHANGE          = 0x1F,
+	VK_SPACE               = 0x20,
+	VK_PRIOR               = 0x21,
+	VK_NEXT                = 0x22,
+	VK_END                 = 0x23,
+	VK_HOME                = 0x24,
+	VK_LEFT                = 0x25,
+	VK_UP                  = 0x26,
+	VK_RIGHT               = 0x27,
+	VK_DOWN                = 0x28,
+	VK_SELECT              = 0x29,
+	VK_PRINT               = 0x2A,
+	VK_EXECUTE             = 0x2B,
+	VK_SNAPSHOT            = 0x2C,
+	VK_INSERT              = 0x2D,
+	VK_DELETE              = 0x2E,
+	VK_HELP                = 0x2F,
+	VK_LWIN                = 0x5B,
+	VK_RWIN                = 0x5C,
+	VK_APPS                = 0x5D,
+	VK_SLEEP               = 0x5F,
+	VK_NUMPAD0             = 0x60,
+	VK_NUMPAD1             = 0x61,
+	VK_NUMPAD2             = 0x62,
+	VK_NUMPAD3             = 0x63,
+	VK_NUMPAD4             = 0x64,
+	VK_NUMPAD5             = 0x65,
+	VK_NUMPAD6             = 0x66,
+	VK_NUMPAD7             = 0x67,
+	VK_NUMPAD8             = 0x68,
+	VK_NUMPAD9             = 0x69,
+	VK_MULTIPLY            = 0x6A,
+	VK_ADD                 = 0x6B,
+	VK_SEPARATOR           = 0x6C,
+	VK_SUBTRACT            = 0x6D,
+	VK_DECIMAL             = 0x6E,
+	VK_DIVIDE              = 0x6F,
+	VK_F1                  = 0x70,
+	VK_F2                  = 0x71,
+	VK_F3                  = 0x72,
+	VK_F4                  = 0x73,
+	VK_F5                  = 0x74,
+	VK_F6                  = 0x75,
+	VK_F7                  = 0x76,
+	VK_F8                  = 0x77,
+	VK_F9                  = 0x78,
+	VK_F10                 = 0x79,
+	VK_F11                 = 0x7A,
+	VK_F12                 = 0x7B,
+	VK_F13                 = 0x7C,
+	VK_F14                 = 0x7D,
+	VK_F15                 = 0x7E,
+	VK_F16                 = 0x7F,
+	VK_F17                 = 0x80,
+	VK_F18                 = 0x81,
+	VK_F19                 = 0x82,
+	VK_F20                 = 0x83,
+	VK_F21                 = 0x84,
+	VK_F22                 = 0x85,
+	VK_F23                 = 0x86,
+	VK_F24                 = 0x87,
+	VK_NUMLOCK             = 0x90,
+	VK_SCROLL              = 0x91,
+	VK_OEM_NEC_EQUAL       = 0x92,
+	VK_OEM_FJ_JISHO        = 0x92,
+	VK_OEM_FJ_MASSHOU      = 0x93,
+	VK_OEM_FJ_TOUROKU      = 0x94,
+	VK_OEM_FJ_LOYA         = 0x95,
+	VK_OEM_FJ_ROYA         = 0x96,
+	VK_LSHIFT              = 0xA0,
+	VK_RSHIFT              = 0xA1,
+	VK_LCONTROL            = 0xA2,
+	VK_RCONTROL            = 0xA3,
+	VK_LMENU               = 0xA4,
+	VK_RMENU               = 0xA5,
+	VK_BROWSER_BACK        = 0xA6,
+	VK_BROWSER_FORWARD     = 0xA7,
+	VK_BROWSER_REFRESH     = 0xA8,
+	VK_BROWSER_STOP        = 0xA9,
+	VK_BROWSER_SEARCH      = 0xAA,
 	VK_BROWSER_FAVORITES   = 0xAB,
-	VK_BROWSER_HOME		   = 0xAC,
-	VK_VOLUME_MUTE		   = 0xAD,
-	VK_VOLUME_DOWN		   = 0xAE,
-	VK_VOLUME_UP		   = 0xAF,
-	VK_MEDIA_NEXT_TRACK	   = 0xB0,
-	VK_MEDIA_PREV_TRACK	   = 0xB1,
-	VK_MEDIA_STOP		   = 0xB2,
-	VK_MEDIA_PLAY_PAUSE	   = 0xB3,
-	VK_LAUNCH_MAIL		   = 0xB4,
+	VK_BROWSER_HOME        = 0xAC,
+	VK_VOLUME_MUTE         = 0xAD,
+	VK_VOLUME_DOWN         = 0xAE,
+	VK_VOLUME_UP           = 0xAF,
+	VK_MEDIA_NEXT_TRACK    = 0xB0,
+	VK_MEDIA_PREV_TRACK    = 0xB1,
+	VK_MEDIA_STOP          = 0xB2,
+	VK_MEDIA_PLAY_PAUSE    = 0xB3,
+	VK_LAUNCH_MAIL         = 0xB4,
 	VK_LAUNCH_MEDIA_SELECT = 0xB5,
-	VK_LAUNCH_APP1		   = 0xB6,
-	VK_LAUNCH_APP2		   = 0xB7,
-	VK_OEM_1			   = 0xBA,
-	VK_OEM_PLUS			   = 0xBB,
-	VK_OEM_COMMA		   = 0xBC,
-	VK_OEM_MINUS		   = 0xBD,
-	VK_OEM_PERIOD		   = 0xBE,
-	VK_OEM_2			   = 0xBF,
-	VK_OEM_3			   = 0xC0,
-	VK_OEM_4			   = 0xDB,
-	VK_OEM_5			   = 0xDC,
-	VK_OEM_6			   = 0xDD,
-	VK_OEM_7			   = 0xDE,
-	VK_OEM_8			   = 0xDF,
-	VK_OEM_AX			   = 0xE1,
-	VK_OEM_102			   = 0xE2,
-	VK_ICO_HELP			   = 0xE3,
-	VK_ICO_00			   = 0xE4,
-	VK_PROCESSKEY		   = 0xE5,
-	VK_ICO_CLEAR		   = 0xE6,
-	VK_PACKET			   = 0xE7,
-	VK_OEM_RESET		   = 0xE9,
-	VK_OEM_JUMP			   = 0xEA,
-	VK_OEM_PA1			   = 0xEB,
-	VK_OEM_PA2			   = 0xEC,
-	VK_OEM_PA3			   = 0xED,
-	VK_OEM_WSCTRL		   = 0xEE,
-	VK_OEM_CUSEL		   = 0xEF,
-	VK_OEM_ATTN			   = 0xF0,
-	VK_OEM_FINISH		   = 0xF1,
-	VK_OEM_COPY			   = 0xF2,
-	VK_OEM_AUTO			   = 0xF3,
-	VK_OEM_ENLW			   = 0xF4,
-	VK_OEM_BACKTAB		   = 0xF5,
-	VK_ATTN				   = 0xF6,
-	VK_CRSEL			   = 0xF7,
-	VK_EXSEL			   = 0xF8,
-	VK_EREOF			   = 0xF9,
-	VK_PLAY				   = 0xFA,
-	VK_ZOOM				   = 0xFB,
-	VK_NONAME			   = 0xFC,
-	VK_PA1				   = 0xFD,
-	VK_OEM_CLEAR		   = 0xFE
+	VK_LAUNCH_APP1         = 0xB6,
+	VK_LAUNCH_APP2         = 0xB7,
+	VK_OEM_1               = 0xBA,
+	VK_OEM_PLUS            = 0xBB,
+	VK_OEM_COMMA           = 0xBC,
+	VK_OEM_MINUS           = 0xBD,
+	VK_OEM_PERIOD          = 0xBE,
+	VK_OEM_2               = 0xBF,
+	VK_OEM_3               = 0xC0,
+	VK_OEM_4               = 0xDB,
+	VK_OEM_5               = 0xDC,
+	VK_OEM_6               = 0xDD,
+	VK_OEM_7               = 0xDE,
+	VK_OEM_8               = 0xDF,
+	VK_OEM_AX              = 0xE1,
+	VK_OEM_102             = 0xE2,
+	VK_ICO_HELP            = 0xE3,
+	VK_ICO_00              = 0xE4,
+	VK_PROCESSKEY          = 0xE5,
+	VK_ICO_CLEAR           = 0xE6,
+	VK_PACKET              = 0xE7,
+	VK_OEM_RESET           = 0xE9,
+	VK_OEM_JUMP            = 0xEA,
+	VK_OEM_PA1             = 0xEB,
+	VK_OEM_PA2             = 0xEC,
+	VK_OEM_PA3             = 0xED,
+	VK_OEM_WSCTRL          = 0xEE,
+	VK_OEM_CUSEL           = 0xEF,
+	VK_OEM_ATTN            = 0xF0,
+	VK_OEM_FINISH          = 0xF1,
+	VK_OEM_COPY            = 0xF2,
+	VK_OEM_AUTO            = 0xF3,
+	VK_OEM_ENLW            = 0xF4,
+	VK_OEM_BACKTAB         = 0xF5,
+	VK_ATTN                = 0xF6,
+	VK_CRSEL               = 0xF7,
+	VK_EXSEL               = 0xF8,
+	VK_EREOF               = 0xF9,
+	VK_PLAY                = 0xFA,
+	VK_ZOOM                = 0xFB,
+	VK_NONAME              = 0xFC,
+	VK_PA1                 = 0xFD,
+	VK_OEM_CLEAR           = 0xFE
 }
 //}}}
 
@@ -1047,31 +1003,31 @@
 //}}}
 
 //{{{ system functions
-//const LPTSTR IDC_ARROW		 = cast(LPTSTR)32512u;
-//const LPTSTR IDC_IBEAM		 = cast(LPTSTR)32513u;
-//const LPTSTR IDC_WAIT		 = cast(LPTSTR)32514u;
-//const LPTSTR IDC_CROSS		 = cast(LPTSTR)32515u;
-//const LPTSTR IDC_UPARROW	 = cast(LPTSTR)32516u;
-//const LPTSTR IDC_SIZE		 = cast(LPTSTR)32640u;
-//const LPTSTR IDC_ICON		 = cast(LPTSTR)32641u;
-//const LPTSTR IDC_SIZENWSE	 = cast(LPTSTR)32642u;
-//const LPTSTR IDC_SIZENESW	 = cast(LPTSTR)32643u;
-//const LPTSTR IDC_SIZEWE		 = cast(LPTSTR)32644u;
-//const LPTSTR IDC_SIZENS		 = cast(LPTSTR)32645u;
-//const LPTSTR IDC_SIZEALL	 = cast(LPTSTR)32646u;
-//const LPTSTR IDC_NO			 = cast(LPTSTR)32648u;
-//const LPTSTR IDC_HAND		 = cast(LPTSTR)32649u;
+//const LPTSTR IDC_ARROW       = cast(LPTSTR)32512u;
+//const LPTSTR IDC_IBEAM       = cast(LPTSTR)32513u;
+//const LPTSTR IDC_WAIT        = cast(LPTSTR)32514u;
+//const LPTSTR IDC_CROSS       = cast(LPTSTR)32515u;
+//const LPTSTR IDC_UPARROW     = cast(LPTSTR)32516u;
+//const LPTSTR IDC_SIZE        = cast(LPTSTR)32640u;
+//const LPTSTR IDC_ICON        = cast(LPTSTR)32641u;
+//const LPTSTR IDC_SIZENWSE    = cast(LPTSTR)32642u;
+//const LPTSTR IDC_SIZENESW    = cast(LPTSTR)32643u;
+//const LPTSTR IDC_SIZEWE      = cast(LPTSTR)32644u;
+//const LPTSTR IDC_SIZENS      = cast(LPTSTR)32645u;
+//const LPTSTR IDC_SIZEALL     = cast(LPTSTR)32646u;
+//const LPTSTR IDC_NO          = cast(LPTSTR)32648u;
+//const LPTSTR IDC_HAND        = cast(LPTSTR)32649u;
 //const LPTSTR IDC_APPSTARTING = cast(LPTSTR)32650u;
-//const LPTSTR IDC_HELP		 = cast(LPTSTR)32651u;
+//const LPTSTR IDC_HELP        = cast(LPTSTR)32651u;
 
 //const LPTSTR IDI_APPLICATION = cast(LPTSTR)32512;
-//const LPTSTR IDI_HAND		 = cast(LPTSTR)32513;
-//const LPTSTR IDI_QUESTION	 = cast(LPTSTR)32514;
+//const LPTSTR IDI_HAND        = cast(LPTSTR)32513;
+//const LPTSTR IDI_QUESTION    = cast(LPTSTR)32514;
 //const LPTSTR IDI_EXCLAMATION = cast(LPTSTR)32515;
-//const LPTSTR IDI_ASTERISK	 = cast(LPTSTR)32516;
-//const LPTSTR IDI_WINLOGO	 = cast(LPTSTR)32517;
-//const LPTSTR IDI_WARNING	 = IDI_EXCLAMATION;
-//const LPTSTR IDI_ERROR		 = IDI_HAND;
+//const LPTSTR IDI_ASTERISK    = cast(LPTSTR)32516;
+//const LPTSTR IDI_WINLOGO     = cast(LPTSTR)32517;
+//const LPTSTR IDI_WARNING     = IDI_EXCLAMATION;
+//const LPTSTR IDI_ERROR       = IDI_HAND;
 //const LPTSTR IDI_INFORMATION = IDI_ASTERISK;
 
 enum {
@@ -1104,33 +1060,26 @@
 
 enum {
 	IMAGE_BITMAP = 0,
-	IMAGE_ICON	 = 1,
+	IMAGE_ICON   = 1,
 	IMAGE_CURSOR = 2
 }
 
 enum {
-	LR_DEFAULTCOLOR		= 0x0000,
-	LR_MONOCHROME		= 0x0001,
-	LR_COLOR			= 0x0002,
-	LR_COPYRETURNORG	= 0x0004,
-	LR_COPYDELETEORG	= 0x0008,
-	LR_LOADFROMFILE		= 0x0010,
-	LR_LOADTRANSPARENT	= 0x0020,
-	LR_DEFAULTSIZE		= 0x0040,
-	LR_VGACOLOR			= 0x0080,
-	LR_LOADMAP3DCOLORS	= 0x1000,
+	LR_DEFAULTCOLOR     = 0x0000,
+	LR_MONOCHROME       = 0x0001,
+	LR_COLOR            = 0x0002,
+	LR_COPYRETURNORG    = 0x0004,
+	LR_COPYDELETEORG    = 0x0008,
+	LR_LOADFROMFILE     = 0x0010,
+	LR_LOADTRANSPARENT  = 0x0020,
+	LR_DEFAULTSIZE      = 0x0040,
+	LR_VGACOLOR         = 0x0080,
+	LR_LOADMAP3DCOLORS  = 0x1000,
 	LR_CREATEDIBSECTION = 0x2000,
 	LR_COPYFROMRESOURCE = 0x4000,
-	LR_SHARED			= 0x8000
+	LR_SHARED           = 0x8000
 }
 
-HANDLE LoadImageA(
-	HINSTANCE hInst,
-	LPCSTR name,
-	UINT type,
-	int cx,
-	int cy,
-	UINT fuLoad);
 HANDLE LoadImageW(
 	HINSTANCE hInst,
 	LPCWSTR name,
@@ -1147,11 +1096,10 @@
 
 enum {
 	SPI_GETNONCLIENTMETRICS = 0x0029,
-	SPI_GETWORKAREA			= 0x0030,
+	SPI_GETWORKAREA         = 0x0030,
 	SPI_GETWHEELSCROLLLINES = 0x0068
 }
 
-BOOL SystemParametersInfoA(UINT uiAction, UINT uiParam, VOID* pvParam, UINT fWinIni);
 BOOL SystemParametersInfoW(UINT uiAction, UINT uiParam, VOID* pvParam, UINT fWinIni);
 
 enum {
@@ -1295,19 +1243,15 @@
 
 VOID GetSystemInfo(SYSTEM_INFO* lpSystemInfo);
 
-BOOL GetVersionExA(OSVERSIONINFO* lpVersionInformation);
 BOOL GetVersionExW(OSVERSIONINFO* lpVersionInformation);
 
-HMODULE GetModuleHandleA(LPCSTR lpModuleName);
 HMODULE GetModuleHandleW(LPCWSTR lpModuleName);
 
-HMODULE LoadLibraryA(LPCSTR lpLibFileName);
 HMODULE LoadLibraryW(LPCWSTR lpLibFileName);
 
 FARPROC GetProcAddress(HMODULE hModule, LPCSTR lpProcName);
 
 //Requires Internet Explorer 4.0 (but will work on Windows 95 with IE 4)
-BOOL SHGetSpecialFolderPathA(HWND hWndOwner, LPSTR lpszPath, int nFolder, BOOL fCreate);
 BOOL SHGetSpecialFolderPathW(HWND hWndOwner, LPWSTR lpszPath, int nFolder, BOOL fCreate);
 
 BOOL QueryPerformanceFrequency(ulong* lpFrequency);
@@ -1358,18 +1302,10 @@
 
 BOOL SetConsoleMode(HANDLE hConsoleHandle, DWORD dwMode);
 
-DWORD GetConsoleTitleA(LPSTR lpConsoleTitle, DWORD nSize);
 DWORD GetConsoleTitleW(LPWSTR lpConsoleTitle, DWORD nSize);
 
-BOOL SetConsoleTitleA(LPCSTR lpConsoleTitle);
 BOOL SetConsoleTitleW(LPCWSTR lpConsoleTitle);
 
-BOOL ReadConsoleA(
-	HANDLE hConsoleInput,
-	LPSTR lpBuffer,
-	DWORD nNumberOfCharsToRead,
-	DWORD* lpNumberOfCharsRead,
-	VOID* lpReserved);
 BOOL ReadConsoleW(
 	HANDLE hConsoleInput,
 	LPWSTR lpBuffer,
@@ -1377,12 +1313,6 @@
 	DWORD* lpNumberOfCharsRead,
 	VOID* lpReserved);
 
-BOOL WriteConsoleA(
-	HANDLE hConsoleOutput,
-	LPCSTR lpBuffer,
-	DWORD nNumberOfCharsToWrite,
-	DWORD* lpNumberOfCharsWritten,
-	VOID* lpReserved);
 BOOL WriteConsoleW(
 	HANDLE hConsoleOutput,
 	LPCWSTR lpBuffer,
@@ -1391,13 +1321,13 @@
 	VOID* lpReserved);
 
 enum {
-	FOREGROUND_BLUE		 = 0x0001,
-	FOREGROUND_GREEN	 = 0x0002,
-	FOREGROUND_RED		 = 0x0004,
+	FOREGROUND_BLUE      = 0x0001,
+	FOREGROUND_GREEN     = 0x0002,
+	FOREGROUND_RED       = 0x0004,
 	FOREGROUND_INTENSITY = 0x0008,
-	BACKGROUND_BLUE		 = 0x0010,
-	BACKGROUND_GREEN	 = 0x0020,
-	BACKGROUND_RED		 = 0x0040,
+	BACKGROUND_BLUE      = 0x0010,
+	BACKGROUND_GREEN     = 0x0020,
+	BACKGROUND_RED       = 0x0040,
 	BACKGROUND_INTENSITY = 0x0080
 }
 
@@ -1437,18 +1367,15 @@
 
 enum {
 	BIF_RETURNONLYFSDIRS = 0x0001,
-	BIF_EDITBOX			 = 0x0010,
-	BIF_NEWDIALOGSTYLE	 = 0x0040,
-	BIF_USENEWUI		 = (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)
+	BIF_EDITBOX          = 0x0010,
+	BIF_NEWDIALOGSTYLE   = 0x0040,
+	BIF_USENEWUI         = (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)
 }
 
-ITEMIDLIST* SHBrowseForFolderA(BROWSEINFO* lpbi);
 ITEMIDLIST* SHBrowseForFolderW(BROWSEINFO* lpbi);
 
-BOOL SHGetPathFromIDListA(ITEMIDLIST* pidl, LPSTR pszPath);
 BOOL SHGetPathFromIDListW(ITEMIDLIST* pidl, LPWSTR pszPath);
 
-HRESULT SHGetFolderPathA(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPSTR pszPath);
 HRESULT SHGetFolderPathW(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);
 
 HRESULT SHGetDesktopFolder(IShellFolder** ppshf);
@@ -1595,84 +1522,49 @@
 
 //}}}
 
-version(UNICODE) {
-	alias MessageBoxW              MessageBox;
-	alias RegisterClassExW		   RegisterClassEx;
-	alias CreateWindowExW		   CreateWindowEx;
-	alias DefWindowProcW		   DefWindowProc;
-	alias GetWindowLongW		   GetWindowLong;
-	alias SetWindowLongW		   SetWindowLong;
-	alias GetWindowLongPtrW		   GetWindowLongPtr;
-	alias SetWindowLongPtrW		   SetWindowLongPtr;
-	alias GetWindowTextW		   GetWindowText;
-	alias SetWindowTextW		   SetWindowText;
-	alias GetWindowModuleFileNameW GetWindowModuleFileName;
-	alias SetPropW				   SetProp;
-	alias GetPropW				   GetProp;
-	alias RemovePropW			   RemoveProp;
-	alias GetOpenFileNameW		   GetOpenFileName;
-	alias GetSaveFileNameW		   GetSaveFileName;
-	alias GetMessageW			   GetMessage;
-	alias DispatchMessageW		   DispatchMessage;
-	alias PostMessageW             PostMessage;
-	alias SendMessageW             SendMessage;
-	alias LoadImageW			   LoadImage;
-	alias GetObjectW               GetObject;
-	alias EnumFontFamiliesExW	   EnumFontFamiliesEx;
-	alias SystemParametersInfoW	   SystemParametersInfo;
-	alias GetVersionExW			   GetVersionEx;
-	alias GetModuleHandleW		   GetModuleHandle;
-	alias LoadLibraryW			   LoadLibrary;
-	alias SHGetSpecialFolderPathW  SHGetSpecialFolderPath;
-	alias GetConsoleTitleW		   GetConsoleTitle;
-	alias SetConsoleTitleW		   SetConsoleTitle;
-	alias ReadConsoleW			   ReadConsole;
-	alias WriteConsoleW			   WriteConsole;
-	alias SHBrowseForFolderW	   SHBrowseForFolder;
-	alias SHGetPathFromIDListW	   SHGetPathFromIDList;
-	alias SHGetFolderPathW		   SHGetFolderPath;
+//{{{ alias ...W -> ...
+alias MessageBoxW              MessageBox;
+alias RegisterClassExW         RegisterClassEx;
+alias CreateWindowExW          CreateWindowEx;
+alias DefWindowProcW           DefWindowProc;
+alias GetWindowLongW           GetWindowLong;
+alias SetWindowLongW           SetWindowLong;
+alias GetWindowLongPtrW        GetWindowLongPtr;
+alias SetWindowLongPtrW        SetWindowLongPtr;
+alias GetWindowTextW           GetWindowText;
+alias SetWindowTextW           SetWindowText;
+alias GetWindowModuleFileNameW GetWindowModuleFileName;
+alias SetPropW                 SetProp;
+alias GetPropW                 GetProp;
+alias RemovePropW              RemoveProp;
+alias GetOpenFileNameW         GetOpenFileName;
+alias GetSaveFileNameW         GetSaveFileName;
+alias GetMessageW              GetMessage;
+alias DispatchMessageW         DispatchMessage;
+alias PostMessageW             PostMessage;
+alias SendMessageW             SendMessage;
+alias LoadImageW               LoadImage;
+alias GetObjectW               GetObject;
+alias EnumFontFamiliesExW      EnumFontFamiliesEx;
+alias SystemParametersInfoW    SystemParametersInfo;
+alias GetVersionExW            GetVersionEx;
+alias GetModuleHandleW         GetModuleHandle;
+alias LoadLibraryW             LoadLibrary;
+alias SHGetSpecialFolderPathW  SHGetSpecialFolderPath;
+alias GetConsoleTitleW         GetConsoleTitle;
+alias SetConsoleTitleW         SetConsoleTitle;
+alias ReadConsoleW             ReadConsole;
+alias WriteConsoleW            WriteConsole;
+alias SHBrowseForFolderW       SHBrowseForFolder;
+alias SHGetPathFromIDListW     SHGetPathFromIDList;
+alias SHGetFolderPathW         SHGetFolderPath;
 
-	alias LOGFONTW       LOGFONT;
-	alias NONCLIENTMETRICSW NONCLIENTMETRICS;
-	alias ENUMLOGFONTEXW ENUMLOGFONTEX;
-	alias TEXTMETRICW    TEXTMETRIC;
-	alias OSVERSIONINFOW OSVERSIONINFO;
-} else {
-	alias MessageBoxA              MessageBox;
-	alias RegisterClassExA		   RegisterClassEx;
-	alias CreateWindowExA		   CreateWindowEx;
-	alias DefWindowProcA		   DefWindowProc;
-	alias GetWindowLongA		   GetWindowLong;
-	alias SetWindowLongA		   SetWindowLong;
-	alias GetWindowLongPtrA		   GetWindowLongPtr;
-	alias SetWindowLongPtrA		   SetWindowLongPtr;
-	alias GetWindowTextA		   GetWindowText;
-	alias SetWindowTextA		   SetWindowText;
-	alias GetWindowModuleFileNameA GetWindowModuleFileName;
-	alias SetPropA				   SetProp;
-	alias GetPropA				   GetProp;
-	alias RemovePropA			   RemoveProp;
-	alias GetOpenFileNameA		   GetOpenFileName;
-	alias GetSaveFileNameA		   GetSaveFileName;
-	alias GetMessageA			   GetMessage;
-	alias DispatchMessageA		   DispatchMessage;
-	alias PostMessageA             PostMessage;
-	alias SendMessageA             SendMessage;
-	alias LoadImageA			   LoadImage;
-	alias EnumFontFamiliesExA	   EnumFontFamiliesEx;
-	alias SystemParametersInfoA	   SystemParametersInfo;
-	alias GetVersionExA			   GetVersionEx;
-	alias GetModuleHandleA		   GetModuleHandle;
-	alias LoadLibraryA			   LoadLibrary;
-	alias SHGetSpecialFolderPathA  SHGetSpecialFolderPath;
-	alias GetConsoleTitleA		   GetConsoleTitle;
-	alias SetConsoleTitleA		   SetConsoleTitle;
-	alias ReadConsoleA			   ReadConsole;
-	alias WriteConsoleA			   WriteConsole;
-	alias SHBrowseForFolderA	   SHBrowseForFolder;
-	alias SHGetPathFromIDListA	   SHGetPathFromIDList;
-	alias SHGetFolderPathA		   SHGetFolderPath;
-}
+alias LOGFONTW          LOGFONT;
+alias NONCLIENTMETRICSW NONCLIENTMETRICS;
+alias ENUMLOGFONTEXW    ENUMLOGFONTEX;
+alias TEXTMETRICW       TEXTMETRIC;
+alias OSVERSIONINFOW    OSVERSIONINFO;
+//}}}
 
 struct POINT {
 	LONG x;
@@ -1696,19 +1588,19 @@
 }
 const int LF_FACESIZE = 32;
 struct LOGFONTW {
-	LONG			   lfHeight;
-	LONG			   lfWidth;
-	LONG			   lfEscapement;
-	LONG			   lfOrientation;
-	LONG			   lfWeight;
-	BYTE			   lfItalic;
-	BYTE			   lfUnderline;
-	BYTE			   lfStrikeOut;
-	BYTE			   lfCharSet;
-	BYTE			   lfOutPrecision;
-	BYTE			   lfClipPrecision;
-	BYTE			   lfQuality;
-	BYTE			   lfPitchAndFamily;
+	LONG               lfHeight;
+	LONG               lfWidth;
+	LONG               lfEscapement;
+	LONG               lfOrientation;
+	LONG               lfWeight;
+	BYTE               lfItalic;
+	BYTE               lfUnderline;
+	BYTE               lfStrikeOut;
+	BYTE               lfCharSet;
+	BYTE               lfOutPrecision;
+	BYTE               lfClipPrecision;
+	BYTE               lfQuality;
+	BYTE               lfPitchAndFamily;
 	WCHAR[LF_FACESIZE] lfFaceName;
 }
 struct NONCLIENTMETRICSW {
@@ -1730,10 +1622,10 @@
 }
 const int LF_FULLFACESIZE = 64;
 struct ENUMLOGFONTEXW {
-	LOGFONT				   elfLogFont;
+	LOGFONT                elfLogFont;
 	WCHAR[LF_FULLFACESIZE] elfFullName;
-	WCHAR[LF_FACESIZE]	   elfStyle;
-	WCHAR[LF_FACESIZE]	   elfScript;
+	WCHAR[LF_FACESIZE]     elfStyle;
+	WCHAR[LF_FACESIZE]     elfScript;
 }
 struct TEXTMETRICW {
 	LONG  tmHeight;
@@ -1765,7 +1657,7 @@
 }
 struct BITMAPINFO {
 	BITMAPINFOHEADER bmiHeader;
-	RGBQUAD[1]		 bmiColors;
+	RGBQUAD[1]       bmiColors;
 }
 struct BITMAPINFOHEADER {
 	DWORD biSize;
@@ -1805,18 +1697,18 @@
 	POINT pt;
 }
 struct WNDCLASSEX {
-	UINT	  cbSize;
-	UINT	  style;
-	WNDPROC	  lpfnWndProc;
-	int		  cbClsExtra;
-	int		  cbWndExtra;
+	UINT      cbSize;
+	UINT      style;
+	WNDPROC   lpfnWndProc;
+	int       cbClsExtra;
+	int       cbWndExtra;
 	HINSTANCE hInstance;
-	HICON	  hIcon;
-	HCURSOR	  hCursor;
-	HBRUSH	  hbrBackground;
-	LPCTSTR	  lpszMenuName;
-	LPCTSTR	  lpszClassName;
-	HICON	  hIconSm;
+	HICON     hIcon;
+	HCURSOR   hCursor;
+	HBRUSH    hbrBackground;
+	LPCTSTR   lpszMenuName;
+	LPCTSTR   lpszClassName;
+	HICON      hIconSm;
 }
 struct WINDOWINFO {
 	DWORD cbSize;
@@ -1831,11 +1723,11 @@
 	WORD  wCreatorVersion;
 }
 struct PAINTSTRUCT {
-	HDC		 hdc;
-	BOOL	 fErase;
-	RECT	 rcPaint;
-	BOOL	 fRestore;
-	BOOL	 fIncUpdate;
+	HDC      hdc;
+	BOOL     fErase;
+	RECT     rcPaint;
+	BOOL     fRestore;
+	BOOL     fIncUpdate;
 	BYTE[32] rgbReserved;
 }
 struct TRACKMOUSEEVENT {
@@ -1845,47 +1737,47 @@
 	DWORD dwHoverTime;
 }
 struct OPENFILENAME {
-	DWORD		  lStructSize;
-	HWND		  hWndOwner;
-	HINSTANCE	  hInstance;
-	LPCTSTR		  lpstrFilter;
-	LPTSTR		  lpstrCustomFilter;
-	DWORD		  nMaxCustFilter;
-	DWORD		  nFilterIndex;
-	LPTSTR		  lpstrFile;
-	DWORD		  nMaxFile;
-	LPTSTR		  lpstrFileTitle;
-	DWORD		  nMaxFileTitle;
-	LPCTSTR		  lpstrInitialDir;
-	LPCTSTR		  lpstrTitle;
-	DWORD		  Flags;
-	WORD		  nFileOffset;
-	WORD		  nFileExtension;
-	LPCTSTR		  lpstrDefExt;
-	LPARAM		  lCustData;
+	DWORD         lStructSize;
+	HWND          hWndOwner;
+	HINSTANCE     hInstance;
+	LPCTSTR       lpstrFilter;
+	LPTSTR        lpstrCustomFilter;
+	DWORD         nMaxCustFilter;
+	DWORD         nFilterIndex;
+	LPTSTR        lpstrFile;
+	DWORD         nMaxFile;
+	LPTSTR        lpstrFileTitle;
+	DWORD         nMaxFileTitle;
+	LPCTSTR       lpstrInitialDir;
+	LPCTSTR       lpstrTitle;
+	DWORD         Flags;
+	WORD          nFileOffset;
+	WORD          nFileExtension;
+	LPCTSTR       lpstrDefExt;
+	LPARAM        lCustData;
 	LPOFNHOOKPROC lpfnHook;
-	LPCTSTR		  lpTemplateName;
-	//	if(_WIN32_WINNT >= 0x0500)
-	//void*		  pvReserved;
-	//DWORD		  dwReserved;
-	//DWORD		  FlagsEx;
+	LPCTSTR       lpTemplateName;
+	// if(_WIN32_WINNT >= 0x0500)
+	//void*       pvReserved;
+	//DWORD       dwReserved;
+	//DWORD       FlagsEx;
 }
 struct SHITEMID {
-	USHORT	cb;
+	USHORT  cb;
 	BYTE[1] abID;
 }
 struct ITEMIDLIST {
 	SHITEMID mkid;
 }
 struct BROWSEINFO {
-	HWND		hwndOwner;
+	HWND        hwndOwner;
 	ITEMIDLIST* pidlRoot;
-	LPTSTR		pszDisplayName;
-	LPCTSTR		lpszTitle;
-	UINT		ulFlags;
+	LPTSTR      pszDisplayName;
+	LPCTSTR     lpszTitle;
+	UINT        ulFlags;
 	BFFCALLBACK lpfn;
-	LPARAM		lParam;
-	int			iImage;
+	LPARAM      lParam;
+	int         iImage;
 }
 struct OVERLAPPED {
 	ULONG_PTR Internal;
--- a/dynamin/c/xlib.d	Sat Jul 18 01:45:17 2009 -0500
+++ b/dynamin/c/xlib.d	Sat Jul 18 02:35:24 2009 -0500
@@ -447,16 +447,16 @@
 }
 
 enum {
-	USPosition	= 1 << 0,
-	USSize		= 1 << 1,
-	PPosition	= 1 << 2,
-	PSize		= 1 << 3,
-	PMinSize	= 1 << 4,
-	PMaxSize	= 1 << 5,
-	PResizeInc	= 1 << 6,
-	PAspect		= 1 << 7,
-	PBaseSize	= 1 << 8,
-	PWinGravity	= 1 << 9
+	USPosition  = 1 << 0,
+	USSize      = 1 << 1,
+	PPosition   = 1 << 2,
+	PSize       = 1 << 3,
+	PMinSize    = 1 << 4,
+	PMaxSize    = 1 << 5,
+	PResizeInc  = 1 << 6,
+	PAspect     = 1 << 7,
+	PBaseSize   = 1 << 8,
+	PWinGravity = 1 << 9
 }
 
 enum {
--- a/dynamin/gui/file_dialog.d	Sat Jul 18 01:45:17 2009 -0500
+++ b/dynamin/gui/file_dialog.d	Sat Jul 18 02:35:24 2009 -0500
@@ -115,7 +115,7 @@
 	 */
 	bool multipleSelection() { return _multipleSelection; }
 	/// ditto
-	void multipleSelection(bool b) { _multipleSelection = b;	}
+	void multipleSelection(bool b) { _multipleSelection = b; }
 
 	/// Gets or sets the text that is displayed in the dialog's title bar.
 	string text() { return _text; }
--- a/dynamin/gui/scrollable.d	Sat Jul 18 01:45:17 2009 -0500
+++ b/dynamin/gui/scrollable.d	Sat Jul 18 02:35:24 2009 -0500
@@ -126,9 +126,9 @@
  * -----
  * class YourControl : Scrollable {
  *   protected override void whenContentPainting(PaintingEventArgs e) {
- * 	   with(e.graphics) {
- * 	     drawText("Hello World", 5, 5);
- * 	   }
+ *     with(e.graphics) {
+ *       drawText("Hello World", 5, 5);
+ *     }
  *   }
  * }
  * -----