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; DestPalette = pDestSurf->hDIBPalette;
if (!DestPalette) DestPalette = PrimarySurface.DevInfo.hpalDefault; if (!DestPalette) DestPalette = pPrimarySurface->DevInfo.hpalDefault;
SourcePalette = pSrcSurf->hDIBPalette; 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)); 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_Type;
INT DC_Flags; INT DC_Flags;
PVOID pPDev; // PGDIDEVICE aka PDEVOBJ PVOID pPDev; // PGDIDEVICE aka PDEVOBJ
PVOID hSem; // PERESOURCE PVOID hSem; // PERESOURCE aka HSEMAPHORE
FLONG flGraphics; FLONG flGraphics;
FLONG flGraphics2; FLONG flGraphics2;
PDC_ATTR pDc_Attr; PDC_ATTR pDc_Attr;
@ -254,14 +254,6 @@ typedef struct _GDIDEVICE
struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl; struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl;
} GDIDEVICE, *PGDIDEVICE; } 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 *********************************************************/ /* Internal functions *********************************************************/
#define DC_LockDc(hDC) \ #define DC_LockDc(hDC) \
@ -313,6 +305,6 @@ VOID FASTCALL IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType);
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC); HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC);
BOOL FASTCALL IntGdiCleanDC(HDC hDC); BOOL FASTCALL IntGdiCleanDC(HDC hDC);
extern GDIDEVICE PrimarySurface; extern PGDIDEVICE pPrimarySurface;
#endif /* not __WIN32K_DC_H */ #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); INT FASTCALL PALETTE_GetObject(PPALGDI pGdiObject, INT cbCount, LPLOGBRUSH lpBuffer);
PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID); PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID);
HPALETTE FASTCALL GdiSelectPalette(HDC, HPALETTE, BOOL);
#endif /* not _WIN32K_PALETTE_H */ #endif /* not _WIN32K_PALETTE_H */

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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