22 if (pdcattr->
hbrush != pdc->dclevel.pbrFill->BaseObject.hHmgr)
30 pdc->dclevel.pbrFill = pbrFill;
38 pdcattr->
hbrush = pdc->dclevel.pbrFill->BaseObject.hHmgr;
68 if (pdcattr->
hpen != pdc->dclevel.pbrLine->BaseObject.hHmgr)
76 pdc->dclevel.pbrLine = pbrLine;
84 pdcattr->
hpen = pdc->dclevel.pbrLine->BaseObject.hHmgr;
145 pdc->dclevel.ptlBrushOrigin.x =
x;
146 pdc->dclevel.ptlBrushOrigin.y =
y;
149 pdc->ptlFillOrigin.x =
x + pdc->ptlDCOrig.x;
150 pdc->ptlFillOrigin.y =
y + pdc->ptlDCOrig.y;
202 BOOL ForceBackground)
205 HPALETTE oldPal =
NULL;
225 if ((!pdc->dclevel.pSurface) ||
226 (
BitsPerFormat(pdc->dclevel.pSurface->SurfObj.iBitmapFormat) <= 8
228 (
BitsPerFormat(pdc->dclevel.pSurface->SurfObj.iBitmapFormat) > 8))
231 oldPal = pdc->dclevel.hpal;
232 pdc->dclevel.hpal = hpal;
273 hOrgBrush = pDC->pdcattr->hbrush;
274 pDC->pdcattr->hbrush = hBrush;
303 hOrgPen = pDC->pdcattr->hpen;
304 pDC->pdcattr->hpen = hPen;
332 if ((cBitsPixel == 1) || (cBitsPixel == pdc->ppdev->gdiinfo.cBitsPixel))
371 psurfOld = pdc->dclevel.pSurface;
399 pdc->dclevel.sizl.cx = 1;
400 pdc->dclevel.sizl.cy = 1;
451 pdc->dclevel.pSurface = psurfNew;
471 pdc->dclevel.sizl.cx,
472 pdc->dclevel.sizl.cy);
489 PPATH pPath, pNewPath;
500 pdcattr = pdc->pdcattr;
541 pdc->dclevel.hPath =
NULL;
564 hlfntOld = pdc->dclevel.plfnt->BaseObject.hHmgr;
567 if (hlfntNew != hlfntOld)
577 pdc->dclevel.plfnt = plfntNew;
578 pdc->pdcattr->hlfntNew = hlfntNew;
587 pdc->pdcattr->hlfntNew = hlfntOld;
642 pdcattr = pdc->pdcattr;
654 SelObject = pdcattr->
hpen;
658 SelObject = pdcattr->
hbrush;
662 SelObject = pdc->dclevel.hpal;
671 SURFACE *psurf = pdc->dclevel.pSurface;
677 DPRINT1(
"FIXME: NtGdiGetCurrentObject() ObjectType OBJ_COLORSPACE not supported yet!\n");
728 prgnSrc = pdc->dclevel.prgnClip;
732 prgnSrc = pdc->dclevel.prgnMeta;
740 prgnSrc = pdc->prgnAPI;
742 else if (pdc->dclevel.prgnClip)
744 prgnSrc = pdc->dclevel.prgnClip;
746 else if (pdc->dclevel.prgnMeta)
748 prgnSrc = pdc->dclevel.prgnMeta;
753 prgnSrc = pdc->prgnVis;
#define BRUSH_ShareUnlockBrush(pBrush)
HPEN APIENTRY NtGdiSelectPen(IN HDC hDC, IN HPEN hPen)
#define ERROR_INVALID_PARAMETER
VOID FASTCALL EBRUSHOBJ_vSetSolidRGBColor(EBRUSHOBJ *pebo, COLORREF crColor)
FORCEINLINE PDC DC_LockDc(HDC hdc)
#define SURFACE_ShareUnlockSurface(pBMObj)
_Notnull_ PBRUSH pbrDefaultBrush
#define BRUSH_ShareLockBrush(hBrush)
FORCEINLINE VOID DC_vSelectPalette(PDC pdc, PPALETTE ppal)
#define BitsPerFormat(Format)
#define ERROR_INVALID_HANDLE
#define ERROR_NOT_ENOUGH_MEMORY
GLint GLint GLint GLint GLint x
VOID FASTCALL DC_vUpdateFillBrush(PDC pdc)
BOOL FASTCALL REGION_bOffsetRgn(_Inout_ PREGION prgn, _In_ INT cx, _In_ INT cy)
VOID NTAPI EBRUSHOBJ_vUpdateFromDC(EBRUSHOBJ *pebo, PBRUSH pbrush, PDC pdc)
#define SURFACE_ShareLockSurface(hBMObj)
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
HANDLE APIENTRY NtGdiGetDCObject(HDC hDC, INT ObjectType)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
#define GDI_OBJECT_TYPE_EXTPEN
#define PATH_LockPath(hPath)
INT FASTCALL IntGdiExtSelectClipRgn(PDC dc, PREGION prgn, int fnMode)
#define GDI_OBJECT_TYPE_COLORSPACE
PREGION FASTCALL IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
NTSTATUS FASTCALL TextIntRealizeFont(HFONT FontHandle, PTEXTOBJ pTextObj)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define ERROR_CAN_NOT_COMPLETE
HFONT APIENTRY NtGdiSelectFont(_In_ HDC hdc, _In_ HFONT hfont)
#define GDI_OBJECT_TYPE_BRUSH
BOOL FASTCALL PATH_PathToRegion(PPATH pPath, INT Mode, PREGION Rgn)
#define InterlockedCompareExchangePointer
PPATH FASTCALL PATH_FlattenPath(PPATH pPath)
HFONT NTAPI DC_hSelectFont(_In_ PDC pdc, _In_ HFONT hlfntNew)
ULONG APIENTRY NtGdiEnumObjects(IN HDC hdc, IN INT iObjectType, IN ULONG cjBuf, OUT OPTIONAL PVOID pvBuf)
#define PATH_UnlockPath(pPath)
#define GDI_OBJECT_TYPE_PALETTE
INT FASTCALL IntGdiCombineRgn(PREGION prgnDest, PREGION prgnSrc1, PREGION prgnSrc2, INT iCombineMode)
#define PALETTE_ShareLockPalette(hpal)
VOID FASTCALL DC_vUpdateTextBrush(PDC pdc)
HPALETTE NTAPI GdiSelectPalette(HDC hDC, HPALETTE hpal, BOOL ForceBackground)
#define GDI_OBJECT_TYPE_PEN
#define NT_SUCCESS(StatCode)
#define EXCEPTION_EXECUTE_HANDLER
HBRUSH APIENTRY NtGdiSelectBrush(IN HDC hDC, IN HBRUSH hBrush)
#define LFONT_ShareUnlockFont(plfnt)
BOOL APIENTRY NtGdiSelectClipPath(HDC hDC, int Mode)
VOID FASTCALL CLIPPING_UpdateGCRegion(PDC pDC)
#define success(from, fromstr, to, tostr)
VOID FASTCALL DC_vUpdateLineBrush(PDC pdc)
VOID FASTCALL DC_vUpdateBackgroundBrush(PDC pdc)
_In_ UINT _Out_ PPOINTL pptOut
#define GDI_OBJECT_TYPE_BITMAP
INT APIENTRY NtGdiGetRandomRgn(HDC hdc, HRGN hrgnDest, INT iCode)
#define LFONT_ShareLockFont(hfont)
BOOL FASTCALL GreSetBrushOrg(HDC, INT, INT, LPPOINT)
BOOL NTAPI DC_bIsBitmapCompatible(PDC pdc, PSURFACE psurf)
VOID NTAPI DC_vSetBrushOrigin(PDC pdc, LONG x, LONG y)
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
#define PALETTE_ShareUnlockPalette(ppal)
GLint GLint GLint GLint GLint GLint y
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
HBITMAP APIENTRY NtGdiSelectBitmap(IN HDC hdc, IN HBITMAP hbmp)
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
VOID FASTCALL REGION_SetRectRgn(PREGION rgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
#define ASSERT_NOGDILOCKS()
PBRUSH FASTCALL PEN_ShareLockPen(HPEN hobj)
VOID FASTCALL REGION_Delete(PREGION pRgn)
#define GDI_OBJECT_TYPE_FONT
BOOL FASTCALL PATH_Delete(HPATH hPath)
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
UCHAR gajBitsPerFormat[11]
PULONG MinorVersion OPTIONAL