Commit Graph

199 Commits

Author SHA1 Message Date
Nikolay Sivov 32c1ef019a dwrite: Only invalidate lines if line spacing changed.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 19:36:04 +09:00
Nikolay Sivov 9ec714db5d dwrite: Implement newer SetLineSpacing/GetLineSpacing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 19:36:01 +09:00
Nikolay Sivov 4f01bee4c8 dwrite: Filter invalid weight in SetFontWeight().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 11:04:02 +09:00
Nikolay Sivov 0973f4655a dwrite: Implement GetOverhangMetrics() for trimming sign.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 11:03:58 +09:00
Nikolay Sivov e5fb775142 dwrite: Implement SetTrimming() for layout.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 09:52:26 +09:00
Nikolay Sivov fee64bed45 dwrite: Validate CreateTextFormat() arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:31:02 +09:00
Nikolay Sivov 84a36f27b8 dwrite: Use more intuitive naming for layout stages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:30:59 +09:00
Nikolay Sivov b6bb4c1b92 dwrite: Partially implement GetSystemFontCollection().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 11:52:58 +09:00
Nikolay Sivov 90bcff0eae dwrite: Return some of font properties from IDWriteFontFace3 methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00
Marcus Meissner 64ccbcbf2f dwrite: Use correct collection (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:20:02 +09:00
Nikolay Sivov bee56c33c5 dwrite: Don't bother going through fallback for non-visual runs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 12:23:49 +09:00
Nikolay Sivov f1079fe162 dwrite: Fix invalid read when building zero length text layout (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:02:59 +09:00
Nikolay Sivov 5fb8acc536 dwrite: For object creation helpers with many arguments pack them in structures.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 19:43:08 +09:00
Nikolay Sivov d04a54857c dwrite: Update to IDWriteFactory3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 21:51:14 +09:00
Nikolay Sivov c51212e55b dwrite: Update to IDWriteTextFormat1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:39 +09:00
Nikolay Sivov 5753e22d21 dwrite: Implement InvalidateLayout().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:33 +09:00
Nikolay Sivov 9efd13503d dwrite: Update to IDWriteTextLayout3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:28 +09:00
Nikolay Sivov fca83b0915 dwrite: Use itemizer hint to reset invisible run glyph count.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:38 +09:00
Nikolay Sivov 7fc7f2f074 dwrite: Use current layout fallback when creating run font faces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:23 +09:00
Nikolay Sivov 4d512f9e4e dwrite: Keep factory reference for each layout.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:16 +09:00
Nikolay Sivov b2a0fbc158 dwrite: Implement SetLineSpacing() for layout.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:56:57 +09:00
Nikolay Sivov bac7e9c65e dwrite: Implement SetFlowDirection() for layout.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:56:54 +09:00
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