[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