Cygwin/X: Enable building of nativegdi and primaryfb engines to avoid further rusting
Some trivial build fixes required Also fill out all function pointers for primaryfb engine Also tidy up the man page section describing drawing engines. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net> Tested-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
parent
c6aa4755ec
commit
708d0b9781
|
@ -1903,8 +1903,8 @@ AM_CONDITIONAL(XWIN_MULTIWINDOW, [test "x$XWIN" = xyes])
|
|||
AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
|
||||
AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
|
||||
AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && false])
|
||||
AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes && false])
|
||||
AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes && false])
|
||||
AM_CONDITIONAL(XWIN_NATIVEGDI, [test "x$XWIN" = xyes])
|
||||
AM_CONDITIONAL(XWIN_PRIMARYFB, [test "x$XWIN" = xyes])
|
||||
AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
|
||||
AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])
|
||||
|
||||
|
|
|
@ -755,6 +755,9 @@ winUseMsg (void)
|
|||
"\t\t1 - Shadow GDI\n"
|
||||
"\t\t2 - Shadow DirectDraw\n"
|
||||
"\t\t4 - Shadow DirectDraw4 Non-Locking\n"
|
||||
#ifdef XWIN_PRIMARYFB
|
||||
"\t\t8 - Primary DirectDraw - obsolete\n"
|
||||
#endif
|
||||
#ifdef XWIN_NATIVEGDI
|
||||
"\t\t16 - Native GDI - experimental\n"
|
||||
#endif
|
||||
|
|
|
@ -190,15 +190,27 @@ respectively).
|
|||
.TP 8
|
||||
.B "\-engine \fIengine_type_id\fP"
|
||||
This option, which is intended for Cygwin/X developers,
|
||||
overrides the server's automatically selected engine type. This
|
||||
parameter will be ignored if the specified engine type is not
|
||||
supported on the current system. The supported engine type ids are 1
|
||||
- Shadow GDI, 2 - Shadow DirectDraw, and 4 - Shadow DirectDraw Non-Locking.
|
||||
Additionally, there are engines with type ids
|
||||
8 - Primary DirectDraw (obsolete) and 16 - Native GDI (experimental and barely functional).
|
||||
Default behavior is to determine the engine with optimum performance that
|
||||
overrides the server's automatically selected drawing engine type. This
|
||||
parameter will be ignored if the specified drawing engine type is not
|
||||
supported on the current system.
|
||||
|
||||
Default behavior is to select the drawing engine with optimum performance that
|
||||
supports the specified depth and window configuration.
|
||||
|
||||
The engine type ids are:
|
||||
.RS
|
||||
.IP 1 4
|
||||
Shadow GDI
|
||||
.IP 2 4
|
||||
Shadow DirectDraw
|
||||
.IP 4 4
|
||||
Shadow DirectDraw Non-Locking
|
||||
.IP 8 4
|
||||
Primary DirectDraw (unsupported, obsolete)
|
||||
.IP 16 4
|
||||
Native GDI (unsupported, experimental and barely functional)
|
||||
.RE
|
||||
|
||||
.SH FULLSCREEN OPTIONS
|
||||
.TP 8
|
||||
.B "\-depth \fIdepth\fP"
|
||||
|
|
|
@ -315,6 +315,12 @@ typedef Bool (*winFinishCreateWindowsWindowProcPtr)(WindowPtr pWin);
|
|||
|
||||
typedef Bool (*winCreateScreenResourcesProc)(ScreenPtr);
|
||||
|
||||
#ifdef XWIN_NATIVEGDI
|
||||
/* Typedefs for native GDI wrappers */
|
||||
typedef Bool (*RealizeFontPtr) (ScreenPtr pScreen, FontPtr pFont);
|
||||
typedef Bool (*UnrealizeFontPtr)(ScreenPtr pScreen, FontPtr pFont);
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* GC (graphics context) privates
|
||||
|
@ -588,6 +594,12 @@ typedef struct _winPrivScreenRec
|
|||
SetShapeProcPtr SetShape;
|
||||
|
||||
winCursorRec cursor;
|
||||
|
||||
#ifdef XWIN_NATIVEGDI
|
||||
RealizeFontPtr RealizeFont;
|
||||
UnrealizeFontPtr UnrealizeFont;
|
||||
#endif
|
||||
|
||||
} winPrivScreenRec;
|
||||
|
||||
|
||||
|
|
|
@ -666,7 +666,15 @@ winSetEngineFunctionsPrimaryDD (ScreenPtr pScreen)
|
|||
pScreenPriv->pwinBltExposedRegions
|
||||
= (winBltExposedRegionsProcPtr) (void (*)(void))NoopDDA;
|
||||
pScreenPriv->pwinActivateApp = winActivateAppPrimaryDD;
|
||||
pScreenPriv->pwinRedrawScreen = NULL;
|
||||
pScreenPriv->pwinRealizeInstalledPalette = NULL;
|
||||
pScreenPriv->pwinInstallColormap = NULL;
|
||||
pScreenPriv->pwinStoreColors = NULL;
|
||||
pScreenPriv->pwinCreateColormap = NULL;
|
||||
pScreenPriv->pwinDestroyColormap = NULL;
|
||||
pScreenPriv->pwinHotKeyAltTab = winHotKeyAltTabPrimaryDD;
|
||||
pScreenPriv->pwinCreatePrimarySurface = (winCreatePrimarySurfaceProcPtr) (void (*)(void))NoopDDA;
|
||||
pScreenPriv->pwinReleasePrimarySurface = (winReleasePrimarySurfaceProcPtr) (void (*)(void))NoopDDA;
|
||||
#ifdef XWIN_MULTIWINDOW
|
||||
pScreenPriv->pwinFinishCreateWindowsWindow =
|
||||
(winFinishCreateWindowsWindowProcPtr) (void (*)(void))NoopDDA;
|
||||
|
|
|
@ -58,6 +58,7 @@ winReshapeRootless (WindowPtr pWin);
|
|||
Bool
|
||||
winCreateWindowNativeGDI (WindowPtr pWin)
|
||||
{
|
||||
Bool fResult = TRUE;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
winWindowPriv(pWin);
|
||||
winScreenPriv(pScreen);
|
||||
|
|
Loading…
Reference in New Issue