I'm going to start implementing rotation. I thought about a few different ways of 
doing it, including adding geometric transformation capability during gropnode 
rendering, but I think the most consistant way to do it without messing up clipping 
and things in the rest of the server is to add video wrapper libraries that can be 
applied over the other video libraries. This would take advantage of the video 
libraries' inheritance capability, and produce something like this: (pardon the ascii 
art)
In actuality, this is implemented with a pointer table but this diagram should make it 
easy to follow.

Calls to video lib
        |
        |
       \|/
.---------------.
| Video Wrapper |     Applies device-independant geometric transformations or
._______________.     other modifications before rendering
        |
        |     It passes on calls to the video library
       \|/
.---------------.
| Video Library |     Device dependant initialization and color transformation
._______________.
        |
        |     Any calls not overridden in the video lib falls through
       \|/
.---------------.
| Vid Base Lib  |     Implements most primitives, partially hardware specific
._______________.
        |
        |     Unimplemented calls fall through
       \|/
.---------------.
| Defaultvbl    |     Must implement everything, not hardware specific
._______________.

--

Only wimps use tape backup: _real_ men just upload
their important stuff on ftp, and let the rest of the
world mirror it ;)
  -- Linus Torvalds


_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/pgui-devel

Reply via email to