Re: [AD] Color convertors

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


> I can't. The BeOS driver allows direct access to the VRAM in windowed
> mode, by passing the application a serie of clipping rects that map to the
> visible portions of the program window. You have to take care of updating
> the window contents by writing directly to the vram only inside these
> rects, that obviously can be of any size - including 1 pixel wide strips.

Does the system continually pass clipping rectangles to the app or only when
the window is being overlapped ?

> On other systems like Win32, X and QNX things work different, as it is the
> system that actually does the clipping for your window, and you just have
> to write your gfx data to a bitmap that never changes in size.

The Win32 driver has got direct access to VRAM too so it must also take care
not to draw onto other windows: when the window is in the foreground, the
driver writes directly into VRAM (using only rectangles with 4-aligned
width); when the window is being overlapped (hence will likely get paint
requests), the driver switches into indirect mode where it first draws onto
an intermediate bitmap (using again only rectangles with 4-aligned width)
and then asks the system to clip and blit.

> This is because  in BeOS you can switch the desktop color depth on the fly
> while your program is running, and it must take care of the change (in our
> case by changing the blitter function)

Under Windows too, but then Allegro crashes I think.
Not very important IMHO (although we could catch the event and terminate the
program).

---
Eric Botcazou
ebotcazou@xxxxxxxxxx



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