[tekui-devel] tekui: Raw framebuffer display driver: added; 64bit fixes and so...

Timm S. Mueller tmueller at neoscientists.org
Sun Sep 6 22:59:00 CEST 2009


details:   http://hg.teklib.org/tekui/rev/d8f182a078e6
changeset: 119:d8f182a078e6
user:      Timm S. Mueller <tmueller at neoscientists.org>
date:      Sat Aug 08 11:22:05 2009 +0200
description:
Raw framebuffer display driver: added; 64bit fixes and source code maintenance
adjustments merged in from TEKlib; X11 driver: Now using the XVid extension
and a more sophisticated window opening procedure to much better support
fullscreen applications; Visual, displays, Drawable: Added TVCMD_FLUSH command
to TVRequest, flush() method and a dirty flag indicating window changes;
Visual, Lua bindings: Added length argument to textSize(); Args: Partly
rewritten, now handles missing keywords correctly in /M/K modifiers; Region:
added trans(), isNull(); Area:layout() now handles blits in transposed drawing
contexts; Drawable:getClipRect() added; Frame:layoutBorder() split off from
layout(); ListGadget: fixedto work in absence of a style sheet;
Window:addBlit() added, update() now calls flush() after repaints

diffs (truncated from 2038 to 100 lines):

diff -r 473b683a58d5 -r d8f182a078e6 CHANGES
--- a/CHANGES	Sat Jul 18 22:39:37 2009 +0200
+++ b/CHANGES	Sat Aug 08 11:22:05 2009 +0200
@@ -1,5 +1,22 @@
 
 == tekUI Changelog ==
+
+ * Raw Framebuffer display driver: added
+ * 64bit fixes and source code maintenance adjustments merged in from
+ TEKlib
+ * X11 driver: Now using the XVid extension and a more sophisticated
+ window opening procedure to much better support fullscreen applications
+ * Visual, displays, Drawable: Added TVCMD_FLUSH command to TVRequest,
+ a flush() method and a dirty flag indicating window changes
+ * Visual, Lua bindings: Added length argument to textSize()
+ * Args: Partly rewritten, now handles missing keywords correctly in
+ /M/K modifiers
+ * Region: added trans(), isNull()
+ * Area:layout() now handles blits in transposed drawing contexts
+ * Drawable:getClipRect() added
+ * Frame:layoutBorder() split off from layout()
+ * ListGadget: fixedto work in absence of a style sheet
+ * Window:addBlit() added, update() now calls flush() after repaints
 
 === 0.8g: ===
 
diff -r 473b683a58d5 -r d8f182a078e6 README
--- a/README	Sat Jul 18 22:39:37 2009 +0200
+++ b/README	Sat Aug 08 11:22:05 2009 +0200
@@ -24,6 +24,7 @@
    - 3.2.1 [[#notefbsd : FreeBSD notes]]
    - 3.2.2 [[#notex11 : X11 notes]]
    - 3.2.3 [[#notenanox : Nano-X notes]]
+   - 3.2.4 [[#noterawfb : Raw framebuffer notes]]
   - 3.3. [[#building : Building]]
   - 3.4. [[#installation : Installation]]
   - 3.5. [[#envvariables : Environment variables]]
@@ -78,10 +79,9 @@
 
 TekUI is in early stage of development. It is available for the
 Linux, Windows, and FreeBSD platforms. Display drivers are available
-for X11, Windows, DirectFB, and Nano-X. See also [[TODO][todo.html]]
-for a list of known bugs and missing features, and 
-[[#requirements]]
-for a list of the required packages.
+for X11, Windows, DirectFB, Nano-X, and a ''raw framebuffer''. See
+also [[TODO][todo.html]] for a list of known bugs and missing
+features, and [[#requirements]] for a list of the required packages.
 
 ==( development : 1.3. Development model )==
 
@@ -211,8 +211,8 @@
 performance-critical routines. Rendering and input handling are
 provided in the form of display drivers, which allow for easy
 exchangeability. Display drivers currently supported are for X11,
-Windows, [[DirectFB][http://www.directfb.org/]], and
-[[Nano-X][http://www.nano-x.org/]].
+Windows, [[DirectFB][http://www.directfb.org/]],
+[[Nano-X][http://www.nano-x.org/]], and a raw framebuffer.
 
 Aside from the display driver interface, the C library features
 OS-like facilities such as portable threads, a timer device and
@@ -334,6 +334,18 @@
 information. Example:
 
   # nano-X & THEME=nanox FULLSCREEN=true bin/demo_custom.lua
+
+===( noterawfb : 3.2.4. Raw framebuffer notes )===
+
+The raw framebuffer driver is available as part of the commercially
+supported version. Drawing primitives, clipping, and antialiased
+fonts are provided, and rendering can be targeted to user-supplied
+memory. This driver implements no input and serves as a template
+(or skeleton) for specializations in a target context, like custom
+hardware or a 3D game or simulation. For testing and debugging, the
+raw framebuffer driver is recursive; by plugging in another display
+driver, an instant visualization device and input source can be
+provided.
 
 ==( building : 3.3. Building )==
 
diff -r 473b683a58d5 -r d8f182a078e6 bin/compiler.lua
--- a/bin/compiler.lua	Sat Jul 18 22:39:37 2009 +0200
+++ b/bin/compiler.lua	Sat Aug 08 11:22:05 2009 +0200
@@ -703,7 +703,7 @@
 										if status == "selected" and select[1] then
 											local newfname = addpath(path, select[1])
 											filefield:setValue("Enter", newfname)
-											app:setStatus("Lua source selected.")
+											app:setStatus("Run the script to collect module dependencies.")
 										else
 											app:setStatus("File selection cancelled.")
 										end
@@ -791,7 +791,7 @@
 								ui.Button:new
 								{
 									Id = "button-run",
-									Text = "_Run Sample",
+									Text = "_Run",
 									Disabled = true,


More information about the tekui-devel mailing list