Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
8cc95b54
Commit
8cc95b54
authored
Jul 31, 2022
by
Jacek Caban
Committed by
Alexandre Julliard
May 25, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
win32u: Use syscall interface for more painting functions.
parent
3b01fb11
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
113 additions
and
76 deletions
+113
-76
gdiobj.c
dlls/win32u/gdiobj.c
+0
-8
syscall.c
dlls/win32u/syscall.c
+8
-0
win32u.spec
dlls/win32u/win32u.spec
+8
-8
win32u_private.h
dlls/win32u/win32u_private.h
+0
-10
wrappers.c
dlls/win32u/wrappers.c
+0
-50
gdi.c
dlls/wow64win/gdi.c
+89
-0
syscall.h
dlls/wow64win/syscall.h
+8
-0
No files found.
dlls/win32u/gdiobj.c
View file @
8cc95b54
...
...
@@ -1034,7 +1034,6 @@ static struct unix_funcs unix_funcs =
NtGdiAbortPath
,
NtGdiAlphaBlend
,
NtGdiAngleArc
,
NtGdiArcInternal
,
NtGdiBeginPath
,
NtGdiBitBlt
,
NtGdiCloseFigure
,
...
...
@@ -1055,7 +1054,6 @@ static struct unix_funcs unix_funcs =
NtGdiDdDDISetVidPnSourceOwner
,
NtGdiDeleteObjectApp
,
NtGdiDoPalette
,
NtGdiEllipse
,
NtGdiEndDoc
,
NtGdiEndPath
,
NtGdiEndPage
,
...
...
@@ -1085,7 +1083,6 @@ static struct unix_funcs unix_funcs =
NtGdiGetKerningPairs
,
NtGdiGetNearestColor
,
NtGdiGetOutlineTextMetricsInternalW
,
NtGdiGetPixel
,
NtGdiGetRandomRgn
,
NtGdiGetRasterizerCaps
,
NtGdiGetRealizationInfo
,
...
...
@@ -1096,10 +1093,8 @@ static struct unix_funcs unix_funcs =
NtGdiGradientFill
,
NtGdiIntersectClipRect
,
NtGdiInvertRgn
,
NtGdiLineTo
,
NtGdiMaskBlt
,
NtGdiModifyWorldTransform
,
NtGdiMoveTo
,
NtGdiOffsetClipRgn
,
NtGdiPatBlt
,
NtGdiPlgBlt
,
...
...
@@ -1107,11 +1102,9 @@ static struct unix_funcs unix_funcs =
NtGdiPolyPolyDraw
,
NtGdiPtVisible
,
NtGdiRectVisible
,
NtGdiRectangle
,
NtGdiResetDC
,
NtGdiResizePalette
,
NtGdiRestoreDC
,
NtGdiRoundRect
,
NtGdiScaleViewportExtEx
,
NtGdiScaleWindowExtEx
,
NtGdiSelectBitmap
,
...
...
@@ -1123,7 +1116,6 @@ static struct unix_funcs unix_funcs =
NtGdiSetDIBitsToDeviceInternal
,
NtGdiSetDeviceGammaRamp
,
NtGdiSetLayout
,
NtGdiSetPixel
,
NtGdiSetSystemPaletteUse
,
NtGdiStartDoc
,
NtGdiStartPage
,
...
...
dlls/win32u/syscall.c
View file @
8cc95b54
...
...
@@ -38,6 +38,7 @@ static void * const syscalls[] =
{
NtGdiAddFontMemResourceEx
,
NtGdiAddFontResourceW
,
NtGdiArcInternal
,
NtGdiCombineRgn
,
NtGdiCreateBitmap
,
NtGdiCreateClientObj
,
...
...
@@ -59,6 +60,7 @@ static void * const syscalls[] =
NtGdiDeleteClientObj
,
NtGdiDescribePixelFormat
,
NtGdiDrawStream
,
NtGdiEllipse
,
NtGdiEqualRgn
,
NtGdiExtCreatePen
,
NtGdiExtCreateRegion
,
...
...
@@ -75,6 +77,7 @@ static void * const syscalls[] =
NtGdiGetFontFileInfo
,
NtGdiGetNearestPaletteIndex
,
NtGdiGetPath
,
NtGdiGetPixel
,
NtGdiGetRegionData
,
NtGdiGetRgnBox
,
NtGdiGetSpoolMessage
,
...
...
@@ -82,13 +85,17 @@ static void * const syscalls[] =
NtGdiGetTransform
,
NtGdiHfontCreate
,
NtGdiInitSpool
,
NtGdiLineTo
,
NtGdiMoveTo
,
NtGdiOffsetRgn
,
NtGdiOpenDCW
,
NtGdiPathToRegion
,
NtGdiPtInRegion
,
NtGdiRectInRegion
,
NtGdiRectangle
,
NtGdiRemoveFontMemResourceEx
,
NtGdiRemoveFontResourceW
,
NtGdiRoundRect
,
NtGdiSaveDC
,
NtGdiSetBitmapBits
,
NtGdiSetBitmapDimension
,
...
...
@@ -96,6 +103,7 @@ static void * const syscalls[] =
NtGdiSetColorAdjustment
,
NtGdiSetMagicColors
,
NtGdiSetMetaRgn
,
NtGdiSetPixel
,
NtGdiSetPixelFormat
,
NtGdiSetRectRgn
,
NtGdiSetTextJustification
,
...
...
dlls/win32u/win32u.spec
View file @
8cc95b54
...
...
@@ -115,7 +115,7 @@
@ stdcall NtGdiAlphaBlend(long long long long long long long long long long long ptr)
@ stdcall NtGdiAngleArc(long long long long long long)
@ stub NtGdiAnyLinkedFonts
@ stdcall NtGdiArcInternal(long long long long long long long long long long)
@ stdcall
-syscall
NtGdiArcInternal(long long long long long long long long long long)
@ stub NtGdiBRUSHOBJ_DeleteRbrush
@ stub NtGdiBRUSHOBJ_hGetColorTransform
@ stub NtGdiBRUSHOBJ_pvAllocRbrush
...
...
@@ -376,7 +376,7 @@
@ stub NtGdiDrawEscape
@ stdcall -syscall NtGdiDrawStream(long long ptr)
@ stub NtGdiDwmCreatedBitmapRemotingOutput
@ stdcall NtGdiEllipse(long long long long long)
@ stdcall
-syscall
NtGdiEllipse(long long long long long)
@ stub NtGdiEnableEudc
@ stdcall NtGdiEndDoc(long)
@ stub NtGdiEndGdiRendering
...
...
@@ -501,7 +501,7 @@
@ stub NtGdiGetPerBandInfo
@ stub NtGdiGetPhysicalMonitorDescription
@ stub NtGdiGetPhysicalMonitors
@ stdcall NtGdiGetPixel(long long long)
@ stdcall
-syscall
NtGdiGetPixel(long long long)
@ stub NtGdiGetProcessSessionFonts
@ stub NtGdiGetPublicFontTableChangeCookie
@ stdcall NtGdiGetRandomRgn(long long long)
...
...
@@ -535,7 +535,7 @@
@ stdcall -syscall NtGdiInitSpool()
@ stdcall NtGdiIntersectClipRect(long long long long long)
@ stdcall NtGdiInvertRgn(long long)
@ stdcall NtGdiLineTo(long long long)
@ stdcall
-syscall
NtGdiLineTo(long long long)
@ stub NtGdiMakeFontDir
@ stub NtGdiMakeInfoDC
@ stub NtGdiMakeObjectUnXferable
...
...
@@ -544,7 +544,7 @@
@ stub NtGdiMirrorWindowOrg
@ stdcall NtGdiModifyWorldTransform(long ptr long)
@ stub NtGdiMonoBitmap
@ stdcall NtGdiMoveTo(long long long ptr)
@ stdcall
-syscall
NtGdiMoveTo(long long long ptr)
@ stdcall NtGdiOffsetClipRgn(long long long)
@ stdcall -syscall NtGdiOffsetRgn(long long long)
@ stdcall -syscall NtGdiOpenDCW(ptr ptr ptr long long ptr ptr ptr)
...
...
@@ -566,14 +566,14 @@
@ stub NtGdiQueryFonts
@ stdcall -syscall NtGdiRectInRegion(long ptr)
@ stdcall NtGdiRectVisible(long ptr)
@ stdcall NtGdiRectangle(long long long long long)
@ stdcall
-syscall
NtGdiRectangle(long long long long long)
@ stdcall -syscall NtGdiRemoveFontMemResourceEx(long)
@ stdcall -syscall NtGdiRemoveFontResourceW(wstr long long long long ptr)
@ stub NtGdiRemoveMergeFont
@ stdcall NtGdiResetDC(long ptr ptr ptr ptr)
@ stdcall NtGdiResizePalette(long long)
@ stdcall NtGdiRestoreDC(long long)
@ stdcall NtGdiRoundRect(long long long long long long long)
@ stdcall
-syscall
NtGdiRoundRect(long long long long long long long)
@ stub NtGdiSTROBJ_bEnum
@ stub NtGdiSTROBJ_bEnumPositionsOnly
@ stub NtGdiSTROBJ_bGetAdvanceWidths
...
...
@@ -609,7 +609,7 @@
@ stub NtGdiSetMiterLimit
@ stub NtGdiSetOPMSigningKeyAndSequenceNumbers
@ stub NtGdiSetPUMPDOBJ
@ stdcall NtGdiSetPixel(long long long long)
@ stdcall
-syscall
NtGdiSetPixel(long long long long)
@ stdcall -syscall NtGdiSetPixelFormat(long long)
@ stub NtGdiSetPrivateDeviceGammaRamp
@ stdcall -syscall NtGdiSetRectRgn(long long long long long)
...
...
dlls/win32u/win32u_private.h
View file @
8cc95b54
...
...
@@ -42,8 +42,6 @@ struct unix_funcs
BLENDFUNCTION
blend_function
,
HANDLE
xform
);
BOOL
(
WINAPI
*
pNtGdiAngleArc
)(
HDC
hdc
,
INT
x
,
INT
y
,
DWORD
radius
,
DWORD
start_angle
,
DWORD
sweep_angle
);
BOOL
(
WINAPI
*
pNtGdiArcInternal
)(
UINT
type
,
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
,
INT
xstart
,
INT
ystart
,
INT
xend
,
INT
yend
);
BOOL
(
WINAPI
*
pNtGdiBeginPath
)(
HDC
hdc
);
BOOL
(
WINAPI
*
pNtGdiBitBlt
)(
HDC
hdc_dst
,
INT
x_dst
,
INT
y_dst
,
INT
width
,
INT
height
,
HDC
hdc_src
,
INT
x_src
,
INT
y_src
,
DWORD
rop
,
DWORD
bk_color
,
FLONG
fl
);
...
...
@@ -69,7 +67,6 @@ struct unix_funcs
BOOL
(
WINAPI
*
pNtGdiDeleteObjectApp
)(
HGDIOBJ
obj
);
LONG
(
WINAPI
*
pNtGdiDoPalette
)(
HGDIOBJ
handle
,
WORD
start
,
WORD
count
,
void
*
entries
,
DWORD
func
,
BOOL
inbound
);
BOOL
(
WINAPI
*
pNtGdiEllipse
)(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
);
INT
(
WINAPI
*
pNtGdiEndDoc
)(
HDC
hdc
);
BOOL
(
WINAPI
*
pNtGdiEndPath
)(
HDC
hdc
);
INT
(
WINAPI
*
pNtGdiEndPage
)(
HDC
hdc
);
...
...
@@ -110,7 +107,6 @@ struct unix_funcs
COLORREF
(
WINAPI
*
pNtGdiGetNearestColor
)(
HDC
hdc
,
COLORREF
color
);
UINT
(
WINAPI
*
pNtGdiGetOutlineTextMetricsInternalW
)(
HDC
hdc
,
UINT
cbData
,
OUTLINETEXTMETRICW
*
otm
,
ULONG
opts
);
COLORREF
(
WINAPI
*
pNtGdiGetPixel
)(
HDC
hdc
,
INT
x
,
INT
y
);
INT
(
WINAPI
*
pNtGdiGetRandomRgn
)(
HDC
hdc
,
HRGN
region
,
INT
code
);
BOOL
(
WINAPI
*
pNtGdiGetRasterizerCaps
)(
RASTERIZER_STATUS
*
status
,
UINT
size
);
BOOL
(
WINAPI
*
pNtGdiGetRealizationInfo
)(
HDC
hdc
,
struct
font_realization_info
*
info
);
...
...
@@ -123,12 +119,10 @@ struct unix_funcs
void
*
grad_array
,
ULONG
ngrad
,
ULONG
mode
);
INT
(
WINAPI
*
pNtGdiIntersectClipRect
)(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
);
BOOL
(
WINAPI
*
pNtGdiInvertRgn
)(
HDC
hdc
,
HRGN
hrgn
);
BOOL
(
WINAPI
*
pNtGdiLineTo
)(
HDC
hdc
,
INT
x
,
INT
y
);
BOOL
(
WINAPI
*
pNtGdiMaskBlt
)(
HDC
hdc
,
INT
x_dst
,
INT
y_dst
,
INT
width_dst
,
INT
height_dst
,
HDC
hdc_src
,
INT
x_src
,
INT
y_src
,
HBITMAP
mask
,
INT
x_mask
,
INT
y_mask
,
DWORD
rop
,
DWORD
bk_color
);
BOOL
(
WINAPI
*
pNtGdiModifyWorldTransform
)(
HDC
hdc
,
const
XFORM
*
xform
,
DWORD
mode
);
BOOL
(
WINAPI
*
pNtGdiMoveTo
)(
HDC
hdc
,
INT
x
,
INT
y
,
POINT
*
pt
);
INT
(
WINAPI
*
pNtGdiOffsetClipRgn
)(
HDC
hdc
,
INT
x
,
INT
y
);
BOOL
(
WINAPI
*
pNtGdiPatBlt
)(
HDC
hdc
,
INT
left
,
INT
top
,
INT
width
,
INT
height
,
DWORD
rop
);
BOOL
(
WINAPI
*
pNtGdiPlgBlt
)(
HDC
hdc
,
const
POINT
*
point
,
HDC
hdc_src
,
INT
x_src
,
INT
y_src
,
...
...
@@ -139,13 +133,10 @@ struct unix_funcs
DWORD
count
,
UINT
function
);
BOOL
(
WINAPI
*
pNtGdiPtVisible
)(
HDC
hdc
,
INT
x
,
INT
y
);
BOOL
(
WINAPI
*
pNtGdiRectVisible
)(
HDC
hdc
,
const
RECT
*
rect
);
BOOL
(
WINAPI
*
pNtGdiRectangle
)(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
);
BOOL
(
WINAPI
*
pNtGdiResetDC
)(
HDC
hdc
,
const
DEVMODEW
*
devmode
,
BOOL
*
banding
,
DRIVER_INFO_2W
*
driver_info
,
void
*
dev
);
BOOL
(
WINAPI
*
pNtGdiResizePalette
)(
HPALETTE
palette
,
UINT
count
);
BOOL
(
WINAPI
*
pNtGdiRestoreDC
)(
HDC
hdc
,
INT
level
);
BOOL
(
WINAPI
*
pNtGdiRoundRect
)(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
,
INT
ell_width
,
INT
ell_height
);
BOOL
(
WINAPI
*
pNtGdiScaleViewportExtEx
)(
HDC
hdc
,
INT
x_num
,
INT
x_denom
,
INT
y_num
,
INT
y_denom
,
SIZE
*
size
);
BOOL
(
WINAPI
*
pNtGdiScaleWindowExtEx
)(
HDC
hdc
,
INT
x_num
,
INT
x_denom
,
...
...
@@ -163,7 +154,6 @@ struct unix_funcs
BOOL
xform_coords
,
HANDLE
xform
);
BOOL
(
WINAPI
*
pNtGdiSetDeviceGammaRamp
)(
HDC
hdc
,
void
*
ptr
);
DWORD
(
WINAPI
*
pNtGdiSetLayout
)(
HDC
hdc
,
LONG
wox
,
DWORD
layout
);
COLORREF
(
WINAPI
*
pNtGdiSetPixel
)(
HDC
hdc
,
INT
x
,
INT
y
,
COLORREF
color
);
UINT
(
WINAPI
*
pNtGdiSetSystemPaletteUse
)(
HDC
hdc
,
UINT
use
);
INT
(
WINAPI
*
pNtGdiStartDoc
)(
HDC
hdc
,
const
DOCINFOW
*
doc
,
BOOL
*
banding
,
INT
job
);
INT
(
WINAPI
*
pNtGdiStartPage
)(
HDC
hdc
);
...
...
dlls/win32u/wrappers.c
View file @
8cc95b54
...
...
@@ -51,13 +51,6 @@ BOOL WINAPI NtGdiAngleArc( HDC hdc, INT x, INT y, DWORD radius, DWORD start_angl
return
unix_funcs
->
pNtGdiAngleArc
(
hdc
,
x
,
y
,
radius
,
start_angle
,
sweep_angle
);
}
BOOL
WINAPI
NtGdiArcInternal
(
UINT
type
,
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
,
INT
xstart
,
INT
ystart
,
INT
xend
,
INT
yend
)
{
if
(
!
unix_funcs
)
return
FALSE
;
return
unix_funcs
->
pNtGdiArcInternal
(
type
,
hdc
,
left
,
top
,
right
,
bottom
,
xstart
,
ystart
,
xend
,
yend
);
}
BOOL
WINAPI
NtGdiBeginPath
(
HDC
hdc
)
{
if
(
!
unix_funcs
)
return
FALSE
;
...
...
@@ -125,12 +118,6 @@ LONG WINAPI NtGdiDoPalette( HGDIOBJ handle, WORD start, WORD count, void *entrie
return
unix_funcs
->
pNtGdiDoPalette
(
handle
,
start
,
count
,
entries
,
func
,
inbound
);
}
BOOL
WINAPI
NtGdiEllipse
(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
)
{
if
(
!
unix_funcs
)
return
FALSE
;
return
unix_funcs
->
pNtGdiEllipse
(
hdc
,
left
,
top
,
right
,
bottom
);
}
INT
WINAPI
NtGdiEndDoc
(
HDC
hdc
)
{
if
(
!
unix_funcs
)
return
SP_ERROR
;
...
...
@@ -325,12 +312,6 @@ UINT WINAPI NtGdiGetOutlineTextMetricsInternalW( HDC hdc, UINT cbData,
return
unix_funcs
->
pNtGdiGetOutlineTextMetricsInternalW
(
hdc
,
cbData
,
otm
,
opts
);
}
COLORREF
WINAPI
NtGdiGetPixel
(
HDC
hdc
,
INT
x
,
INT
y
)
{
if
(
!
unix_funcs
)
return
CLR_INVALID
;
return
unix_funcs
->
pNtGdiGetPixel
(
hdc
,
x
,
y
);
}
INT
WINAPI
NtGdiGetRandomRgn
(
HDC
hdc
,
HRGN
region
,
INT
code
)
{
if
(
!
unix_funcs
)
return
-
1
;
...
...
@@ -393,12 +374,6 @@ BOOL WINAPI NtGdiInvertRgn( HDC hdc, HRGN hrgn )
return
unix_funcs
->
pNtGdiInvertRgn
(
hdc
,
hrgn
);
}
BOOL
WINAPI
NtGdiLineTo
(
HDC
hdc
,
INT
x
,
INT
y
)
{
if
(
!
unix_funcs
)
return
FALSE
;
return
unix_funcs
->
pNtGdiLineTo
(
hdc
,
x
,
y
);
}
BOOL
WINAPI
NtGdiMaskBlt
(
HDC
hdc
,
INT
x_dst
,
INT
y_dst
,
INT
width_dst
,
INT
height_dst
,
HDC
hdc_src
,
INT
x_src
,
INT
y_src
,
HBITMAP
mask
,
INT
x_mask
,
INT
y_mask
,
DWORD
rop
,
DWORD
bk_color
)
...
...
@@ -414,12 +389,6 @@ BOOL WINAPI NtGdiModifyWorldTransform( HDC hdc, const XFORM *xform, DWORD mode )
return
unix_funcs
->
pNtGdiModifyWorldTransform
(
hdc
,
xform
,
mode
);
}
BOOL
WINAPI
NtGdiMoveTo
(
HDC
hdc
,
INT
x
,
INT
y
,
POINT
*
pt
)
{
if
(
!
unix_funcs
)
return
FALSE
;
return
unix_funcs
->
pNtGdiMoveTo
(
hdc
,
x
,
y
,
pt
);
}
INT
WINAPI
NtGdiOffsetClipRgn
(
HDC
hdc
,
INT
x
,
INT
y
)
{
if
(
!
unix_funcs
)
return
ERROR
;
...
...
@@ -466,12 +435,6 @@ BOOL WINAPI NtGdiRectVisible( HDC hdc, const RECT *rect )
return
unix_funcs
->
pNtGdiRectVisible
(
hdc
,
rect
);
}
BOOL
WINAPI
NtGdiRectangle
(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
)
{
if
(
!
unix_funcs
)
return
FALSE
;
return
unix_funcs
->
pNtGdiRectangle
(
hdc
,
left
,
top
,
right
,
bottom
);
}
BOOL
WINAPI
NtGdiResetDC
(
HDC
hdc
,
const
DEVMODEW
*
devmode
,
BOOL
*
banding
,
DRIVER_INFO_2W
*
driver_info
,
void
*
dev
)
{
...
...
@@ -491,13 +454,6 @@ BOOL WINAPI NtGdiRestoreDC( HDC hdc, INT level )
return
unix_funcs
->
pNtGdiRestoreDC
(
hdc
,
level
);
}
BOOL
WINAPI
NtGdiRoundRect
(
HDC
hdc
,
INT
left
,
INT
top
,
INT
right
,
INT
bottom
,
INT
ell_width
,
INT
ell_height
)
{
if
(
!
unix_funcs
)
return
FALSE
;
return
unix_funcs
->
pNtGdiRoundRect
(
hdc
,
left
,
top
,
right
,
bottom
,
ell_width
,
ell_height
);
}
BOOL
WINAPI
NtGdiScaleViewportExtEx
(
HDC
hdc
,
INT
x_num
,
INT
x_denom
,
INT
y_num
,
INT
y_denom
,
SIZE
*
size
)
{
...
...
@@ -572,12 +528,6 @@ DWORD WINAPI NtGdiSetLayout( HDC hdc, LONG wox, DWORD layout )
return
unix_funcs
->
pNtGdiSetLayout
(
hdc
,
wox
,
layout
);
}
COLORREF
WINAPI
NtGdiSetPixel
(
HDC
hdc
,
INT
x
,
INT
y
,
COLORREF
color
)
{
if
(
!
unix_funcs
)
return
CLR_INVALID
;
return
unix_funcs
->
pNtGdiSetPixel
(
hdc
,
x
,
y
,
color
);
}
UINT
WINAPI
NtGdiSetSystemPaletteUse
(
HDC
hdc
,
UINT
use
)
{
if
(
!
unix_funcs
)
return
SYSPAL_ERROR
;
...
...
dlls/wow64win/gdi.c
View file @
8cc95b54
...
...
@@ -79,6 +79,22 @@ NTSTATUS WINAPI wow64_NtGdiAddFontResourceW( UINT *args )
return
NtGdiAddFontResourceW
(
str
,
size
,
files
,
flags
,
tid
,
dv
);
}
NTSTATUS
WINAPI
wow64_NtGdiArcInternal
(
UINT
*
args
)
{
UINT
type
=
get_ulong
(
&
args
);
HDC
hdc
=
get_handle
(
&
args
);
INT
left
=
get_ulong
(
&
args
);
INT
top
=
get_ulong
(
&
args
);
INT
right
=
get_ulong
(
&
args
);
INT
bottom
=
get_ulong
(
&
args
);
INT
xstart
=
get_ulong
(
&
args
);
INT
ystart
=
get_ulong
(
&
args
);
INT
xend
=
get_ulong
(
&
args
);
INT
yend
=
get_ulong
(
&
args
);
return
NtGdiArcInternal
(
type
,
hdc
,
left
,
top
,
right
,
bottom
,
xstart
,
ystart
,
xend
,
yend
);
}
NTSTATUS
WINAPI
wow64_NtGdiCombineRgn
(
UINT
*
args
)
{
HRGN
dest
=
get_handle
(
&
args
);
...
...
@@ -318,6 +334,17 @@ NTSTATUS WINAPI wow64_NtGdiDrawStream( UINT *args )
return
NtGdiDrawStream
(
hdc
,
in
,
pvin
);
}
NTSTATUS
WINAPI
wow64_NtGdiEllipse
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
left
=
get_ulong
(
&
args
);
INT
top
=
get_ulong
(
&
args
);
INT
right
=
get_ulong
(
&
args
);
INT
bottom
=
get_ulong
(
&
args
);
return
NtGdiEllipse
(
hdc
,
left
,
top
,
right
,
bottom
);
}
NTSTATUS
WINAPI
wow64_NtGdiEqualRgn
(
UINT
*
args
)
{
HRGN
hrgn1
=
get_handle
(
&
args
);
...
...
@@ -555,6 +582,45 @@ NTSTATUS WINAPI wow64_NtGdiGetPath( UINT *args )
return
NtGdiGetPath
(
hdc
,
points
,
types
,
size
);
}
NTSTATUS
WINAPI
wow64_NtGdiGetPixel
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
x
=
get_ulong
(
&
args
);
INT
y
=
get_ulong
(
&
args
);
return
NtGdiGetPixel
(
hdc
,
x
,
y
);
}
NTSTATUS
WINAPI
wow64_NtGdiLineTo
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
x
=
get_ulong
(
&
args
);
INT
y
=
get_ulong
(
&
args
);
return
NtGdiLineTo
(
hdc
,
x
,
y
);
}
NTSTATUS
WINAPI
wow64_NtGdiMoveTo
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
x
=
get_ulong
(
&
args
);
INT
y
=
get_ulong
(
&
args
);
POINT
*
pt
=
get_ptr
(
&
args
);
return
NtGdiMoveTo
(
hdc
,
x
,
y
,
pt
);
}
NTSTATUS
WINAPI
wow64_NtGdiRectangle
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
left
=
get_ulong
(
&
args
);
INT
top
=
get_ulong
(
&
args
);
INT
right
=
get_ulong
(
&
args
);
INT
bottom
=
get_ulong
(
&
args
);
return
NtGdiRectangle
(
hdc
,
left
,
top
,
right
,
bottom
);
}
NTSTATUS
WINAPI
wow64_NtGdiGetRegionData
(
UINT
*
args
)
{
HRGN
hrgn
=
get_ptr
(
&
args
);
...
...
@@ -572,6 +638,19 @@ NTSTATUS WINAPI wow64_NtGdiGetRgnBox( UINT *args )
return
NtGdiGetRgnBox
(
hrgn
,
rect
);
}
NTSTATUS
WINAPI
wow64_NtGdiRoundRect
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
left
=
get_ulong
(
&
args
);
INT
top
=
get_ulong
(
&
args
);
INT
right
=
get_ulong
(
&
args
);
INT
bottom
=
get_ulong
(
&
args
);
INT
ell_width
=
get_ulong
(
&
args
);
INT
ell_height
=
get_ulong
(
&
args
);
return
NtGdiRoundRect
(
hdc
,
left
,
top
,
right
,
bottom
,
ell_width
,
ell_height
);
}
NTSTATUS
WINAPI
wow64_NtGdiGetSpoolMessage
(
UINT
*
args
)
{
void
*
ptr1
=
get_ptr
(
&
args
);
...
...
@@ -744,6 +823,16 @@ NTSTATUS WINAPI wow64_NtGdiSetMetaRgn( UINT *args )
return
NtGdiSetMetaRgn
(
hdc
);
}
NTSTATUS
WINAPI
wow64_NtGdiSetPixel
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
INT
x
=
get_ulong
(
&
args
);
INT
y
=
get_ulong
(
&
args
);
COLORREF
color
=
get_ulong
(
&
args
);
return
NtGdiSetPixel
(
hdc
,
x
,
y
,
color
);
}
NTSTATUS
WINAPI
wow64_NtGdiSetPixelFormat
(
UINT
*
args
)
{
HDC
hdc
=
get_handle
(
&
args
);
...
...
dlls/wow64win/syscall.h
View file @
8cc95b54
...
...
@@ -24,6 +24,7 @@
#define ALL_WIN32_SYSCALLS \
SYSCALL_ENTRY( NtGdiAddFontMemResourceEx ) \
SYSCALL_ENTRY( NtGdiAddFontResourceW ) \
SYSCALL_ENTRY( NtGdiArcInternal ) \
SYSCALL_ENTRY( NtGdiCombineRgn ) \
SYSCALL_ENTRY( NtGdiCreateBitmap ) \
SYSCALL_ENTRY( NtGdiCreateClientObj ) \
...
...
@@ -45,6 +46,7 @@
SYSCALL_ENTRY( NtGdiDeleteClientObj ) \
SYSCALL_ENTRY( NtGdiDescribePixelFormat ) \
SYSCALL_ENTRY( NtGdiDrawStream ) \
SYSCALL_ENTRY( NtGdiEllipse ) \
SYSCALL_ENTRY( NtGdiEqualRgn ) \
SYSCALL_ENTRY( NtGdiExtCreatePen ) \
SYSCALL_ENTRY( NtGdiExtCreateRegion ) \
...
...
@@ -61,6 +63,7 @@
SYSCALL_ENTRY( NtGdiGetFontFileInfo ) \
SYSCALL_ENTRY( NtGdiGetNearestPaletteIndex ) \
SYSCALL_ENTRY( NtGdiGetPath ) \
SYSCALL_ENTRY( NtGdiGetPixel ) \
SYSCALL_ENTRY( NtGdiGetRegionData ) \
SYSCALL_ENTRY( NtGdiGetRgnBox ) \
SYSCALL_ENTRY( NtGdiGetSpoolMessage ) \
...
...
@@ -68,13 +71,17 @@
SYSCALL_ENTRY( NtGdiGetTransform ) \
SYSCALL_ENTRY( NtGdiHfontCreate ) \
SYSCALL_ENTRY( NtGdiInitSpool ) \
SYSCALL_ENTRY( NtGdiLineTo ) \
SYSCALL_ENTRY( NtGdiMoveTo ) \
SYSCALL_ENTRY( NtGdiOffsetRgn ) \
SYSCALL_ENTRY( NtGdiOpenDCW ) \
SYSCALL_ENTRY( NtGdiPathToRegion ) \
SYSCALL_ENTRY( NtGdiPtInRegion ) \
SYSCALL_ENTRY( NtGdiRectInRegion ) \
SYSCALL_ENTRY( NtGdiRectangle ) \
SYSCALL_ENTRY( NtGdiRemoveFontMemResourceEx ) \
SYSCALL_ENTRY( NtGdiRemoveFontResourceW ) \
SYSCALL_ENTRY( NtGdiRoundRect ) \
SYSCALL_ENTRY( NtGdiSaveDC ) \
SYSCALL_ENTRY( NtGdiSetBitmapBits ) \
SYSCALL_ENTRY( NtGdiSetBitmapDimension ) \
...
...
@@ -82,6 +89,7 @@
SYSCALL_ENTRY( NtGdiSetColorAdjustment ) \
SYSCALL_ENTRY( NtGdiSetMagicColors ) \
SYSCALL_ENTRY( NtGdiSetMetaRgn ) \
SYSCALL_ENTRY( NtGdiSetPixel ) \
SYSCALL_ENTRY( NtGdiSetPixelFormat ) \
SYSCALL_ENTRY( NtGdiSetRectRgn ) \
SYSCALL_ENTRY( NtGdiSetTextJustification ) \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment