Add xglPixmapToRegion

This commit is contained in:
David Reveman 2004-11-14 23:21:29 +00:00
parent 343f965749
commit cecb668149
3 changed files with 24 additions and 5 deletions

View File

@ -129,6 +129,7 @@ typedef struct _xglScreen {
CreateGCProcPtr CreateGC; CreateGCProcPtr CreateGC;
CloseScreenProcPtr CloseScreen; CloseScreenProcPtr CloseScreen;
SetWindowPixmapProcPtr SetWindowPixmap; SetWindowPixmapProcPtr SetWindowPixmap;
BitmapToRegionProcPtr BitmapToRegion;
#ifdef RENDER #ifdef RENDER
CompositeProcPtr Composite; CompositeProcPtr Composite;
@ -615,6 +616,9 @@ xglModifyPixmapHeader (PixmapPtr pPixmap,
int devKind, int devKind,
pointer pPixData); pointer pPixData);
RegionPtr
xglPixmapToRegion (PixmapPtr pPixmap);
Bool Bool
xglCreatePixmapSurface (PixmapPtr pPixmap); xglCreatePixmapSurface (PixmapPtr pPixmap);

View File

@ -356,6 +356,24 @@ xglModifyPixmapHeader (PixmapPtr pPixmap,
return TRUE; return TRUE;
} }
RegionPtr
xglPixmapToRegion (PixmapPtr pPixmap)
{
ScreenPtr pScreen = pPixmap->drawable.pScreen;
RegionPtr pRegion;
XGL_SCREEN_PRIV (pScreen);
if (!xglSyncBits (&pPixmap->drawable, NullBox))
FatalError (XGL_SW_FAILURE_STRING);
XGL_SCREEN_UNWRAP (BitmapToRegion);
pRegion = (*pScreen->BitmapToRegion) (pPixmap);
XGL_SCREEN_WRAP (BitmapToRegion, xglPixmapToRegion);
return pRegion;
}
Bool Bool
xglCreatePixmapSurface (PixmapPtr pPixmap) xglCreatePixmapSurface (PixmapPtr pPixmap)
{ {

View File

@ -56,7 +56,6 @@ int xglWinPrivateIndex;
#define xglListInstalledColormaps (void *) NoopDDA #define xglListInstalledColormaps (void *) NoopDDA
#define xglStoreColors (void *) NoopDDA #define xglStoreColors (void *) NoopDDA
#define xglResolveColor (void *) NoopDDA #define xglResolveColor (void *) NoopDDA
#define xglBitmapToRegion (void *) NoopDDA
static PixmapPtr static PixmapPtr
xglGetWindowPixmap (WindowPtr pWin) xglGetWindowPixmap (WindowPtr pWin)
@ -226,12 +225,10 @@ xglScreenInit (ScreenPtr pScreen,
pScreen->ResolveColor = miResolveColor; pScreen->ResolveColor = miResolveColor;
*/ */
/*
pScreen->BitmapToRegion = xglBitmapToRegion;
*/
pScreen->ModifyPixmapHeader = xglModifyPixmapHeader; pScreen->ModifyPixmapHeader = xglModifyPixmapHeader;
XGL_SCREEN_WRAP (BitmapToRegion, xglPixmapToRegion);
pScreen->GetWindowPixmap = xglGetWindowPixmap; pScreen->GetWindowPixmap = xglGetWindowPixmap;
XGL_SCREEN_WRAP (SetWindowPixmap, xglSetWindowPixmap); XGL_SCREEN_WRAP (SetWindowPixmap, xglSetWindowPixmap);