Go to the source code of this file.
|
| #define | MIN_COORD (INT_MIN / 16) |
| |
| #define | MAX_COORD (INT_MAX / 16) |
| |
| #define | CoordLPtoDP(pdc, ppt) INTERNAL_LPTODP(pdc, ppt, 1) |
| |
| #define | CoordDPtoLP(pdc, ppt) INTERNAL_DPTOLP(pdc, ppt, 1) |
| |
| #define | XForm2MatrixS(m, x) XFormToMatrix(m, (XFORML*)x) |
| |
| #define | MatrixS2XForm(x, m) MatrixToXForm((XFORML*)x, m) |
| |
|
| static BOOLEAN | INTERNAL_APPLY_MATRIX (PMATRIX matrix, LPPOINT points, UINT count) |
| |
| static BOOLEAN | INTERNAL_LPTODP (DC *dc, LPPOINT points, UINT count) |
| |
| static BOOLEAN | INTERNAL_DPTOLP (DC *dc, LPPOINT points, UINT count) |
| |
| FORCEINLINE void | XFormToMatrix (MATRIX *pmx, const XFORML *pxform) |
| |
| FORCEINLINE void | MatrixToXForm (XFORML *pxform, const MATRIX *pmx) |
| |
| FORCEINLINE void | InvertXform (XFORML *pxformDest, const XFORML *pxformSource) |
| |
| VOID FASTCALL | DC_vFixIsotropicMapping (PDC pdc) |
| |
| VOID FASTCALL | DC_vUpdateWorldToDevice (PDC pdc) |
| |
| VOID FASTCALL | DC_vUpdateDeviceToWorld (PDC pdc) |
| |
| FORCEINLINE PSIZEL | DC_pszlViewportExt (PDC pdc) |
| |
| FORCEINLINE PMATRIX | DC_pmxWorldToPage (PDC pdc) |
| |
| FORCEINLINE PMATRIX | DC_pmxWorldToDevice (PDC pdc) |
| |
| FORCEINLINE PMATRIX | DC_pmxDeviceToWorld (PDC pdc) |
| |
| BOOL NTAPI | GreModifyWorldTransform (PDC pdc, const XFORML *pXForm, DWORD dwMode) |
| |
| VOID FASTCALL | IntMirrorWindowOrg (PDC) |
| |
| int APIENTRY | IntGdiSetMapMode (PDC, int) |
| |
| BOOL FASTCALL | GreLPtoDP (HDC, LPPOINT, INT) |
| |
| BOOL FASTCALL | GreDPtoLP (HDC, LPPOINT, INT) |
| |
| BOOL APIENTRY | GreGetDCPoint (HDC, UINT, PPOINTL) |
| |
| BOOL WINAPI | GreGetWindowExtEx (_In_ HDC hdc, _Out_ LPSIZE lpSize) |
| |
| BOOL WINAPI | GreGetViewportExtEx (_In_ HDC hdc, _Out_ LPSIZE lpSize) |
| |
| BOOL FASTCALL | GreSetViewportOrgEx (HDC, int, int, LPPOINT) |
| |
| BOOL WINAPI | GreGetDCOrgEx (_In_ HDC, _Out_ PPOINTL, _Out_ PRECTL) |
| |
| BOOL WINAPI | GreSetDCOrg (_In_ HDC, _In_ LONG, _In_ LONG, _In_opt_ PRECTL) |
| |
| static BOOLEAN | IntLPtoDP (DC *pdc, PPOINTL ppt, UINT count) |
| |
| static BOOLEAN | IntDPtoLP (DC *pdc, PPOINTL ppt, UINT count) |
| |
◆ CoordDPtoLP
◆ CoordLPtoDP
◆ MatrixS2XForm
◆ MAX_COORD
◆ MIN_COORD
◆ XForm2MatrixS
◆ DC_pmxDeviceToWorld()
Definition at line 149 of file coord.h.
150{
151
153 {
154
156 }
157
158 return &pdc->pdcattr->mxDeviceToWorld;
159}
VOID FASTCALL DC_vUpdateDeviceToWorld(PDC pdc)
#define DEVICE_TO_WORLD_INVALID
Referenced by NtGdiGetTransform(), and NtGdiTransformPoints().
◆ DC_pmxWorldToDevice()
◆ DC_pmxWorldToPage()
◆ DC_pszlViewportExt()
◆ DC_vFixIsotropicMapping()
Definition at line 93 of file coord.c.
94{
98 SIZEL szlWindowExt, szlViewportExt;
100
101
102 pdcattr = pdc->pdcattr;
103
104
107
108
109 if ((szlWindowExt.
cx == 0) || (szlWindowExt.
cy == 0) ||
110 (szlViewportExt.
cx == 0) || (szlViewportExt.
cy == 0))
111 {
112
113 return;
114 }
115
118
120 {
121 s = (szlWindowExt.
cy ^ szlViewportExt.
cx) > 0 ? 1 : -1;
123 }
125 {
126 s = (szlWindowExt.
cx ^ szlViewportExt.
cy) > 0 ? 1 : -1;
128 }
129
130
131 pdc->pdcattr->flXform &= ~PAGE_EXTENTS_CHANGED;
132}
Referenced by DC_pszlViewportExt(), and NtGdiScaleViewportExtEx().
◆ DC_vUpdateDeviceToWorld()
Definition at line 204 of file coord.c.
205{
206 XFORMOBJ xoWorldToDevice, xoDeviceToWorld;
208
209
212
213
216 {
217 MX_Set0(&pdc->pdcattr->mxDeviceToWorld);
218 return;
219 }
220
221
222 pdc->pdcattr->flXform &= ~DEVICE_TO_WORLD_INVALID;
223}
FORCEINLINE PMATRIX DC_pmxWorldToDevice(PDC pdc)
Referenced by DC_pmxDeviceToWorld(), and IntDPtoLP().
◆ DC_vUpdateWorldToDevice()
Definition at line 182 of file coord.c.
183{
184 XFORMOBJ xoPageToDevice, xoWorldToPage, xoWorldToDevice;
186
187
188
189
192
193
197
198
199 pdc->pdcattr->flXform &= ~WORLD_XFORM_CHANGED;
200}
VOID FASTCALL DC_vGetPageToDevice(PDC pdc, MATRIX *pmx)
Referenced by DC_pmxWorldToDevice(), and IntLPtoDP().
◆ GreDPtoLP()
Definition at line 7 of file dcutil.c.
8{
11 {
14 }
18}
static BOOLEAN IntDPtoLP(DC *pdc, PPOINTL ppt, UINT count)
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
FORCEINLINE PDC DC_LockDc(HDC hdc)
#define ERROR_INVALID_HANDLE
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
Referenced by co_UserGetUpdateRect(), and IntDefWindowProc().
◆ GreGetDCOrgEx()
Definition at line 1386 of file coord.c.
1390{
1392
1395
1396
1398
1400
1401
1403}
BOOL APIENTRY GreGetDCPoint(HDC hDC, UINT iPoint, PPOINTL Point)
◆ GreGetDCPoint()
Definition at line 1291 of file coord.c.
1295{
1300
1302 {
1305 }
1306
1308 if (!pdc)
1309 {
1312 }
1313
1315 {
1320 break;
1321
1323 Point->
x = pdc->pdcattr->szlWindowExt.cx;
1324 Point->
y = pdc->pdcattr->szlWindowExt.cy;
1325 break;
1326
1328 *
Point = pdc->pdcattr->ptlViewportOrg;
1329 break;
1330
1332 *
Point = pdc->pdcattr->ptlWindowOrg;
1333 break;
1334
1336 *
Point = pdc->ptlDCOrig;
1337 break;
1338
1343 break;
1344
1345 default:
1348 break;
1349 }
1350
1352 return Ret;
1353}
FORCEINLINE PSIZEL DC_pszlViewportExt(PDC pdc)
#define ERROR_INVALID_PARAMETER
static VOID FASTCALL DC_vGetAspectRatioFilter(PDC pDC, LPSIZE AspectRatio)
@ GdiGetAspectRatioFilter
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Referenced by co_UserExcludeUpdateRgn(), GreGetDCOrgEx(), GreGetViewportExtEx(), GreGetWindowExtEx(), and NtGdiGetDCPoint().
◆ GreGetViewportExtEx()
◆ GreGetWindowExtEx()
◆ GreLPtoDP()
Definition at line 21 of file dcutil.c.
22{
25 {
28 }
32}
static BOOLEAN IntLPtoDP(DC *pdc, PPOINTL ppt, UINT count)
◆ GreModifyWorldTransform()
◆ GreSetDCOrg()
Definition at line 1357 of file coord.c.
1362{
1364
1367
1368
1369 dc->ptlDCOrig.x =
x;
1370 dc->ptlDCOrig.y =
y;
1371
1372
1373 dc->ptlFillOrigin.x =
dc->dclevel.ptlBrushOrigin.x +
x;
1374 dc->ptlFillOrigin.y =
dc->dclevel.ptlBrushOrigin.y +
y;
1375
1376
1379
1382}
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
Referenced by DceSetDrawable().
◆ GreSetViewportOrgEx()
◆ IntDPtoLP()
◆ INTERNAL_APPLY_MATRIX()
Definition at line 13 of file coord.h.
14{
16 {
19
20
27
28
35
40 }
42}
#define FLOATOBJ_bConvertToLong(pf, pl)
GLsizei const GLfloat * points
#define FLOATOBJ_Add(pf, pf1)
#define FLOATOBJ_Mul(pf, pf1)
#define FLOATOBJ_MulLong(pf, l)
#define FLOATOBJ_SetLong(pf, l)
Referenced by INTERNAL_DPTOLP(), INTERNAL_LPTODP(), and NtGdiTransformPoints().
◆ INTERNAL_DPTOLP()
Definition at line 55 of file coord.h.
56{
58}
static BOOLEAN INTERNAL_APPLY_MATRIX(PMATRIX matrix, LPPOINT points, UINT count)
Referenced by IntDPtoLP().
◆ INTERNAL_LPTODP()
◆ IntGdiSetMapMode()
Definition at line 828 of file coord.c.
831{
835
837 return MapMode;
838
842
843 switch (MapMode)
844 {
851 break;
852
855
856
862 break;
863
869 break;
870
876 break;
877
883 break;
884
890 break;
891
895 break;
896
897 default:
898 return 0;
899 }
900
901
904
905
909
910 return iPrevMapMode;
911}
#define PAGE_TO_DEVICE_SCALE_IDENTITY
#define PTOD_EFM22_NEGATIVE
#define DEVICE_TO_PAGE_INVALID
#define PTOD_EFM11_NEGATIVE
#define INVALIDATE_ATTRIBUTES
#define ISO_OR_ANISO_MAP_MODE
#define PAGE_TO_DEVICE_IDENTITY
SIZEL szlVirtualDevicePixel
ENGAPI INT APIENTRY EngMulDiv(_In_ INT a, _In_ INT b, _In_ INT c)
Referenced by _Success_(), and PATH_FillPathEx().
◆ IntLPtoDP()
Definition at line 182 of file coord.h.
183{
186}
static BOOLEAN INTERNAL_LPTODP(DC *dc, LPPOINT points, UINT count)
Referenced by add_log_points(), GreGradientFill(), GreLPtoDP(), GreStretchBltMask(), IntArc(), IntExtTextOutW(), IntGdiLineTo(), IntGdiPolygon(), IntGdiPolyline(), IntPatBlt(), IntRectangle(), IntRoundRect(), NtGdiAlphaBlend(), NtGdiBeginPath(), NtGdiEllipse(), NtGdiExcludeClipRect(), NtGdiExtFloodFill(), NtGdiGetPixel(), NtGdiIntersectClipRect(), NtGdiLineTo(), NtGdiMaskBlt(), NtGdiOffsetClipRgn(), NtGdiPtVisible(), NtGdiRectVisible(), NtGdiSetBoundsRect(), NtGdiSetDIBitsToDeviceInternal(), NtGdiSetPixel(), NtGdiStretchDIBitsInternal(), NtGdiTransparentBlt(), PATH_CheckRect(), PATH_MoveTo(), PATH_PolyDraw(), PATH_RoundRect(), and UserDrawIconEx().
◆ IntMirrorWindowOrg()
◆ InvertXform()
◆ MatrixToXForm()
◆ XFormToMatrix()