[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