REF: http://sourceforge.net/projects/enlightenment
I've taken a look at Rasterman's EVAS canvas system,
and color me impressed. The EVAS system take a completely
diffect tack on how to perform hardware acceleration, and
is appears to be easier to adapt to hardware acceleration
that GGI.
The main difference between EVAS and GGI hardware
acceleration is that GGI draw objects, and EVAS manages
objects. In GGI, you draw a box, or line, or pixel, but
once the pixels are placed, GGI retains no state information
as to _what_ was placed _where_.
EVAS is very different. After creating the EVAS canvas,
you can create and attach objects to that canvas. For example,
if I want to draw a line, I ask the canvas for a line object,
then set its endpoints, color, etc.
So far so good. Now here's where it gets interesting -
I can now scale rotate, set alpha levels, set layer levels, etc.
Without drawing a new line. I just modify the old line's
propeties, and the EVAS redraw takes care of the rest. The
visibility/update management of a canvas system gets you far
greater speed that GGI's brute-force pixel pushing, and
you automatically get these features:
* Everythings a Cursor
* Only update what has changed
* Canvas has the entire `scene graph', and
therefore has MANY more opportunities for
hardware optimizations.
* All pixmaps that you want to display are
converted to screen format, even if currently
`hidden'. No more ggiOpen() on special memory visuals!
Also, EVAS has Xlib, X11 SHM/MMX, and OpenGL rendering
backends. A KGI backend would be a Small Matter of Programming(tm).
In conclusion, I came out of the lurking woodwork to
say that GGI has missed the pixel-pusing space. Modern displays
(especially when the IBM 200dpi displays are ready for the
consumer market) will require 2D scene graph management, and
putting that management on the app writer is not a good idea.
A canvas system is where we should be putting our efforts in
2001, and backing an existing project would be a good way to
put our collective talents to use.
I'll shut up and lurk now.
--
Jason McMullan, Senior Linux Consultant
Linuxcare, Inc. 412.422.8077 tel, 412.656.3519 cell
[EMAIL PROTECTED], http://www.linuxcare.com/
Linuxcare. Putting open source to work.