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
5b471a29
Commit
5b471a29
authored
Oct 07, 2023
by
Nikolay Sivov
Committed by
Alexandre Julliard
Oct 09, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32/emf: Fix miter limit serialization.
parent
627181d9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
2 deletions
+22
-2
dc.c
dlls/gdi32/dc.c
+1
-1
emfdc.c
dlls/gdi32/emfdc.c
+10
-0
enhmetafile.c
dlls/gdi32/enhmetafile.c
+1
-1
gdi_private.h
dlls/gdi32/gdi_private.h
+10
-0
No files found.
dlls/gdi32/dc.c
View file @
5b471a29
...
...
@@ -1371,7 +1371,7 @@ BOOL WINAPI SetMiterLimit( HDC hdc, FLOAT limit, FLOAT *old_limit )
{
DC_ATTR
*
dc_attr
;
if
(
!
(
dc_attr
=
get_dc_attr
(
hdc
)))
return
FALSE
;
/* FIXME: record EMFs */
if
(
dc_attr
->
emf
&&
!
EMFDC_SetMiterLimit
(
dc_attr
,
limit
))
return
0
;
if
(
old_limit
)
*
old_limit
=
dc_attr
->
miter_limit
;
dc_attr
->
miter_limit
=
limit
;
return
TRUE
;
...
...
dlls/gdi32/emfdc.c
View file @
5b471a29
...
...
@@ -2254,6 +2254,16 @@ BOOL EMFDC_SetMapMode( DC_ATTR *dc_attr, INT mode )
return
emfdc_record
(
get_dc_emf
(
dc_attr
),
&
emr
.
emr
);
}
BOOL
EMFDC_SetMiterLimit
(
DC_ATTR
*
dc_attr
,
FLOAT
limit
)
{
struct
emr_set_miter_limit
emr
;
emr
.
emr
.
iType
=
EMR_SETMITERLIMIT
;
emr
.
emr
.
nSize
=
sizeof
(
emr
);
emr
.
eMiterLimit
=
limit
;
return
emfdc_record
(
get_dc_emf
(
dc_attr
),
&
emr
.
emr
);
}
BOOL
EMFDC_SetViewportExtEx
(
DC_ATTR
*
dc_attr
,
INT
cx
,
INT
cy
)
{
EMRSETVIEWPORTEXTEX
emr
;
...
...
dlls/gdi32/enhmetafile.c
View file @
5b471a29
...
...
@@ -1680,7 +1680,7 @@ BOOL WINAPI PlayEnhMetaFileRecord(
case
EMR_SETMITERLIMIT
:
{
const
EMRSETMITERLIMIT
*
lpSetMiterLimit
=
(
const
EMRSETMITERLIMIT
*
)
mr
;
const
struct
emr_set_miter_limit
*
lpSetMiterLimit
=
(
const
struct
emr_set_miter_limit
*
)
mr
;
SetMiterLimit
(
hdc
,
lpSetMiterLimit
->
eMiterLimit
,
NULL
);
break
;
}
...
...
dlls/gdi32/gdi_private.h
View file @
5b471a29
...
...
@@ -160,6 +160,15 @@ typedef struct
INT
nBreakCount
;
}
EMRSETTEXTJUSTIFICATION
,
*
PEMRSETTEXTJUSTIFICATION
;
/* Public structure EMRSETMITERLIMIT is using a float field,
that does not match serialized output or documentation,
which are both using unsigned integer. */
struct
emr_set_miter_limit
{
EMR
emr
;
DWORD
eMiterLimit
;
};
BOOL
EMFDC_AbortPath
(
DC_ATTR
*
dc_attr
);
BOOL
EMFDC_AlphaBlend
(
DC_ATTR
*
dc_attr
,
INT
x_dst
,
INT
y_dst
,
INT
width_dst
,
INT
height_dst
,
HDC
hdc_src
,
INT
x_src
,
INT
y_src
,
INT
width_src
,
INT
height_src
,
...
...
@@ -232,6 +241,7 @@ INT EMFDC_SetDIBitsToDevice( DC_ATTR *dc_attr, INT x_dest, INT y_dest, DWORD wi
BOOL
EMFDC_SetLayout
(
DC_ATTR
*
dc_attr
,
DWORD
layout
);
BOOL
EMFDC_SetMapMode
(
DC_ATTR
*
dc_attr
,
INT
mode
);
BOOL
EMFDC_SetMapperFlags
(
DC_ATTR
*
dc_attr
,
DWORD
flags
);
BOOL
EMFDC_SetMiterLimit
(
DC_ATTR
*
dc_attr
,
FLOAT
limit
);
BOOL
EMFDC_SetPixel
(
DC_ATTR
*
dc_attr
,
INT
x
,
INT
y
,
COLORREF
color
);
BOOL
EMFDC_SetPolyFillMode
(
DC_ATTR
*
dc_attr
,
INT
mode
);
BOOL
EMFDC_SetROP2
(
DC_ATTR
*
dc_attr
,
INT
rop
);
...
...
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