[tekui-devel] tekui: Visual API: Improved accuracy in vector image calculation...

Timm S. Mueller tmueller at schulze-mueller.de
Thu Nov 13 03:25:07 CET 2008


details:   http://hg.teklib.org/tekui/rev/803911afb9eb
changeset: 35:803911afb9eb
user:      Timm S. Mueller <tmueller at schulze-mueller.de>
date:      Thu Nov 13 00:51:42 2008 +0100
description:
Visual API: Improved accuracy in vector image calculations; CheckMark,
RadioButton, PopList, Scrollbar: updated vector imagery

diffs (truncated from 352 to 100 lines):

diff -r d6f7d2086646 -r 803911afb9eb doc/manual.html
--- a/doc/manual.html	Wed Nov 12 20:23:09 2008 +0100
+++ b/doc/manual.html	Thu Nov 13 00:51:42 2008 +0100
@@ -918,7 +918,7 @@
 			</p>
 			<hr />
 		</div>
-		<div class="node"><h2><a name="tek.ui.class.poplist" id="tek.ui.class.poplist">PopList (v5.2)</a></h2>
+		<div class="node"><h2><a name="tek.ui.class.poplist" id="tek.ui.class.poplist">PopList (v5.3)</a></h2>
 			<div class="definition"><dfn>LINEAGE</dfn>
 				<blockquote>
 					<p>
@@ -1019,7 +1019,7 @@
 			</p>
 			<hr />
 		</div>
-		<div class="node"><h2><a name="tek.ui.class.checkmark" id="tek.ui.class.checkmark">CheckMark (v3.0)</a></h2>
+		<div class="node"><h2><a name="tek.ui.class.checkmark" id="tek.ui.class.checkmark">CheckMark (v3.1)</a></h2>
 			<div class="definition"><dfn>LINEAGE</dfn>
 				<blockquote>
 					<p>
@@ -3564,7 +3564,7 @@
 			</p>
 			<hr />
 		</div>
-		<div class="node"><h2><a name="tek.ui.class.radiobutton" id="tek.ui.class.radiobutton">RadioButton (v2.0)</a></h2>
+		<div class="node"><h2><a name="tek.ui.class.radiobutton" id="tek.ui.class.radiobutton">RadioButton (v2.1)</a></h2>
 			<div class="definition"><dfn>LINEAGE</dfn>
 				<blockquote>
 					<p>
@@ -4244,7 +4244,7 @@
 			</p>
 			<hr />
 		</div>
-		<div class="node"><h2><a name="tek.ui.class.scrollbar" id="tek.ui.class.scrollbar">ScrollBar (v7.1)</a></h2>
+		<div class="node"><h2><a name="tek.ui.class.scrollbar" id="tek.ui.class.scrollbar">ScrollBar (v7.2)</a></h2>
 			<div class="definition"><dfn>LINEAGE</dfn>
 				<blockquote>
 					<p>
@@ -7286,7 +7286,7 @@ Class.checkDescend(Button, Area)
 </pre>
 		<hr />
 		<p>
-			Document generated on Wed Nov 12 20:02:48 2008
+			Document generated on Thu Nov 13 00:48:28 2008
 		</p>
 	</div>
 	</body>
diff -r d6f7d2086646 -r 803911afb9eb tek/lib/visual_api.c
--- a/tek/lib/visual_api.c	Wed Nov 12 20:23:09 2008 +0100
+++ b/tek/lib/visual_api.c	Thu Nov 13 00:51:42 2008 +0100
@@ -553,8 +553,9 @@ tek_lib_visual_drawimage(lua_State *L)
 
 	xoffs = minmax[0];
 	yoffs = minmax[1];
-	scalex = (rect[2] - rect[0]) * 65536 / (minmax[2] - xoffs);
-	scaley = (rect[3] - rect[1]) * 65536 / (minmax[3] - yoffs);
+	scalex = (rect[2] - rect[0] + 1) * 0x10000 / ((minmax[2] - xoffs + 1) / 0x100);
+	scaley = (rect[3] - rect[1] + 1) * 0x10000 / ((minmax[3] - yoffs + 1) / 0x100);
+	/* scale: 8bit ffp */
 
 	/* get coordinates */
 	lua_getfield(L, 2, "Coords");
@@ -618,10 +619,10 @@ tek_lib_visual_drawimage(lua_State *L)
 			/* get s:points[pidx*2] */
 			py = igetnumber(L, -4, pidx*2);
 
-			vis->vis_Drawdata.points[j*2] = rect[0] +
-				(px - xoffs) * scalex / 65536 + sx;
-			vis->vis_Drawdata.points[j*2+1] = rect[3] -
-				(py - yoffs) * scaley / 65536 + sy;
+			vis->vis_Drawdata.points[j*2] = rect[0] + sx +
+			 	((px - xoffs) / 0x100 * scalex + 0x7fff) / 0x10000;
+			vis->vis_Drawdata.points[j*2+1] = rect[1] + sy +
+			 	((py - yoffs) / 0x100 * scaley + 0x7fff) / 0x10000;
 		}
 		lua_pop(L, 1);
 		/* s: primitives[i+1], primitives, coords */
diff -r d6f7d2086646 -r 803911afb9eb tek/ui/class/checkmark.lua
--- a/tek/ui/class/checkmark.lua	Wed Nov 12 20:23:09 2008 +0100
+++ b/tek/ui/class/checkmark.lua	Thu Nov 13 00:51:42 2008 +0100
@@ -40,7 +40,7 @@ local max = math.max
 local max = math.max
 
 module("tek.ui.class.checkmark", tek.ui.class.text)
-_VERSION = "CheckMark 3.0"
+_VERSION = "CheckMark 3.1"
 
 -------------------------------------------------------------------------------
 --	Constants & Class data:
@@ -49,20 +49,20 @@ local coords =
 local coords =
 {
 	0,0,
-	-2,2,
-	-3,1,
-	0,-2,
-	6,4,
-	5,5,
-


More information about the tekui-devel mailing list