mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
3rd FIN.
svn path=/trunk/; revision=30374
This commit is contained in:
parent
98f75aa494
commit
f0e8f2df37
6 changed files with 59 additions and 52 deletions
|
@ -505,9 +505,7 @@ typedef struct _DC
|
|||
DC_ATTR Dc_Attr;
|
||||
HDC hNext;
|
||||
HDC hPrev;
|
||||
// Old tymerz! Cant code? So just Haxzorcise it!
|
||||
// How many pointers to devices do we need?
|
||||
PGDIINFO GDIInfo; // In GDIDEVICE
|
||||
|
||||
UNICODE_STRING DriverName;
|
||||
|
||||
CLIPOBJ *CombinedClip;
|
||||
|
|
|
@ -36,16 +36,25 @@ typedef struct _GDIPOINTER /* should stay private to ENG */
|
|||
typedef struct
|
||||
{
|
||||
HANDLE Handle;
|
||||
PVOID pvEntry;
|
||||
ULONG lucExcLock;
|
||||
ULONG Tid;
|
||||
|
||||
PERESOURCE_XP hsemDevLock;
|
||||
|
||||
PVOID pfnSync;
|
||||
|
||||
DHPDEV PDev;
|
||||
DEVMODEW DMW;
|
||||
HSURF FillPatterns[HS_DDI_MAX];
|
||||
DEVINFO DevInfo;
|
||||
GDIINFO GDIInfo;
|
||||
|
||||
PFILE_OBJECT VideoFileObject;
|
||||
BOOLEAN PreparedDriver;
|
||||
HANDLE hSpooler;
|
||||
ULONG DisplayNumber;
|
||||
|
||||
PFILE_OBJECT VideoFileObject;
|
||||
BOOLEAN PreparedDriver;
|
||||
GDIPOINTER Pointer;
|
||||
|
||||
/* Stuff to keep track of software cursors; win32k gdi part */
|
||||
|
|
|
@ -167,8 +167,8 @@ UserGetSystemMetrics(ULONG Index)
|
|||
ScreenDC = DC_LockDc(ScreenDCHandle);
|
||||
if (NULL != ScreenDC)
|
||||
{
|
||||
Width = ScreenDC->GDIInfo->ulHorzRes;
|
||||
Height = ScreenDC->GDIInfo->ulVertRes;
|
||||
Width = ((PGDIDEVICE)ScreenDC->pPDev)->GDIInfo.ulHorzRes;
|
||||
Height = ((PGDIDEVICE)ScreenDC->pPDev)->GDIInfo.ulVertRes;
|
||||
DC_UnlockDc(ScreenDC);
|
||||
}
|
||||
NtGdiDeleteObjectApp(ScreenDCHandle);
|
||||
|
|
|
@ -451,7 +451,7 @@ IntGetSystemPaletteEntries(HDC hDC,
|
|||
}
|
||||
else
|
||||
{
|
||||
Ret = dc->GDIInfo->ulNumPalReg;
|
||||
Ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulNumPalReg;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,8 +37,8 @@
|
|||
void FASTCALL
|
||||
IntFixIsotropicMapping(PDC dc)
|
||||
{
|
||||
ULONG xdim = EngMulDiv(dc->Dc_Attr.szlViewportExt.cx, dc->GDIInfo->ulHorzSize, dc->GDIInfo->ulHorzRes) / dc->Dc_Attr.szlWindowExt.cx;
|
||||
ULONG ydim = EngMulDiv(dc->Dc_Attr.szlViewportExt.cy, dc->GDIInfo->ulVertSize, dc->GDIInfo->ulVertRes) / dc->Dc_Attr.szlWindowExt.cy;
|
||||
ULONG xdim = EngMulDiv(dc->Dc_Attr.szlViewportExt.cx, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes) / dc->Dc_Attr.szlWindowExt.cx;
|
||||
ULONG ydim = EngMulDiv(dc->Dc_Attr.szlViewportExt.cy, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes) / dc->Dc_Attr.szlWindowExt.cy;
|
||||
|
||||
if (xdim > ydim)
|
||||
{
|
||||
|
@ -639,38 +639,38 @@ IntGdiSetMapMode(PDC dc,
|
|||
|
||||
case MM_LOMETRIC:
|
||||
case MM_ISOTROPIC:
|
||||
dc->Dc_Attr.szlWindowExt.cx = dc->GDIInfo->ulHorzSize * 10;
|
||||
dc->Dc_Attr.szlWindowExt.cy = dc->GDIInfo->ulVertSize * 10;
|
||||
dc->Dc_Attr.szlViewportExt.cx = dc->GDIInfo->ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -dc->GDIInfo->ulVertRes;
|
||||
dc->Dc_Attr.szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 10;
|
||||
dc->Dc_Attr.szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 10;
|
||||
dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
|
||||
break;
|
||||
|
||||
case MM_HIMETRIC:
|
||||
dc->Dc_Attr.szlWindowExt.cx = dc->GDIInfo->ulHorzSize * 100;
|
||||
dc->Dc_Attr.szlWindowExt.cy = dc->GDIInfo->ulVertSize * 100;
|
||||
dc->Dc_Attr.szlViewportExt.cx = dc->GDIInfo->ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -dc->GDIInfo->ulVertRes;
|
||||
dc->Dc_Attr.szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 100;
|
||||
dc->Dc_Attr.szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 100;
|
||||
dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
|
||||
break;
|
||||
|
||||
case MM_LOENGLISH:
|
||||
dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(1000, dc->GDIInfo->ulHorzSize, 254);
|
||||
dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(1000, dc->GDIInfo->ulVertSize, 254);
|
||||
dc->Dc_Attr.szlViewportExt.cx = dc->GDIInfo->ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -dc->GDIInfo->ulVertRes;
|
||||
dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(1000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254);
|
||||
dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(1000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254);
|
||||
dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
|
||||
break;
|
||||
|
||||
case MM_HIENGLISH:
|
||||
dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(10000, dc->GDIInfo->ulHorzSize, 254);
|
||||
dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(10000, dc->GDIInfo->ulVertSize, 254);
|
||||
dc->Dc_Attr.szlViewportExt.cx = dc->GDIInfo->ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -dc->GDIInfo->ulVertRes;
|
||||
dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(10000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254);
|
||||
dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(10000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254);
|
||||
dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
|
||||
break;
|
||||
|
||||
case MM_TWIPS:
|
||||
dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(14400, dc->GDIInfo->ulHorzSize, 254);
|
||||
dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(14400, dc->GDIInfo->ulVertSize, 254);
|
||||
dc->Dc_Attr.szlViewportExt.cx = dc->GDIInfo->ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -dc->GDIInfo->ulVertRes;
|
||||
dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(14400, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254);
|
||||
dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(14400, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254);
|
||||
dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
|
||||
dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
|
||||
break;
|
||||
|
||||
case MM_ANISOTROPIC:
|
||||
|
|
|
@ -210,7 +210,7 @@ NtGdiCreateCompatibleDC(HDC hDC)
|
|||
NewDC->DC_Type = DC_Type;
|
||||
|
||||
NewDC->PDev = OrigDC->PDev;
|
||||
NewDC->GDIInfo = OrigDC->GDIInfo;
|
||||
|
||||
NewDC->w.bitsPerPixel = OrigDC->w.bitsPerPixel;
|
||||
|
||||
/* DriverName is copied in the AllocDC routine */
|
||||
|
@ -903,13 +903,13 @@ IntGdiCreateDC(PUNICODE_STRING Driver,
|
|||
NewDC->DC_Type = DC_TYPE_DIRECT;
|
||||
NewDC->IsIC = CreateAsIC;
|
||||
|
||||
NewDC->GDIInfo = &PrimarySurface.GDIInfo;
|
||||
NewDC->PDev = PrimarySurface.PDev;
|
||||
if(pUMdhpdev) pUMdhpdev = NewDC->PDev;
|
||||
NewDC->pPDev = (PVOID)&PrimarySurface;
|
||||
NewDC->w.hBitmap = PrimarySurface.Handle;
|
||||
|
||||
NewDC->w.bitsPerPixel = NewDC->GDIInfo->cBitsPixel * NewDC->GDIInfo->cPlanes;
|
||||
NewDC->w.bitsPerPixel = ((PGDIDEVICE)NewDC->pPDev)->GDIInfo.cBitsPixel *
|
||||
((PGDIDEVICE)NewDC->pPDev)->GDIInfo.cPlanes;
|
||||
DPRINT("Bits per pel: %u\n", NewDC->w.bitsPerPixel);
|
||||
|
||||
if (! CreateAsIC)
|
||||
|
@ -920,8 +920,8 @@ IntGdiCreateDC(PUNICODE_STRING Driver,
|
|||
|
||||
DC_UnlockDc( NewDC );
|
||||
|
||||
hVisRgn = NtGdiCreateRectRgn(0, 0, NewDC->GDIInfo->ulHorzRes,
|
||||
NewDC->GDIInfo->ulVertRes);
|
||||
hVisRgn = NtGdiCreateRectRgn(0, 0, ((PGDIDEVICE)NewDC->pPDev)->GDIInfo.ulHorzRes,
|
||||
((PGDIDEVICE)NewDC->pPDev)->GDIInfo.ulVertRes);
|
||||
IntGdiSelectVisRgn(hNewDC, hVisRgn);
|
||||
NtGdiDeleteObject(hVisRgn);
|
||||
|
||||
|
@ -1536,43 +1536,43 @@ IntGdiGetDeviceCaps(PDC dc, INT Index)
|
|||
switch (Index)
|
||||
{
|
||||
case DRIVERVERSION:
|
||||
ret = dc->GDIInfo->ulVersion;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVersion;
|
||||
break;
|
||||
|
||||
case TECHNOLOGY:
|
||||
ret = dc->GDIInfo->ulTechnology;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulTechnology;
|
||||
break;
|
||||
|
||||
case HORZSIZE:
|
||||
ret = dc->GDIInfo->ulHorzSize;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize;
|
||||
break;
|
||||
|
||||
case VERTSIZE:
|
||||
ret = dc->GDIInfo->ulVertSize;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize;
|
||||
break;
|
||||
|
||||
case HORZRES:
|
||||
ret = dc->GDIInfo->ulHorzRes;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
|
||||
break;
|
||||
|
||||
case VERTRES:
|
||||
ret = dc->GDIInfo->ulVertRes;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
|
||||
break;
|
||||
|
||||
case LOGPIXELSX:
|
||||
ret = dc->GDIInfo->ulLogPixelsX;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulLogPixelsX;
|
||||
break;
|
||||
|
||||
case LOGPIXELSY:
|
||||
ret = dc->GDIInfo->ulLogPixelsY;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulLogPixelsY;
|
||||
break;
|
||||
|
||||
case BITSPIXEL:
|
||||
ret = dc->GDIInfo->cBitsPixel;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.cBitsPixel;
|
||||
break;
|
||||
|
||||
case PLANES:
|
||||
ret = dc->GDIInfo->cPlanes;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.cPlanes;
|
||||
break;
|
||||
|
||||
case NUMBRUSHES:
|
||||
|
@ -1588,19 +1588,19 @@ IntGdiGetDeviceCaps(PDC dc, INT Index)
|
|||
break;
|
||||
|
||||
case NUMCOLORS:
|
||||
ret = dc->GDIInfo->ulNumColors;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulNumColors;
|
||||
break;
|
||||
|
||||
case ASPECTX:
|
||||
ret = dc->GDIInfo->ulAspectX;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulAspectX;
|
||||
break;
|
||||
|
||||
case ASPECTY:
|
||||
ret = dc->GDIInfo->ulAspectY;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulAspectY;
|
||||
break;
|
||||
|
||||
case ASPECTXY:
|
||||
ret = dc->GDIInfo->ulAspectXY;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulAspectXY;
|
||||
break;
|
||||
|
||||
case PDEVICESIZE:
|
||||
|
@ -1612,7 +1612,7 @@ IntGdiGetDeviceCaps(PDC dc, INT Index)
|
|||
break;
|
||||
|
||||
case SIZEPALETTE:
|
||||
ret = dc->GDIInfo->ulNumPalReg; /* FIXME not sure */
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulNumPalReg; /* FIXME not sure */
|
||||
break;
|
||||
|
||||
case NUMRESERVED:
|
||||
|
@ -1694,7 +1694,7 @@ IntGdiGetDeviceCaps(PDC dc, INT Index)
|
|||
break;
|
||||
|
||||
case RASTERCAPS:
|
||||
ret = dc->GDIInfo->flRaster;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.flRaster;
|
||||
break;
|
||||
|
||||
case CURVECAPS:
|
||||
|
@ -1710,7 +1710,7 @@ IntGdiGetDeviceCaps(PDC dc, INT Index)
|
|||
break;
|
||||
|
||||
case TEXTCAPS:
|
||||
ret = dc->GDIInfo->flTextCaps;
|
||||
ret = ((PGDIDEVICE)dc->pPDev)->GDIInfo.flTextCaps;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue