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
30997b56
Commit
30997b56
authored
Mar 10, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Add a SetLayout driver entry point and implement it for enhanced metafiles.
parent
965d4171
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
30 additions
and
5 deletions
+30
-5
dc.c
dlls/gdi32/dc.c
+10
-5
driver.c
dlls/gdi32/driver.c
+6
-0
enhmetafiledrv.h
dlls/gdi32/enhmfdrv/enhmetafiledrv.h
+1
-0
init.c
dlls/gdi32/enhmfdrv/init.c
+1
-0
mapping.c
dlls/gdi32/enhmfdrv/mapping.c
+10
-0
gdi_private.h
dlls/gdi32/gdi_private.h
+1
-0
init.c
dlls/gdi32/mfdrv/init.c
+1
-0
No files found.
dlls/gdi32/dc.c
View file @
30997b56
...
...
@@ -2015,12 +2015,17 @@ DWORD WINAPI SetLayout(HDC hdc, DWORD layout)
DC
*
dc
=
get_dc_ptr
(
hdc
);
if
(
dc
)
{
oldlayout
=
dc
->
layout
;
dc
->
layout
=
layout
;
if
(
layout
!=
oldlayout
)
PHYSDEV
physdev
=
GET_DC_PHYSDEV
(
dc
,
pSetLayout
)
;
layout
=
physdev
->
funcs
->
pSetLayout
(
physdev
,
layout
)
;
if
(
layout
!=
GDI_ERROR
)
{
if
(
layout
&
LAYOUT_RTL
)
dc
->
MapMode
=
MM_ANISOTROPIC
;
DC_UpdateXforms
(
dc
);
oldlayout
=
dc
->
layout
;
dc
->
layout
=
layout
;
if
(
layout
!=
oldlayout
)
{
if
(
layout
&
LAYOUT_RTL
)
dc
->
MapMode
=
MM_ANISOTROPIC
;
DC_UpdateXforms
(
dc
);
}
}
release_dc_ptr
(
dc
);
}
...
...
dlls/gdi32/driver.c
View file @
30997b56
...
...
@@ -467,6 +467,11 @@ static void CDECL nulldrv_SetDeviceClipping( PHYSDEV dev, HRGN vis_rgn, HRGN cli
{
}
static
DWORD
CDECL
nulldrv_SetLayout
(
PHYSDEV
dev
,
DWORD
layout
)
{
return
layout
;
}
static
DWORD
CDECL
nulldrv_SetMapperFlags
(
PHYSDEV
dev
,
DWORD
flags
)
{
return
flags
;
...
...
@@ -683,6 +688,7 @@ const DC_FUNCTIONS null_driver =
NULL
,
/* pSetDIBitsToDevice */
nulldrv_SetDeviceClipping
,
/* pSetDeviceClipping */
NULL
,
/* pSetDeviceGammaRamp */
nulldrv_SetLayout
,
/* pSetLayout */
nulldrv_SetMapMode
,
/* pSetMapMode */
nulldrv_SetMapperFlags
,
/* pSetMapperFlags */
nulldrv_SetPixel
,
/* pSetPixel */
...
...
dlls/gdi32/enhmfdrv/enhmetafiledrv.h
View file @
30997b56
...
...
@@ -137,6 +137,7 @@ extern INT CDECL EMFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDes
INT
ySrc
,
UINT
startscan
,
UINT
lines
,
LPCVOID
bits
,
const
BITMAPINFO
*
info
,
UINT
coloruse
)
DECLSPEC_HIDDEN
;
extern
DWORD
CDECL
EMFDRV_SetLayout
(
PHYSDEV
dev
,
DWORD
layout
)
DECLSPEC_HIDDEN
;
extern
INT
CDECL
EMFDRV_SetMapMode
(
PHYSDEV
dev
,
INT
mode
)
DECLSPEC_HIDDEN
;
extern
DWORD
CDECL
EMFDRV_SetMapperFlags
(
PHYSDEV
dev
,
DWORD
flags
)
DECLSPEC_HIDDEN
;
extern
COLORREF
CDECL
EMFDRV_SetPixel
(
PHYSDEV
dev
,
INT
x
,
INT
y
,
COLORREF
color
)
DECLSPEC_HIDDEN
;
...
...
dlls/gdi32/enhmfdrv/init.c
View file @
30997b56
...
...
@@ -127,6 +127,7 @@ static const DC_FUNCTIONS EMFDRV_Funcs =
EMFDRV_SetDIBitsToDevice
,
/* pSetDIBitsToDevice */
NULL
,
/* pSetDeviceClipping */
NULL
,
/* pSetDeviceGammaRamp */
EMFDRV_SetLayout
,
/* pSetLayout */
EMFDRV_SetMapMode
,
/* pSetMapMode */
EMFDRV_SetMapperFlags
,
/* pSetMapperFlags */
EMFDRV_SetPixel
,
/* pSetPixel */
...
...
dlls/gdi32/enhmfdrv/mapping.c
View file @
30997b56
...
...
@@ -120,6 +120,16 @@ BOOL CDECL EMFDRV_ScaleWindowExtEx( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
return
next
->
funcs
->
pScaleWindowExtEx
(
next
,
xNum
,
xDenom
,
yNum
,
yDenom
,
size
);
}
DWORD
CDECL
EMFDRV_SetLayout
(
PHYSDEV
dev
,
DWORD
layout
)
{
EMRSETLAYOUT
emr
;
emr
.
emr
.
iType
=
EMR_SETLAYOUT
;
emr
.
emr
.
nSize
=
sizeof
(
emr
);
emr
.
iMode
=
layout
;
return
EMFDRV_WriteRecord
(
dev
,
&
emr
.
emr
)
?
layout
:
GDI_ERROR
;
}
BOOL
CDECL
EMFDRV_SetWorldTransform
(
PHYSDEV
dev
,
const
XFORM
*
xform
)
{
EMRSETWORLDTRANSFORM
emr
;
...
...
dlls/gdi32/gdi_private.h
View file @
30997b56
...
...
@@ -175,6 +175,7 @@ typedef struct tagDC_FUNCS
const
BITMAPINFO
*
,
UINT
);
VOID
(
CDECL
*
pSetDeviceClipping
)(
PHYSDEV
,
HRGN
,
HRGN
);
BOOL
(
CDECL
*
pSetDeviceGammaRamp
)(
PHYSDEV
,
LPVOID
);
DWORD
(
CDECL
*
pSetLayout
)(
PHYSDEV
,
DWORD
);
INT
(
CDECL
*
pSetMapMode
)(
PHYSDEV
,
INT
);
DWORD
(
CDECL
*
pSetMapperFlags
)(
PHYSDEV
,
DWORD
);
COLORREF
(
CDECL
*
pSetPixel
)(
PHYSDEV
,
INT
,
INT
,
COLORREF
);
...
...
dlls/gdi32/mfdrv/init.c
View file @
30997b56
...
...
@@ -125,6 +125,7 @@ static const DC_FUNCTIONS MFDRV_Funcs =
MFDRV_SetDIBitsToDevice
,
/* pSetDIBitsToDevice */
NULL
,
/* pSetDeviceClipping */
NULL
,
/* pSetDeviceGammaRamp */
NULL
,
/* pSetLayout */
MFDRV_SetMapMode
,
/* pSetMapMode */
MFDRV_SetMapperFlags
,
/* pSetMapperFlags */
MFDRV_SetPixel
,
/* pSetPixel */
...
...
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