Ove Kaaven wrote:
> 
> I've looked at the DDK, and it seems that whoever designed DirectDraw/3D
> weren't the same guys that designed DirectSound. There isn't exactly a COM
> interface, rather the HAL interface is a range of C structures and
> callbacks (although GUIDs and vtables seem to be referenced here and
> there), e.g.
> 
> typedef struct _DDHAL_DDCALLBACKS
> {
>     DWORD            dwSize;
>     DWORD            dwFlags;
>     LPDDHAL_DESTROYDRIVER    DestroyDriver;
>     LPDDHAL_CREATESURFACE    CreateSurface;
>     LPDDHAL_SETCOLORKEY      SetColorKey;
>     LPDDHAL_SETMODE      SetMode;
>     LPDDHAL_WAITFORVERTICALBLANK WaitForVerticalBlank;
>     LPDDHAL_CANCREATESURFACE     CanCreateSurface;
>     LPDDHAL_CREATEPALETTE    CreatePalette;
>     LPDDHAL_GETSCANLINE      GetScanLine;
>     // *** New fields for DX2 *** //
>     LPDDHAL_SETEXCLUSIVEMODE     SetExclusiveMode;
>     LPDDHAL_FLIPTOGDISURFACE     FlipToGDISurface;
> } DDHAL_DDCALLBACKS;

Well, the SetMode callback could be used for XVidMode/DGA support, 
if we can retrieve the cooperative window from the DDraw object
it gets passed.  We might also be able to do DXGrab this way as
well, but that raises the issue that in Windows, the DD driver
HAL interface above is intended for video use only, not input 
use.  I'm not quite sure where it's appropriate for us to make
a connection between video and input related stuff.  We certainly
*could* have the x11driver ddraw HAL make the call to grab the 
mouse, but I don't know if this is the cleanest way to do things.

None of the DDK interfaces that I've seen seem to lend themselves
to the task of managing our glX context needs.  They have 
'context' APIs, but they're on a per D3D Object level, which I don't
think meshes well with glX.  Also, they don't seem expose an API to 
set the context.

-Gav

-- 
Gavriel State, CEO
TransGaming Technologies Inc.
http://www.transgaming.com
[EMAIL PROTECTED]

Reply via email to