Nikolay Sivov
|
fc4b4be528
|
dwrite: Invalidate layout on all cases of attribute change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-03 21:56:52 +09:00 |
Nikolay Sivov
|
2b59029aa1
|
dwrite: Add a zero width line after last mandatory breakpoint.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-03 21:56:50 +09:00 |
Nikolay Sivov
|
e7094551fe
|
dwrite: Release drawing effect after trimming sign Draw().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-02 14:39:20 +09:00 |
Nikolay Sivov
|
e94264e6bd
|
dwrite: Improve SetScriptAnalysis()/SetBidiLevel() tracing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-02 14:39:17 +09:00 |
Nikolay Sivov
|
8d9bf23fc1
|
dwrite: Don't use BOOL values to set bit fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-02 14:39:14 +09:00 |
Nikolay Sivov
|
f84eaad8dc
|
dwrite: Fix newlineLength metric to include all newline chars at the end of the line.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-02 14:39:11 +09:00 |
Nikolay Sivov
|
0691af08c6
|
dwrite: Implement GetTextBeforePosition() for layout analysis source.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-01 21:05:24 +09:00 |
Nikolay Sivov
|
da7c3ef578
|
dwrite: Implement GetLocaleName() for layout analysis source.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-01 21:05:18 +09:00 |
Nikolay Sivov
|
978ca1565b
|
dwrite: Use regular refcounting pattern for layout internal sink/source interfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-01 21:05:10 +09:00 |
Nikolay Sivov
|
a43fd70f4a
|
dwrite: Update callback analysis interfaces used by layout internally.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-02-01 21:05:06 +09:00 |
Nikolay Sivov
|
feca77fb0c
|
dwrite: Set isNewline cluster flag.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-29 21:25:17 +09:00 |
Nikolay Sivov
|
7dd4b9b74b
|
dwrite: Don't use BOOL defined values for fields that are not BOOL.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-28 13:44:58 +09:00 |
Nikolay Sivov
|
ef73b788e5
|
dwrite: Inline object origin is at top-left corner, not baseline.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-28 13:44:55 +09:00 |
Nikolay Sivov
|
fbcf15313d
|
dwrite: Return valid metrics for layout created on empty text.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-28 13:44:51 +09:00 |
Nikolay Sivov
|
8485fa64ca
|
dwrite: Fix parameter validation in CreateTextLayout()/CreateGdiCompatibleTextLayout().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-28 13:44:44 +09:00 |
Nikolay Sivov
|
2c6799dfe2
|
dwrite: Line height/baseline includes lineGap as well.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-27 23:52:25 +09:00 |
Nikolay Sivov
|
3254a6b2d6
|
dwrite: Fix invalid cluster metrics array index access.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-27 23:52:17 +09:00 |
Nikolay Sivov
|
f27b99ec2f
|
dwrite: Implement DetermineMinWidth() using line breaking info.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-26 22:40:40 +09:00 |
Nikolay Sivov
|
2975ae9cbf
|
dwrite: Fix setting canWrapLineAfter cluster flag.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-26 22:40:37 +09:00 |
Nikolay Sivov
|
d171185062
|
dwrite: Reuse linebreaking isSoftHyphen flag for cluster metrics.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-26 22:40:34 +09:00 |
Nikolay Sivov
|
00766538c5
|
dwrite: Reuse linebreaking whitespace flag when filling cluster metrics.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-26 22:40:31 +09:00 |
Nikolay Sivov
|
a62a9fcc1f
|
dwrite: Fix underline/strikethrough position adjustment caused by text alignment.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-25 16:11:44 +09:00 |
Nikolay Sivov
|
3fa5ebd014
|
dwrite: Remove useless assignment (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-25 16:11:40 +09:00 |
Nikolay Sivov
|
2626f80b01
|
dwrite: Don't check for line overflow for DWRITE_WORD_WRAPPING_NO_WRAP mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-25 16:11:36 +09:00 |
Nikolay Sivov
|
91df67df0c
|
dwrite: Cluster text position is relative to initial run.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-25 16:11:23 +09:00 |
Nikolay Sivov
|
6024656f98
|
dwrite: Underline reading direction matches run direction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-20 14:48:57 +09:00 |
Nikolay Sivov
|
adfd1ad2ce
|
dwrite: Underline origin is always at the left run boundary.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-20 14:48:53 +09:00 |
Nikolay Sivov
|
d4438dae93
|
dwrite: Fix comment typos.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-18 14:19:09 +09:00 |
Nikolay Sivov
|
0874c7be15
|
dwrite: Store locale name range attribute in lower case.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-15 15:11:10 +09:00 |
Nikolay Sivov
|
c5fce83f3d
|
dwrite: Implement support for underlines.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-15 15:11:04 +09:00 |
Nikolay Sivov
|
943fb2c071
|
dwrite: Scale strikethrough thickness and position with current font size.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-14 16:32:56 +09:00 |
Nikolay Sivov
|
18b0ca3fe3
|
dwrite: Fix strikethrough baseline origin.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-13 16:05:02 +09:00 |
Nikolay Sivov
|
1a8e957b19
|
dwrite: Pass drawing effect to renderer in DrawStrikethrough().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-13 16:04:56 +09:00 |
Nikolay Sivov
|
2b5928b228
|
dwrite: Pass drawing effect to renderer in DrawGlyphRun().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-13 16:04:50 +09:00 |
Nikolay Sivov
|
c0fb6f436b
|
dwrite: Keep underlines in separate list.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-13 16:04:46 +09:00 |
Nikolay Sivov
|
a4562cca50
|
dwrite: Start new effective run on strikethrough, underline or effect change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-13 16:04:39 +09:00 |
Nikolay Sivov
|
0f67df657d
|
dwrite: Fix a leak on error path.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-11 23:05:51 +09:00 |
Nikolay Sivov
|
f6862b13b7
|
dwrite: Make position snapping more compact.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-11 23:05:49 +09:00 |
Nikolay Sivov
|
74f00fa17d
|
dwrite: Consistently use explicit float literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-11 23:05:46 +09:00 |
Nikolay Sivov
|
b1094bc7d7
|
dwrite: Store locale name in lower case for text format.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2016-01-09 17:30:03 +09:00 |
Nikolay Sivov
|
b02e61c4b3
|
dwrite: Fix identical ranges merging.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2015-12-25 14:07:39 +01:00 |
Nikolay Sivov
|
3c16587ed4
|
dwrite: Locale layout ranged attribute is case-insensitive.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2015-12-25 14:07:37 +01:00 |
Nikolay Sivov
|
6ba2c25d45
|
dwrite: Store optical alignment property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2015-12-25 14:07:35 +01:00 |
Nikolay Sivov
|
3905ed8c47
|
dwrite: Store last line wrapping property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2015-12-25 14:07:33 +01:00 |
Nikolay Sivov
|
7a83be7bd2
|
dwrite: Optimize for the most common case of layout object initialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2015-12-25 14:07:30 +01:00 |
Nikolay Sivov
|
e9d4725326
|
dwrite: Store per-range typography property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2015-12-25 14:07:28 +01:00 |
André Hentschel
|
b4b65d8284
|
dwrite: Remove unused initializer (Clang).
|
2015-07-22 07:24:35 +02:00 |
Nikolay Sivov
|
c8b0c80365
|
dwrite: Round centered alignment shift for compatible layouts.
|
2015-07-20 20:56:04 +02:00 |
Nikolay Sivov
|
e68c6389b1
|
dwrite: Properly pass measuring mode to renderer.
|
2015-07-16 19:22:33 +09:00 |
Nikolay Sivov
|
f46aa66ca7
|
dwrite: Fix transform matrix usage for pixel snapping.
|
2015-07-15 16:56:53 +09:00 |
Nikolay Sivov
|
fda08897e4
|
dwrite: Remove excessive tracing when forwarding to IDWriteTextFormat1.
|
2015-07-13 14:45:16 +09:00 |
Nikolay Sivov
|
04ae4bfb2c
|
dwrite: Implement GetMetrics() for trimming sign.
|
2015-07-13 14:45:15 +09:00 |
Nikolay Sivov
|
2f79a876f9
|
dwrite: Implement SetWordWrapping() for layout.
|
2015-07-13 14:45:11 +09:00 |
Nikolay Sivov
|
cf5d9848d8
|
dwrite: Check GetGdiCompatibleMetrics() return value (Coverity).
|
2015-07-13 14:45:08 +09:00 |
Nikolay Sivov
|
66efbbbae2
|
dwrite: Implement pixel snapping in Draw().
|
2015-07-13 14:44:59 +09:00 |
Nikolay Sivov
|
0dcc9ead9e
|
dwrite: Properly set run origin in DWRITE_READING_DIRECTION_RIGHT_TO_LEFT case.
|
2015-07-09 23:17:44 +09:00 |
Nikolay Sivov
|
8201fa14c9
|
dwrite: Fix alignment shifts in RTL case.
|
2015-07-09 23:17:44 +09:00 |
Nikolay Sivov
|
6d52bc59c0
|
dwrite: Implement SetReadingDirection() for layout.
|
2015-07-09 23:17:44 +09:00 |
Nikolay Sivov
|
bb0c6f74a5
|
dwrite: Implement centered text alignment.
|
2015-07-07 16:52:20 +09:00 |
Nikolay Sivov
|
f039e15182
|
dwrite: Remove a couple of useless checks.
|
2015-07-07 16:52:20 +09:00 |
Nikolay Sivov
|
862ac80a0d
|
dwrite: Implement paragraph alignment.
|
2015-07-06 15:13:20 +09:00 |
Nikolay Sivov
|
44c135dd17
|
dwrite: Implement leading and trailing text alignment modes.
|
2015-07-06 15:13:18 +09:00 |
Nikolay Sivov
|
de46f610fe
|
dwrite: Make it possible to set text alignment on created layout.
|
2015-07-06 15:13:16 +09:00 |
Nikolay Sivov
|
7a64715be3
|
dwrite: Remove separate line count layout field.
|
2015-07-06 15:13:14 +09:00 |
Nikolay Sivov
|
8b566b1da7
|
dwrite: Reset calculated text height before updating it.
|
2015-07-03 22:58:07 +09:00 |
Nikolay Sivov
|
ed54767030
|
dwrite: Store layout width/height directly in metrics structure.
|
2015-07-03 22:58:05 +09:00 |
Nikolay Sivov
|
d86f2af3b6
|
dwrite: Add last cluster width to line width.
|
2015-07-02 13:43:00 +09:00 |
Nikolay Sivov
|
a940c9b970
|
dwrite: Initial layout GetMetrics() implementation.
|
2015-07-02 13:42:58 +09:00 |
Nikolay Sivov
|
e27a13e3a2
|
dwrite: Always set canWrapLineAfter for last cluster.
|
2015-06-29 21:13:29 +09:00 |
Nikolay Sivov
|
1002119a60
|
dwrite: Clip range length to text length when updating breakpoints.
|
2015-06-29 21:13:25 +09:00 |
Nikolay Sivov
|
9c54176f5c
|
dwrite: Fix number of clusters effective run is built on.
|
2015-06-29 21:13:21 +09:00 |
Nikolay Sivov
|
3976cc459d
|
dwrite: Update current line count when adding metrics for new line.
|
2015-06-29 21:13:14 +09:00 |
Nikolay Sivov
|
9148e87291
|
dwrite: Fix clustermap shifting for effective run.
|
2015-06-26 20:35:07 +09:00 |
Nikolay Sivov
|
872e569744
|
dwrite: Properly reduce glyph count of effective run.
|
2015-06-26 20:35:07 +09:00 |
Nikolay Sivov
|
643125e50f
|
dwrite: Set baseline origin Y for reported runs.
|
2015-06-23 15:08:09 +09:00 |
Nikolay Sivov
|
8adc6679e9
|
dwrite: Set line baseline/height from font metrics.
|
2015-06-23 15:08:05 +09:00 |
Nikolay Sivov
|
b43850a363
|
dwrite: Store character spacing layout settings.
|
2015-06-22 19:17:35 +09:00 |
Nikolay Sivov
|
b4592cbc7c
|
dwrite: Count last cluster length too when building a line.
|
2015-06-19 17:01:17 +09:00 |
Nikolay Sivov
|
e8c4951a2a
|
dwrite: Actually set isWhitespace for space clusters.
|
2015-06-19 17:01:15 +09:00 |
Nikolay Sivov
|
f68f63152f
|
dwrite: Set cluster length together with other metrics.
|
2015-06-19 17:01:12 +09:00 |
Nikolay Sivov
|
0ec13316a7
|
dwrite: Validate format property values.
|
2015-06-16 16:50:22 +09:00 |
Nikolay Sivov
|
b7fb00e9aa
|
dwrite: Fix the way drawing effects are reported for inline objects.
|
2015-06-15 15:29:04 +09:00 |
Nikolay Sivov
|
6fd4f963f6
|
dwrite: Initial implementation of Draw() for trimming sign.
|
2015-06-15 15:29:03 +09:00 |
Nikolay Sivov
|
6304a0f50a
|
dwrite: Check format directions in CreateEllipsisTrimmingSign().
|
2015-06-15 15:29:03 +09:00 |
Nikolay Sivov
|
de2ae5e1b8
|
dwrite: Fix splitted range length, initial test for GetMetrics().
|
2015-06-15 15:29:03 +09:00 |
Nikolay Sivov
|
1a2d520ee1
|
dwrite: Exit earlier when setting property for zero length range.
|
2015-06-09 22:09:57 +09:00 |
Nikolay Sivov
|
ffeba2348a
|
dwrite: Use [0,~0u) as initial range for strikethrough settings.
|
2015-06-09 22:09:57 +09:00 |
Nikolay Sivov
|
7be1159479
|
dwrite: Validate per-range attribute values.
|
2015-06-08 15:47:41 +09:00 |
Nikolay Sivov
|
496aec11e5
|
dwrite: Use [0,~0u) as initial text range.
|
2015-06-08 15:47:39 +09:00 |
Nikolay Sivov
|
fc3ec14404
|
dwrite/tests: Some tests for setting per-range layout properties.
|
2015-06-05 18:38:43 +09:00 |
Nikolay Sivov
|
b8e3fbe0c1
|
dwrite: Report strikethrough ranges to renderer.
|
2015-06-05 18:38:38 +09:00 |
Nikolay Sivov
|
e31881a6c9
|
dwrite: Store strikethrough settings in a separate list.
|
2015-06-05 18:38:32 +09:00 |
Nikolay Sivov
|
6d87a451a2
|
dwrite: Added a range data header to distinguish range kinds.
|
2015-06-05 18:38:29 +09:00 |
Nikolay Sivov
|
6f99f196fc
|
dwrite: Fix potential null pointer access in GetFontCollection() (Coverity).
|
2015-06-04 15:55:29 +09:00 |
Nikolay Sivov
|
9351596538
|
dwrite: Fix potential null pointer dereference in GetInlineObject() (Coverity).
|
2015-06-02 20:53:43 +09:00 |
Nikolay Sivov
|
c230b32777
|
dwrite: Handle GetBreakConditions() failure.
|
2015-06-01 14:48:33 +09:00 |
Nikolay Sivov
|
10ff42097f
|
dwrite: Handle inline object GetMetrics() failure.
|
2015-06-01 14:48:29 +09:00 |
Nikolay Sivov
|
fe2f6b77a8
|
dwrite: Properly report drawing effect in DrawGlyphRun()/DrawInlineObject().
|
2015-06-01 14:48:25 +09:00 |
Nikolay Sivov
|
89e1a5fb75
|
dwrite: Fix wrong run data reported to a renderer.
|
2015-06-01 14:48:21 +09:00 |
Nikolay Sivov
|
2099b109ea
|
dwrite: Report inline objects in Draw().
|
2015-06-01 14:48:15 +09:00 |