diff dynamin/painting/windows_text_layout.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 73060bc3f004
children
line wrap: on
line diff
--- a/dynamin/painting/windows_text_layout.d	Sat Nov 24 10:21:50 2012 -0600
+++ b/dynamin/painting/windows_text_layout.d	Mon Dec 17 23:41:50 2012 -0600
@@ -101,7 +101,7 @@
 		KoreanHangul       = getUniscribeScript("갠흯㉡");
 	}
 	// returns the Uniscribe script number (SCRIPT_ANALYSIS.eScript) from the specified sample text
-	static int getUniscribeScript(wchar[] sample) {
+	static int getUniscribeScript(const(wchar)[] sample) {
 		SCRIPT_ITEM[5] items;
 		int itemsProcessed;
 		HRESULT r = ScriptItemize(sample.ptr,
@@ -117,9 +117,9 @@
 	}
 
 	// adds fallback fonts to the specified fallbacks array
-	void getFontFallbacks(int script, wchar[][] fallbacks) {
+	void getFontFallbacks(int script, const(wchar)[][] fallbacks) {
 		int i = 0;
-		void addFallback(wchar[] str) {
+		void addFallback(const(wchar)[] str) {
 			fallbacks[i++] = str;
 		}
 		if(script == Latin || script == Greek || script == Cyrillic)
@@ -330,7 +330,7 @@
 			if(items[itemIndex+1].iCharPos == wstart)
 				itemIndex++;
 
-			levels.add(items[itemIndex].a.s.uBidiLevel.get());
+			levels.add(cast(BYTE)items[itemIndex].a.s.uBidiLevel.get());
 
 			cairo_matrix_t ctm;
 			cairo_get_matrix(cr, &ctm);