mirror of
git://source.winehq.org/git/wine.git
synced 2024-08-31 07:44:06 +00:00
dwrite/layout: Constify some internal helpers arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
parent
b783100773
commit
31ab7f87db
|
@ -301,7 +301,7 @@ static inline const char *debugstr_rundescr(const DWRITE_GLYPH_RUN_DESCRIPTION *
|
|||
return wine_dbg_sprintf("[%u,%u)", descr->textPosition, descr->textPosition + descr->stringLength);
|
||||
}
|
||||
|
||||
static inline BOOL is_layout_gdi_compatible(struct dwrite_textlayout *layout)
|
||||
static inline BOOL is_layout_gdi_compatible(const struct dwrite_textlayout *layout)
|
||||
{
|
||||
return layout->measuringmode != DWRITE_MEASURING_MODE_NATURAL;
|
||||
}
|
||||
|
@ -455,7 +455,7 @@ static HRESULT layout_update_breakpoints_range(struct dwrite_textlayout *layout,
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static struct layout_range *get_layout_range_by_pos(struct dwrite_textlayout *layout, UINT32 pos)
|
||||
static struct layout_range *get_layout_range_by_pos(const struct dwrite_textlayout *layout, UINT32 pos)
|
||||
{
|
||||
struct layout_range *cur;
|
||||
|
||||
|
@ -469,7 +469,7 @@ static struct layout_range *get_layout_range_by_pos(struct dwrite_textlayout *la
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static struct layout_range_header *get_layout_range_header_by_pos(struct list *ranges, UINT32 pos)
|
||||
static struct layout_range_header *get_layout_range_header_by_pos(const struct list *ranges, UINT32 pos)
|
||||
{
|
||||
struct layout_range_header *cur;
|
||||
|
||||
|
@ -577,7 +577,7 @@ static void layout_set_cluster_metrics(struct dwrite_textlayout *layout, const s
|
|||
|
||||
#define SCALE_FONT_METRIC(metric, emSize, metrics) ((FLOAT)(metric) * (emSize) / (FLOAT)(metrics)->designUnitsPerEm)
|
||||
|
||||
static void layout_get_font_metrics(struct dwrite_textlayout *layout, IDWriteFontFace *fontface, FLOAT emsize,
|
||||
static void layout_get_font_metrics(const struct dwrite_textlayout *layout, IDWriteFontFace *fontface, float emsize,
|
||||
DWRITE_FONT_METRICS *fontmetrics)
|
||||
{
|
||||
if (is_layout_gdi_compatible(layout)) {
|
||||
|
@ -589,7 +589,7 @@ static void layout_get_font_metrics(struct dwrite_textlayout *layout, IDWriteFon
|
|||
IDWriteFontFace_GetMetrics(fontface, fontmetrics);
|
||||
}
|
||||
|
||||
static void layout_get_font_height(FLOAT emsize, DWRITE_FONT_METRICS *fontmetrics, FLOAT *baseline, FLOAT *height)
|
||||
static inline void layout_get_font_height(float emsize, const DWRITE_FONT_METRICS *fontmetrics, float *baseline, float *height)
|
||||
{
|
||||
*baseline = SCALE_FONT_METRIC(fontmetrics->ascent + fontmetrics->lineGap, emsize, fontmetrics);
|
||||
*height = SCALE_FONT_METRIC(fontmetrics->ascent + fontmetrics->descent + fontmetrics->lineGap, emsize, fontmetrics);
|
||||
|
@ -854,7 +854,7 @@ static HRESULT layout_shape_add_empty_user_features_range(struct shaping_context
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT layout_shape_get_user_features(struct dwrite_textlayout *layout, struct shaping_context *context)
|
||||
static HRESULT layout_shape_get_user_features(const struct dwrite_textlayout *layout, struct shaping_context *context)
|
||||
{
|
||||
unsigned int i, f, start = 0, r, covered_length = 0, length, feature_count;
|
||||
struct regular_layout_run *run = context->run;
|
||||
|
@ -989,8 +989,8 @@ static HRESULT layout_shape_get_glyphs(struct dwrite_textlayout *layout, struct
|
|||
return hr;
|
||||
}
|
||||
|
||||
static struct layout_range_spacing *layout_get_next_spacing_range(struct dwrite_textlayout *layout,
|
||||
struct layout_range_spacing *cur)
|
||||
static struct layout_range_spacing *layout_get_next_spacing_range(const struct dwrite_textlayout *layout,
|
||||
const struct layout_range_spacing *cur)
|
||||
{
|
||||
return (struct layout_range_spacing *)LIST_ENTRY(list_next(&layout->spacing, &cur->h.entry),
|
||||
struct layout_range_header, entry);
|
||||
|
@ -1265,15 +1265,15 @@ static HRESULT layout_compute(struct dwrite_textlayout *layout)
|
|||
return hr;
|
||||
}
|
||||
|
||||
static inline FLOAT get_cluster_range_width(struct dwrite_textlayout *layout, UINT32 start, UINT32 end)
|
||||
static inline float get_cluster_range_width(const struct dwrite_textlayout *layout, UINT32 start, UINT32 end)
|
||||
{
|
||||
FLOAT width = 0.0f;
|
||||
float width = 0.0f;
|
||||
for (; start < end; start++)
|
||||
width += layout->clustermetrics[start].width;
|
||||
return width;
|
||||
}
|
||||
|
||||
static inline IUnknown *layout_get_effect_from_pos(struct dwrite_textlayout *layout, UINT32 pos)
|
||||
static inline IUnknown *layout_get_effect_from_pos(const struct dwrite_textlayout *layout, UINT32 pos)
|
||||
{
|
||||
struct layout_range_header *h = get_layout_range_header_by_pos(&layout->effects, pos);
|
||||
return ((struct layout_range_iface*)h)->iface;
|
||||
|
@ -1289,19 +1289,19 @@ struct layout_final_splitting_params {
|
|||
IUnknown *effect;
|
||||
};
|
||||
|
||||
static inline BOOL layout_get_strikethrough_from_pos(struct dwrite_textlayout *layout, UINT32 pos)
|
||||
static inline BOOL layout_get_strikethrough_from_pos(const struct dwrite_textlayout *layout, UINT32 pos)
|
||||
{
|
||||
struct layout_range_header *h = get_layout_range_header_by_pos(&layout->strike_ranges, pos);
|
||||
return ((struct layout_range_bool*)h)->value;
|
||||
}
|
||||
|
||||
static inline BOOL layout_get_underline_from_pos(struct dwrite_textlayout *layout, UINT32 pos)
|
||||
static inline BOOL layout_get_underline_from_pos(const struct dwrite_textlayout *layout, UINT32 pos)
|
||||
{
|
||||
struct layout_range_header *h = get_layout_range_header_by_pos(&layout->underline_ranges, pos);
|
||||
return ((struct layout_range_bool*)h)->value;
|
||||
}
|
||||
|
||||
static void layout_splitting_params_from_pos(struct dwrite_textlayout *layout, UINT32 pos,
|
||||
static void layout_splitting_params_from_pos(const struct dwrite_textlayout *layout, UINT32 pos,
|
||||
struct layout_final_splitting_params *params)
|
||||
{
|
||||
params->strikethrough = layout_get_strikethrough_from_pos(layout, pos);
|
||||
|
@ -1317,7 +1317,7 @@ static BOOL is_same_splitting_params(const struct layout_final_splitting_params
|
|||
left->effect == right->effect;
|
||||
}
|
||||
|
||||
static void layout_get_erun_font_metrics(struct dwrite_textlayout *layout, struct layout_effective_run *erun,
|
||||
static void layout_get_erun_font_metrics(const struct dwrite_textlayout *layout, const struct layout_effective_run *erun,
|
||||
DWRITE_FONT_METRICS *metrics)
|
||||
{
|
||||
memset(metrics, 0, sizeof(*metrics));
|
||||
|
@ -1491,7 +1491,7 @@ static HRESULT layout_set_line_metrics(struct dwrite_textlayout *layout, DWRITE_
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static inline struct layout_effective_run *layout_get_next_erun(struct dwrite_textlayout *layout,
|
||||
static inline struct layout_effective_run *layout_get_next_erun(const struct dwrite_textlayout *layout,
|
||||
const struct layout_effective_run *cur)
|
||||
{
|
||||
struct list *e;
|
||||
|
@ -1505,7 +1505,7 @@ static inline struct layout_effective_run *layout_get_next_erun(struct dwrite_te
|
|||
return LIST_ENTRY(e, struct layout_effective_run, entry);
|
||||
}
|
||||
|
||||
static inline struct layout_effective_run *layout_get_prev_erun(struct dwrite_textlayout *layout,
|
||||
static inline struct layout_effective_run *layout_get_prev_erun(const struct dwrite_textlayout *layout,
|
||||
const struct layout_effective_run *cur)
|
||||
{
|
||||
struct list *e;
|
||||
|
@ -1519,7 +1519,7 @@ static inline struct layout_effective_run *layout_get_prev_erun(struct dwrite_te
|
|||
return LIST_ENTRY(e, struct layout_effective_run, entry);
|
||||
}
|
||||
|
||||
static inline struct layout_effective_inline *layout_get_next_inline_run(struct dwrite_textlayout *layout,
|
||||
static inline struct layout_effective_inline *layout_get_next_inline_run(const struct dwrite_textlayout *layout,
|
||||
const struct layout_effective_inline *cur)
|
||||
{
|
||||
struct list *e;
|
||||
|
@ -1533,8 +1533,8 @@ static inline struct layout_effective_inline *layout_get_next_inline_run(struct
|
|||
return LIST_ENTRY(e, struct layout_effective_inline, entry);
|
||||
}
|
||||
|
||||
static FLOAT layout_get_line_width(struct dwrite_textlayout *layout,
|
||||
struct layout_effective_run *erun, struct layout_effective_inline *inrun, UINT32 line)
|
||||
static float layout_get_line_width(const struct dwrite_textlayout *layout, const struct layout_effective_run *erun,
|
||||
const struct layout_effective_inline *inrun, UINT32 line)
|
||||
{
|
||||
FLOAT width = 0.0f;
|
||||
|
||||
|
@ -1645,7 +1645,7 @@ static void layout_apply_trailing_alignment(struct dwrite_textlayout *layout)
|
|||
layout->metrics.left = is_rtl ? 0.0f : layout->metrics.layoutWidth - layout->metrics.width;
|
||||
}
|
||||
|
||||
static inline FLOAT layout_get_centered_shift(struct dwrite_textlayout *layout, BOOL skiptransform,
|
||||
static inline float layout_get_centered_shift(const struct dwrite_textlayout *layout, BOOL skiptransform,
|
||||
FLOAT width, FLOAT det)
|
||||
{
|
||||
if (is_layout_gdi_compatible(layout)) {
|
||||
|
@ -1765,15 +1765,15 @@ struct layout_underline_splitting_params {
|
|||
IUnknown *effect; /* does not hold another reference */
|
||||
};
|
||||
|
||||
static void init_u_splitting_params_from_erun(struct layout_effective_run *erun,
|
||||
static void init_u_splitting_params_from_erun(const struct layout_effective_run *erun,
|
||||
struct layout_underline_splitting_params *params)
|
||||
{
|
||||
params->locale = erun->run->u.regular.descr.localeName;
|
||||
params->effect = erun->effect;
|
||||
}
|
||||
|
||||
static BOOL is_same_u_splitting(struct layout_underline_splitting_params *left,
|
||||
struct layout_underline_splitting_params *right)
|
||||
static BOOL is_same_u_splitting(const struct layout_underline_splitting_params *left,
|
||||
const struct layout_underline_splitting_params *right)
|
||||
{
|
||||
return left->effect == right->effect && !wcsicmp(left->locale, right->locale);
|
||||
}
|
||||
|
@ -2815,7 +2815,7 @@ done:
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static inline const WCHAR *get_string_attribute_ptr(struct layout_range *range, enum layout_range_attr_kind kind)
|
||||
static inline const WCHAR *get_string_attribute_ptr(const struct layout_range *range, enum layout_range_attr_kind kind)
|
||||
{
|
||||
const WCHAR *str;
|
||||
|
||||
|
@ -2833,8 +2833,8 @@ static inline const WCHAR *get_string_attribute_ptr(struct layout_range *range,
|
|||
return str;
|
||||
}
|
||||
|
||||
static HRESULT get_string_attribute_length(struct dwrite_textlayout *layout, enum layout_range_attr_kind kind, UINT32 position,
|
||||
UINT32 *length, DWRITE_TEXT_RANGE *r)
|
||||
static HRESULT get_string_attribute_length(const struct dwrite_textlayout *layout, enum layout_range_attr_kind kind,
|
||||
UINT32 position, UINT32 *length, DWRITE_TEXT_RANGE *r)
|
||||
{
|
||||
struct layout_range *range;
|
||||
const WCHAR *str;
|
||||
|
@ -2850,8 +2850,8 @@ static HRESULT get_string_attribute_length(struct dwrite_textlayout *layout, enu
|
|||
return return_range(&range->h, r);
|
||||
}
|
||||
|
||||
static HRESULT get_string_attribute_value(struct dwrite_textlayout *layout, enum layout_range_attr_kind kind, UINT32 position,
|
||||
WCHAR *ret, UINT32 length, DWRITE_TEXT_RANGE *r)
|
||||
static HRESULT get_string_attribute_value(const struct dwrite_textlayout *layout, enum layout_range_attr_kind kind,
|
||||
UINT32 position, WCHAR *ret, UINT32 length, DWRITE_TEXT_RANGE *r)
|
||||
{
|
||||
struct layout_range *range;
|
||||
const WCHAR *str;
|
||||
|
@ -3795,8 +3795,7 @@ static void layout_get_erun_bbox(struct dwrite_textlayout *layout, struct layout
|
|||
d2d_rect_offset(bbox, run->origin.x + run->align_dx, run->origin.y);
|
||||
}
|
||||
|
||||
static void layout_get_inlineobj_bbox(struct dwrite_textlayout *layout, struct layout_effective_inline *run,
|
||||
D2D1_RECT_F *bbox)
|
||||
static void layout_get_inlineobj_bbox(const struct layout_effective_inline *run, D2D1_RECT_F *bbox)
|
||||
{
|
||||
DWRITE_OVERHANG_METRICS overhang_metrics = { 0 };
|
||||
DWRITE_INLINE_OBJECT_METRICS metrics = { 0 };
|
||||
|
@ -3856,7 +3855,7 @@ static HRESULT WINAPI dwritetextlayout_GetOverhangMetrics(IDWriteTextLayout4 *if
|
|||
{
|
||||
D2D1_RECT_F object_bbox;
|
||||
|
||||
layout_get_inlineobj_bbox(layout, inline_run, &object_bbox);
|
||||
layout_get_inlineobj_bbox(inline_run, &object_bbox);
|
||||
d2d_rect_union(&bbox, &object_bbox);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue