Re: [AD] windowed mode

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


"Stefan Schimanski" <1Stein@xxxxxxxxxx> writes:

> I want to implement windowed mode drivers for Windows in the near
> future. There are several ways to do this:
> 
> 1. Using hardware overlay
> 
> 2. Using implicit double buffering
> 
> 3. Scanline buffering
> 
> 4. Direct primary surface access
> 
> How is the windowed mode driver implemented in XWinAllegro? I guess that
> there is neither direct video memory access in XWindows nor overlay
> support. Does is use any kind of double buffering system?

XwinAllegro was using double buffering, screen data was allocated with
malloc, window contents was updated from Allegro screen in the special
thread with automatic conversion from current Allegro pixel format to
the window pixel format.

For new version I would like to use scanline buffering at first, and
then add wrappers for graphics primitives in vtables.  These wrappers
will turn off window update in [un]write_line and will call real
graphics primitives and update only part of the window which was
changed.  This way, graphics primitives will be fast (those which are
linked from vtables), and direct access with bmp_write_line will work
too.

-- 
Michael Bukin



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/