Nikolay Sivov : dwrite: Remove separate line count layout field.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jul 6 06:37:36 CDT 2015
Module: wine
Branch: master
Commit: 7a64715be3720bc1663c21e33d7f60b49d027239
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7a64715be3720bc1663c21e33d7f60b49d027239
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon Jul 6 09:04:43 2015 +0300
dwrite: Remove separate line count layout field.
---
dlls/dwrite/layout.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 980eff5..693f046 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -243,7 +243,6 @@ struct dwrite_textlayout {
FLOAT minwidth;
DWRITE_LINE_METRICS *lines;
- UINT32 line_count;
UINT32 line_alloc;
DWRITE_TEXT_METRICS1 metrics;
@@ -1028,7 +1027,7 @@ static HRESULT layout_set_line_metrics(struct dwrite_textlayout *layout, DWRITE_
return E_OUTOFMEMORY;
}
- if (layout->line_count == layout->line_alloc) {
+ if (layout->metrics.lineCount == layout->line_alloc) {
DWRITE_LINE_METRICS *l = heap_realloc(layout->lines, layout->line_alloc*2*sizeof(*layout->lines));
if (!l)
return E_OUTOFMEMORY;
@@ -1037,7 +1036,7 @@ static HRESULT layout_set_line_metrics(struct dwrite_textlayout *layout, DWRITE_
}
layout->lines[*line] = *metrics;
- layout->line_count += 1;
+ layout->metrics.lineCount += 1;
*line += 1;
return S_OK;
}
@@ -1094,7 +1093,7 @@ static HRESULT layout_compute_effective_runs(struct dwrite_textlayout *layout)
if (FAILED(hr))
return hr;
- layout->line_count = 0;
+ layout->metrics.lineCount = 0;
origin_x = 0.0;
line = 0;
run = layout->clusters[0].run;
@@ -1214,7 +1213,6 @@ static HRESULT layout_compute_effective_runs(struct dwrite_textlayout *layout)
layout->metrics.left = layout->metrics.top = 0.0;
layout->metrics.maxBidiReorderingDepth = 1; /* FIXME */
- layout->metrics.lineCount = layout->line_count;
layout->metrics.height = 0.0;
/* Now all line info is here, update effective runs positions in flow direction */
@@ -1222,7 +1220,7 @@ static HRESULT layout_compute_effective_runs(struct dwrite_textlayout *layout)
inrun = layout_get_next_inline_run(layout, NULL);
origin_y = 0.0;
- for (line = 0; line < layout->line_count; line++) {
+ for (line = 0; line < layout->metrics.lineCount; line++) {
origin_y += layout->lines[line].baseline;
@@ -2599,10 +2597,10 @@ static HRESULT WINAPI dwritetextlayout_GetLineMetrics(IDWriteTextLayout2 *iface,
return hr;
if (metrics)
- memcpy(metrics, This->lines, sizeof(DWRITE_LINE_METRICS)*min(max_count, This->line_count));
+ memcpy(metrics, This->lines, sizeof(*metrics)*min(max_count, This->metrics.lineCount));
- *count = This->line_count;
- return max_count >= This->line_count ? S_OK : E_NOT_SUFFICIENT_BUFFER;
+ *count = This->metrics.lineCount;
+ return max_count >= This->metrics.lineCount ? S_OK : E_NOT_SUFFICIENT_BUFFER;
}
static HRESULT WINAPI dwritetextlayout_GetMetrics(IDWriteTextLayout2 *iface, DWRITE_TEXT_METRICS *metrics)
@@ -3556,7 +3554,6 @@ static HRESULT init_textlayout(const WCHAR *str, UINT32 len, IDWriteTextFormat *
layout->clustermetrics = NULL;
layout->clusters = NULL;
layout->lines = NULL;
- layout->line_count = 0;
layout->line_alloc = 0;
layout->minwidth = 0.0;
list_init(&layout->eruns);
More information about the wine-cvs
mailing list