Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
3d540312
Commit
3d540312
authored
Aug 03, 2022
by
Nikolay Sivov
Committed by
Alexandre Julliard
Aug 03, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d2d1/commandlist: Update text rendering params on DrawGlyphRun().
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
parent
9a87e7de
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
3 deletions
+33
-3
command_list.c
dlls/d2d1/command_list.c
+32
-3
d2d1_private.h
dlls/d2d1/d2d1_private.h
+1
-0
No files found.
dlls/d2d1/command_list.c
View file @
3d540312
...
...
@@ -20,6 +20,11 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
d2d
);
enum
d2d_command_list_flags
{
D2D_COMMAND_LIST_HAS_NULL_TEXT_RENDERING_PARAMS
=
0x1
,
};
enum
d2d_command_type
{
D2D_COMMAND_SET_ANTIALIAS_MODE
,
...
...
@@ -751,20 +756,37 @@ void d2d_command_list_fill_rectangle(struct d2d_command_list *command_list,
command
->
brush
=
brush
;
}
void
d2d_command_list_set_text_rendering_params
(
struct
d2d_command_list
*
command_list
,
IDWriteRenderingParams
*
params
)
static
void
d2d_command_list_set_text_rendering_params_internal
(
struct
d2d_command_list
*
command_list
,
BOOL
allow_null
,
IDWriteRenderingParams
*
params
)
{
struct
d2d_command_set_text_rendering_params
*
command
;
if
(
!
params
)
return
;
if
(
!
params
&&
!
allow_null
)
return
;
if
((
command_list
->
flags
&
D2D_COMMAND_LIST_HAS_NULL_TEXT_RENDERING_PARAMS
)
&&
!
params
)
{
return
;
}
d2d_command_list_reference_object
(
command_list
,
params
);
if
(
params
)
command_list
->
flags
&=
~
D2D_COMMAND_LIST_HAS_NULL_TEXT_RENDERING_PARAMS
;
else
command_list
->
flags
|=
D2D_COMMAND_LIST_HAS_NULL_TEXT_RENDERING_PARAMS
;
command
=
d2d_command_list_require_space
(
command_list
,
sizeof
(
*
command
));
command
->
c
.
op
=
D2D_COMMAND_SET_TEXT_RENDERING_PARAMS
;
command
->
params
=
params
;
}
void
d2d_command_list_set_text_rendering_params
(
struct
d2d_command_list
*
command_list
,
IDWriteRenderingParams
*
params
)
{
d2d_command_list_set_text_rendering_params_internal
(
command_list
,
FALSE
,
params
);
}
static
inline
void
d2d_command_list_write_field
(
BYTE
**
data
,
void
*
dst
,
const
void
*
src
,
size_t
size
)
{
void
**
ptr
=
dst
;
...
...
@@ -799,6 +821,13 @@ void d2d_command_list_draw_glyph_run(struct d2d_command_list *command_list,
return
;
}
/* Set rendering parameters automatically. Explicitly set null parameters are not recorded,
either separately or as a part of a restored state block. Forcing parameters update on
DrawGlyphRun() ensures that state is reset correctly. */
d2d_command_list_set_text_rendering_params_internal
(
command_list
,
TRUE
,
context
->
text_rendering_params
);
/* Get combined size of variable data. */
glyph_count
=
run
->
glyphCount
;
...
...
dlls/d2d1/d2d1_private.h
View file @
3d540312
...
...
@@ -720,6 +720,7 @@ struct d2d_command_list
ID2D1Factory
*
factory
;
enum
d2d_command_list_state
state
;
unsigned
int
flags
;
size_t
size
;
size_t
capacity
;
...
...
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