Nikolay Sivov : dwrite: Use layout pointer as an argument instead of neutral list.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Aug 19 16:00:07 CDT 2014
Module: wine
Branch: master
Commit: 7596dc633106bd664f0bd1f0b4dee139383fc037
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7596dc633106bd664f0bd1f0b4dee139383fc037
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Aug 19 06:22:56 2014 +0400
dwrite: Use layout pointer as an argument instead of neutral list.
---
dlls/dwrite/layout.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 7a4ac18..2ef7c9f 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -239,20 +239,20 @@ static void free_layout_range(struct layout_range *range)
heap_free(range);
}
-static void free_layout_ranges_list(struct list *ranges)
+static void free_layout_ranges_list(struct dwrite_textlayout *layout)
{
struct layout_range *cur, *cur2;
- LIST_FOR_EACH_ENTRY_SAFE(cur, cur2, ranges, struct layout_range, entry) {
+ LIST_FOR_EACH_ENTRY_SAFE(cur, cur2, &layout->ranges, struct layout_range, entry) {
list_remove(&cur->entry);
free_layout_range(cur);
}
}
-static struct layout_range *find_outer_range(struct list *ranges, const DWRITE_TEXT_RANGE *range)
+static struct layout_range *find_outer_range(struct dwrite_textlayout *layout, const DWRITE_TEXT_RANGE *range)
{
struct layout_range *cur;
- LIST_FOR_EACH_ENTRY(cur, ranges, struct layout_range, entry) {
+ LIST_FOR_EACH_ENTRY(cur, &layout->ranges, struct layout_range, entry) {
if (cur->range.startPosition > range->startPosition)
return NULL;
@@ -267,11 +267,11 @@ static struct layout_range *find_outer_range(struct list *ranges, const DWRITE_T
return NULL;
}
-static struct layout_range *get_layout_range_by_pos(struct list *ranges, UINT32 pos)
+static struct layout_range *get_layout_range_by_pos(struct dwrite_textlayout *layout, UINT32 pos)
{
struct layout_range *cur;
- LIST_FOR_EACH_ENTRY(cur, ranges, struct layout_range, entry) {
+ LIST_FOR_EACH_ENTRY(cur, &layout->ranges, struct layout_range, entry) {
DWRITE_TEXT_RANGE *r = &cur->range;
if (r->startPosition <= pos && pos < r->startPosition + r->length)
return cur;
@@ -339,7 +339,7 @@ static HRESULT set_layout_range_attr(struct dwrite_textlayout *layout, enum layo
DWRITE_TEXT_RANGE r;
/* If new range is completely within existing range, split existing range in two */
- if ((outer = find_outer_range(ranges, &value->range))) {
+ if ((outer = find_outer_range(layout, &value->range))) {
/* no need to add same range */
if (is_same_layout_attrvalue(outer, attr, value))
@@ -401,7 +401,7 @@ static HRESULT set_layout_range_attr(struct dwrite_textlayout *layout, enum layo
/* Now it's only possible that given range contains some existing ranges, fully or partially.
Update all of them. */
- left = get_layout_range_by_pos(ranges, value->range.startPosition);
+ left = get_layout_range_by_pos(layout, value->range.startPosition);
if (left->range.startPosition == value->range.startPosition)
changed = set_layout_range_attrval(left, attr, value);
else /* need to split */ {
@@ -490,7 +490,7 @@ static ULONG WINAPI dwritetextlayout_Release(IDWriteTextLayout *iface)
TRACE("(%p)->(%d)\n", This, ref);
if (!ref) {
- free_layout_ranges_list(&This->ranges);
+ free_layout_ranges_list(This);
release_format_data(&This->format);
heap_free(This->str);
heap_free(This);
@@ -900,7 +900,7 @@ static HRESULT WINAPI dwritetextlayout_layout_GetFontWeight(IDWriteTextLayout *i
if (position >= This->len)
return S_OK;
- range = get_layout_range_by_pos(&This->ranges, position);
+ range = get_layout_range_by_pos(This, position);
*weight = range->weight;
if (r) *r = range->range;
@@ -918,7 +918,7 @@ static HRESULT WINAPI dwritetextlayout_layout_GetFontStyle(IDWriteTextLayout *if
if (position >= This->len)
return S_OK;
- range = get_layout_range_by_pos(&This->ranges, position);
+ range = get_layout_range_by_pos(This, position);
*style = range->style;
if (r) *r = range->range;
@@ -952,7 +952,7 @@ static HRESULT WINAPI dwritetextlayout_GetUnderline(IDWriteTextLayout *iface,
if (position >= This->len)
return S_OK;
- range = get_layout_range_by_pos(&This->ranges, position);
+ range = get_layout_range_by_pos(This, position);
*underline = range->underline;
if (r) *r = range->range;
@@ -970,7 +970,7 @@ static HRESULT WINAPI dwritetextlayout_GetStrikethrough(IDWriteTextLayout *iface
if (position >= This->len)
return S_OK;
- range = get_layout_range_by_pos(&This->ranges, position);
+ range = get_layout_range_by_pos(This, position);
*strikethrough = range->strikethrough;
if (r) *r = range->range;
@@ -988,7 +988,7 @@ static HRESULT WINAPI dwritetextlayout_GetDrawingEffect(IDWriteTextLayout *iface
if (position >= This->len)
return S_OK;
- range = get_layout_range_by_pos(&This->ranges, position);
+ range = get_layout_range_by_pos(This, position);
*effect = range->effect;
if (*effect)
IUnknown_AddRef(*effect);
@@ -1005,7 +1005,7 @@ static HRESULT WINAPI dwritetextlayout_GetInlineObject(IDWriteTextLayout *iface,
TRACE("(%p)->(%u %p %p)\n", This, position, object, r);
- range = get_layout_range_by_pos(&This->ranges, position);
+ range = get_layout_range_by_pos(This, position);
*object = range ? range->object : NULL;
if (*object)
IDWriteInlineObject_AddRef(*object);
More information about the wine-cvs
mailing list