Move from fixed PrimarySurface to pointer based pPrimarySurface. Misc changes..

svn path=/trunk/; revision=33832
This commit is contained in:
James Tabor 2008-06-03 03:41:54 +00:00
parent bcefe305f1
commit e8eda04c27
9 changed files with 16 additions and 22 deletions

View file

@ -459,10 +459,10 @@ IntCreateXlateForBlt(PDC pDCDest, PDC pDCSrc, BITMAPOBJ* pDestSurf, BITMAPOBJ* p
}
DestPalette = pDestSurf->hDIBPalette;
if (!DestPalette) DestPalette = PrimarySurface.DevInfo.hpalDefault;
if (!DestPalette) DestPalette = pPrimarySurface->DevInfo.hpalDefault;
SourcePalette = pSrcSurf->hDIBPalette;
if (!SourcePalette) SourcePalette = PrimarySurface.DevInfo.hpalDefault;
if (!SourcePalette) SourcePalette = pPrimarySurface->DevInfo.hpalDefault;
DPRINT("DestPalette = %p, SourcePalette = %p, DefaultPatelle = %p\n", DestPalette, SourcePalette, NtGdiGetStockObject((INT)DEFAULT_PALETTE));

View file

@ -140,7 +140,7 @@ typedef struct _DC
INT DC_Type;
INT DC_Flags;
PVOID pPDev; // PGDIDEVICE aka PDEVOBJ
PVOID hSem; // PERESOURCE
PVOID hSem; // PERESOURCE aka HSEMAPHORE
FLONG flGraphics;
FLONG flGraphics2;
PDC_ATTR pDc_Attr;
@ -254,14 +254,6 @@ typedef struct _GDIDEVICE
struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl;
} GDIDEVICE, *PGDIDEVICE;
/* For Metafile and MetaEnhFile not in windows this struct taken from wine cvs 15/9-2006*/
typedef struct
{
LPENHMETAHEADER emh;
BOOL on_disk; /* true if metafile is on disk */
} DD_ENHMETAFILEOBJ, *PDD_ENHMETAFILEOBJ;
/* Internal functions *********************************************************/
#define DC_LockDc(hDC) \
@ -313,6 +305,6 @@ VOID FASTCALL IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType);
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC);
BOOL FASTCALL IntGdiCleanDC(HDC hDC);
extern GDIDEVICE PrimarySurface;
extern PGDIDEVICE pPrimarySurface;
#endif /* not __WIN32K_DC_H */

View file

@ -82,5 +82,7 @@ INT FASTCALL PALETTE_ToPhysical (PDC dc, COLORREF color);
INT FASTCALL PALETTE_GetObject(PPALGDI pGdiObject, INT cbCount, LPLOGBRUSH lpBuffer);
PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID);
HPALETTE FASTCALL GdiSelectPalette(HDC, HPALETTE, BOOL);
#endif /* not _WIN32K_PALETTE_H */

View file

@ -410,10 +410,10 @@ NtGdiTransparentBlt(
}
DestPalette = BitmapDest->hDIBPalette;
if (!DestPalette) DestPalette = PrimarySurface.DevInfo.hpalDefault;
if (!DestPalette) DestPalette = pPrimarySurface->DevInfo.hpalDefault;
SourcePalette = BitmapSrc->hDIBPalette;
if (!SourcePalette) SourcePalette = PrimarySurface.DevInfo.hpalDefault;
if (!SourcePalette) SourcePalette = pPrimarySurface->DevInfo.hpalDefault;
if(!(PalSourceGDI = PALETTE_LockPalette(SourcePalette)))
{

View file

@ -266,7 +266,7 @@ NtGdiGetPixel(HDC hDC, INT XPos, INT YPos)
if ( BitmapObject )
{
Pal = BitmapObject->hDIBPalette;
if (!Pal) Pal = PrimarySurface.DevInfo.hpalDefault;
if (!Pal) Pal = pPrimarySurface->DevInfo.hpalDefault;
/* FIXME: Verify if it shouldn't be PAL_BGR! */
XlateObj = (XLATEOBJ*)IntEngCreateXlate ( PAL_RGB, 0, NULL, Pal );

View file

@ -128,7 +128,7 @@ IntGdiCreateBrushXlate(PDC Dc, GDIBRUSHOBJ *BrushObj, BOOLEAN *Failed)
hPalette = pSurface->hDIBPalette;
BITMAPOBJ_UnlockBitmap(pSurface);
}
if (!hPalette) hPalette = PrimarySurface.DevInfo.hpalDefault;
if (!hPalette) hPalette = pPrimarySurface->DevInfo.hpalDefault;
if (BrushObj->flAttrs & GDIBRUSH_IS_NULL)
{

View file

@ -29,8 +29,8 @@
// --------------------------------------------------------- File Statics
GDIDEVICE PrimarySurface;
static PGDIDEVICE pPrimarySurface = NULL;
static GDIDEVICE PrimarySurface;
PGDIDEVICE pPrimarySurface = &PrimarySurface;
static KEVENT VideoDriverNeedsPreparation;
static KEVENT VideoDriverPrepared;
static PDC defaultDCstate = NULL;
@ -347,7 +347,7 @@ IntPrepareDriver()
RtlZeroMemory(&PrimarySurface, sizeof(PrimarySurface));
if (!pPrimarySurface) pPrimarySurface = ExAllocatePoolWithTag(PagedPool, sizeof(GDIDEVICE), TAG_GDIPDEV);
// if (!pPrimarySurface) pPrimarySurface = ExAllocatePoolWithTag(PagedPool, sizeof(GDIDEVICE), TAG_GDIPDEV);
PrimarySurface.VideoFileObject = DRIVER_FindMPDriver(DisplayNumber);
@ -3394,7 +3394,7 @@ NtGdiGetDhpdev(
PGDIDEVICE pPDev, pGdiDevice = (PGDIDEVICE) hdev;
if (!pGdiDevice) return NULL;
if ( pGdiDevice < (PGDIDEVICE)MmSystemRangeStart) return NULL;
pPDev = &PrimarySurface;
pPDev = pPrimarySurface;
IntGdiAcquireSemaphore(hsemDriverMgmt);
do
{

View file

@ -1552,7 +1552,7 @@ IntGdiGradientFill(
ASSERT(BitmapObj);
hDestPalette = BitmapObj->hDIBPalette;
if (!hDestPalette) hDestPalette = PrimarySurface.DevInfo.hpalDefault;
if (!hDestPalette) hDestPalette = pPrimarySurface->DevInfo.hpalDefault;
PalDestGDI = PALETTE_LockPalette(hDestPalette);
if (PalDestGDI)

View file

@ -1631,7 +1631,7 @@ NtGdiExtTextOutW(
/* Create the brushes */
hDestPalette = BitmapObj->hDIBPalette;
if (!hDestPalette) hDestPalette = PrimarySurface.DevInfo.hpalDefault;
if (!hDestPalette) hDestPalette = pPrimarySurface->DevInfo.hpalDefault;
PalDestGDI = PALETTE_LockPalette(hDestPalette);
if ( !PalDestGDI )
Mode = PAL_RGB;