mirror of
https://github.com/reactos/reactos.git
synced 2024-09-02 08:38:28 +00:00
Fix copy count and added dc path flags and support new arc direction.
svn path=/trunk/; revision=32992
This commit is contained in:
parent
fb4af9ff8f
commit
cbd1d50bb1
|
@ -9,6 +9,11 @@
|
||||||
// Get/SetBounds/Rect support.
|
// Get/SetBounds/Rect support.
|
||||||
#define DCB_WINDOWMGR 0x8000 // Queries the Windows bounding rectangle instead of the application's
|
#define DCB_WINDOWMGR 0x8000 // Queries the Windows bounding rectangle instead of the application's
|
||||||
|
|
||||||
|
/* DCPATH flPath */
|
||||||
|
#define DCPATH_ACTIVE 0x0001
|
||||||
|
#define DCPATH_SAVE 0x0002
|
||||||
|
#define DCPATH_CLOCKWISE 0x0004
|
||||||
|
|
||||||
/* DC flags */
|
/* DC flags */
|
||||||
#define DC_SAVED 0x0002 /* It is a saved DC */
|
#define DC_SAVED 0x0002 /* It is a saved DC */
|
||||||
#define DC_DIRTY 0x0004 /* hVisRgn has to be updated */
|
#define DC_DIRTY 0x0004 /* hVisRgn has to be updated */
|
||||||
|
|
|
@ -2187,6 +2187,8 @@ NtGdiGetAndSetDCDword(
|
||||||
switch (u)
|
switch (u)
|
||||||
{
|
{
|
||||||
case GdtGetSetCopyCount:
|
case GdtGetSetCopyCount:
|
||||||
|
SafeResult = dc->ulCopyCount;
|
||||||
|
dc->ulCopyCount = dwIn;
|
||||||
break;
|
break;
|
||||||
case GdiGetSetTextAlign:
|
case GdiGetSetTextAlign:
|
||||||
SafeResult = Dc_Attr->lTextAlign;
|
SafeResult = Dc_Attr->lTextAlign;
|
||||||
|
@ -2213,9 +2215,31 @@ NtGdiGetAndSetDCDword(
|
||||||
{
|
{
|
||||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||||
Ret = FALSE;
|
Ret = FALSE;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
SafeResult = dc->w.ArcDirection;
|
if ( Dc_Attr->dwLayout & LAYOUT_RTL )
|
||||||
dc->w.ArcDirection = dwIn;
|
{
|
||||||
|
SafeResult = AD_CLOCKWISE - ((dc->DcLevel.flPath & DCPATH_CLOCKWISE) != 0);
|
||||||
|
if ( dwIn == AD_CLOCKWISE )
|
||||||
|
{
|
||||||
|
dc->DcLevel.flPath |= DCPATH_CLOCKWISE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
dc->DcLevel.flPath &= ~DCPATH_CLOCKWISE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SafeResult = ((dc->DcLevel.flPath & DCPATH_CLOCKWISE) != 0) + AD_COUNTERCLOCKWISE;
|
||||||
|
if ( dwIn == AD_COUNTERCLOCKWISE)
|
||||||
|
{
|
||||||
|
dc->DcLevel.flPath |= DCPATH_CLOCKWISE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
dc->DcLevel.flPath &= ~DCPATH_CLOCKWISE;
|
||||||
|
}
|
||||||
|
|
||||||
|
SafeResult = dc->w.ArcDirection; // Fixme
|
||||||
|
dc->w.ArcDirection = dwIn; // Fixme
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||||
|
|
Loading…
Reference in a new issue