DDraw issues, etc.

Lionel Ulmer lionel.ulmer at free.fr
Sat Apr 3 02:26:12 CST 2004


> I've implemented SetClipList and GetClipList in the DirectDraw Clipper,
> and I'm wondering how I should go about implementing clipping in
> DirectDraw's Blt() (if it isn't already done somewhere).

Usually, games use the Clipper to do 'non-full screen' DirectX applications.
There is no way to do a work-around to have it running in full-screen :-) ?

Anyway, all this clipping is not really implemented properly as most of the
effort was spent on full screen apps. As far as I can see in the code, the
only case supported with clipping is the case where only one rectangle is
given in the clip list via the SetHWnd method (see, for example,
User_copy_to_screen in dlls/ddraw/dsurface/user.c) which is the 'standard'
case for windowed DirectX applications (like Media player) : a menu bar + a
DirectX display zone.

After, if the list is only one rectangle, it should be easy to re-use the
existing code. Otherwise (ie multiple rectangles), you should check if you
can support with the 'BitBlt' API something like the 'XSetClipRectangles'
X11 API (which can't be called directly from DirectX anymore) which would
prevent us rewriting in the DirectX code some generic 'multi-rectangle'
clipping code.

         Lionel

-- 
		 Lionel Ulmer - http://www.bbrox.org/



More information about the wine-devel mailing list