diff dynamin/c/windows.d @ 106:acdbb30fee7e

Port to D2. Most of the effort was dealing with immutable and const.
author Jordan Miner <jminer7@gmail.com>
date Mon, 17 Dec 2012 23:41:50 -0600
parents 8b2d3b3cbca6
children e1eb6df1cfbd
line wrap: on
line diff
--- a/dynamin/c/windows.d	Sat Nov 24 10:21:50 2012 -0600
+++ b/dynamin/c/windows.d	Mon Dec 17 23:41:50 2012 -0600
@@ -17,8 +17,8 @@
 
 alias char*  LPSTR;
 alias wchar* LPWSTR;
-alias char*  LPCSTR;
-alias wchar* LPCWSTR;
+alias const(char)*  LPCSTR;
+alias const(wchar)* LPCWSTR;
 // unicode
 alias wchar   TCHAR;
 alias LPWSTR  LPTSTR;
@@ -112,7 +112,7 @@
 BYTE LOBYTE(WORD w) { return cast(BYTE)(w & 0xff); }
 BYTE HIBYTE(WORD w) { return cast(BYTE)(w >> 8); }
 LPWSTR MAKEINTRESOURCE(int i) { return cast(LPWSTR)cast(WORD)i; }
-BYTE GetRValue(DWORD rgb) { return LOBYTE(rgb); }
+BYTE GetRValue(DWORD rgb) { return LOBYTE(cast(WORD)rgb); }
 BYTE GetGValue(DWORD rgb) { return LOBYTE(cast(WORD)rgb >> 8); }
 BYTE GetBValue(DWORD rgb) { return LOBYTE(rgb >> 16); }
 
@@ -1366,7 +1366,7 @@
 	DWORD* lpNumberOfCharsWritten,
 	VOID* lpReserved);
 
-enum {
+enum : ushort {
 	FOREGROUND_BLUE      = 0x0001,
 	FOREGROUND_GREEN     = 0x0002,
 	FOREGROUND_RED       = 0x0004,