Henri Verbeet
00fafb27e3
d2d1: Implement bezier/bezier intersections.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:06:59 +09:00
Henri Verbeet
a4f23ea148
d2d1: Implement bezier/line intersections.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:06:57 +09:00
Henri Verbeet
a5f02132d3
d2d1: Introduce a separate function for calculating line/line intersections.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:06:55 +09:00
Henri Verbeet
01d4767aed
d2d1/tests: Add a test for bezier intersections.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:06:53 +09:00
Henri Verbeet
0ede13e1df
d2d1: Return S_OK on success in d2d_geometry_resolve_beziers().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:06:50 +09:00
Nikolay Sivov
b9a03b70af
d2d1: Fix trace message typo.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:13:56 +09:00
Nikolay Sivov
977f8cc64d
d2d1: Force appropriate antialiasing mode when drawing text elements using 2D primitives.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Nikolay Sivov
c2257c072b
d2d1: Enforce text antialias mode vs text rendering mode consistency.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Nikolay Sivov
1ec12ec7c5
d2d1: Pass current text antialias mode down to IDWriteGlyphRunAnalysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Nikolay Sivov
d6e2a6f370
d2d1/tests: Fix stroke style object leak (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-11 18:23:42 +02:00
Nikolay Sivov
9fe40c24f8
d2d1: Added a helper to trace D2D1_RECT_F arguments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-11 18:23:39 +02:00
Michael Stefaniuc
6f22d67077
d2d1: Make use of the available ARRAY_SIZE macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 20:51:10 +02:00
Alistair Leslie-Hughes
4fc2dbb14a
d2d1/tests: Use standard wine_dbgstr_longlong.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 13:57:15 +02:00
Henri Verbeet
4dcdc80ad5
d2d1: Fix the segment count for open figures.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-07 22:55:05 +02:00
Henri Verbeet
09ff685aa0
d2d1: Implement d2d_path_geometry_Simplify().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-07 22:55:02 +02:00
Henri Verbeet
208eb09e3c
d2d1: Implement d2d_transformed_geometry_Simplify().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-07 22:54:59 +02:00
Henri Verbeet
e5733e7cd4
d2d1: Implement d2d_rectangle_geometry_Simplify().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-02 18:41:20 +02:00
Henri Verbeet
828e62c8e2
d2d1: Implement d2d_transformed_geometry_GetBounds().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-02 18:41:19 +02:00
Henri Verbeet
2485305b55
d2d1: Implement d2d_rectangle_geometry_GetBounds().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-02 18:41:17 +02:00
Henri Verbeet
bc47dc3f41
d2d1: Implement d2d_layer_GetSize().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-02 18:41:15 +02:00
Henri Verbeet
6d638b9e28
d2d1: Implement d2d_d3d_render_target_CreateLayer().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-02 18:41:13 +02:00
Henri Verbeet
ee4280ef6c
d2d1: Take the render target transform into account when evaluating flatness in vs_code_bezier_outline[].
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 20:51:45 +02:00
Henri Verbeet
bd2141e521
d2d1: Implement initial support for quadratic bezier outlines.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Nikolay Sivov
b7125b6790
d2d1: Use render target transform in bitmap text rendering mode.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 14:54:50 +02:00
Nikolay Sivov
bfb953894e
d2d1: Support strikethrough in DrawText()/DrawTextLayout().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:56:41 +01:00
Nikolay Sivov
d51c60e11d
d2d1: Use DrawLine() to draw underlines.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-24 13:54:17 +01:00
Henri Verbeet
0be8d44665
d2d1: Create open, hollow geometry in d2d_d3d_render_target_DrawLine().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 08:55:55 +01:00
Henri Verbeet
d7fb78184f
d2d1/tests: Add tests for drawing simple shapes.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 08:55:52 +01:00
Nikolay Sivov
93959d21e9
d2d1/tests: Test to show that WIC bitmap is locked within BeginDraw()/EndDraw().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:54:05 +01:00
Nikolay Sivov
74ed5c7067
d2d1: Added support for ID2D1GdiInteropRenderTarget interface.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-14 22:47:00 +01:00
Nikolay Sivov
1226765403
d2d1: Create gdi-compatible texture for WIC target when asked for it.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 18:50:11 +01:00
Henri Verbeet
a525b69781
d2d1: Properly invert join directions when needed.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 18:50:10 +01:00
Nikolay Sivov
71cb1be214
d2d1: Always create HWND target as gdi-compatible.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:27 +01:00
Henri Verbeet
d10dfd4102
d2d1: Take the source transformation into account when creating a transformed geometry.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Henri Verbeet
7ed032a014
d2d1: Implement rectangle geometry outlines.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Henri Verbeet
39406039c0
d2d1: Implement initial support for line joins.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Henri Verbeet
f3563f4e62
d2d1: Add an initial d2d_d3d_render_target_DrawGeometry() implementation.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Henri Verbeet
ac3824fe63
d2d1: Avoid degenerate line segments.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Nikolay Sivov
621675e8f8
d2d1: Check for NULL pointer when releasing previous render target view.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 15:54:13 +01:00
Nikolay Sivov
6ab887c057
d2d1: Fix ID2D1HwndRenderTarget::Resize() prototype.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 15:54:11 +01:00
Henri Verbeet
df63a7f890
d2d1: Update "p0" after inserting a vertex in d2d_geometry_resolve_beziers().
...
This fixes a failure in the d2d1 tests when run with warn+heap.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-04 11:11:27 +01:00
Józef Kucia
89ffad1f20
d2d1/tests: Change scale factors in test_bitmap_brush().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-19 11:06:08 +01:00
Henri Verbeet
74735f327c
d2d1: Use d2d_point_set() in d2d_rectangle_geometry_init().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-08 16:07:05 +01:00
Henri Verbeet
91baf67e4a
d2d1: Store separate bezier vertices.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-08 16:07:03 +01:00
Henri Verbeet
ad40557103
d2d1: Introduce a separate structure for fill specific geometry fields.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-08 16:07:01 +01:00
Henri Verbeet
e9fc8c7c52
d2d1: Properly test which side of a bezier curve is the inside.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:04 +01:00
Henri Verbeet
3d51a7164b
d2d1/tests: Introduce a helper function to add quadratic bezier curves to a geometry sink.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:04 +01:00
Henri Verbeet
a8dc7cc1d6
d2d1/tests: Introduce a helper function to add lines to a geometry sink.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:04 +01:00
Henri Verbeet
70e68e1234
d2d1/tests: Make the window client rect match the DXGI swapchain dimensions.
...
Similar to e.g. commit 65f20ffc50
. There's
no compelling reason for the tests themselves, but it does simplify
debugging them a little.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:04 +01:00
Henri Verbeet
e37ba63d2f
d2d1: Properly set an error state when adding the vertex fails in d2d_geometry_sink_BeginFigure().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:04 +01:00
Nikolay Sivov
463d1877ae
d2d1: Fix GetGradientStops() when asked for more stops than collection has.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-25 19:48:52 +01:00
Nikolay Sivov
caac983742
d2d1: Implement retrieving dash pattern data for stroke styles.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-24 14:31:15 +01:00
Nikolay Sivov
786633e311
d2d1: Store stroke style properties, implement methods returning them.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-22 16:30:59 +01:00
Nikolay Sivov
7159479e11
d2d1: Implement DrawLine() over DrawGeometry() for a linear path.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-22 16:30:52 +01:00
Nikolay Sivov
adfdfe79b2
d2d1/tests: Some tests for GetRect() and GetRoundedRect().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-09 16:32:48 +01:00
Nikolay Sivov
cec2be48c6
d2d1: Added support for D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-08 16:58:14 +01:00
Nikolay Sivov
78b6402a08
d2d1: Fix CreateGeometryGroup() prototype.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-07 16:59:46 +01:00
Nikolay Sivov
97e52ab673
d2d1: Implement FillContainsPoint() for rectangle geometry.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-03 17:13:40 +01:00
Nikolay Sivov
aa55206626
d2d1: Fix a typo in traced error message parameter.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-01 14:38:26 +01:00
Nikolay Sivov
306d062f46
d2d1: For transformed geometry forward StrokeContainsPoint() to its source geometry.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-01 14:38:24 +01:00
Nikolay Sivov
c8eb7453a8
d2d1/tests: Test creating bitmap target from uninitialized dc target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-31 15:40:51 +01:00
Nikolay Sivov
7bce356ef4
d2d1/tests: DrawTextLayout() ignores effects that are not brushes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-31 15:40:49 +01:00
Nikolay Sivov
5f4bba4303
d2d1: Store gradient stop collection pointer for linear gradient brush.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-28 17:10:05 +02:00
Nikolay Sivov
0f44063006
d2d1: Support setting and getting back start and end point for linear gradient brush.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-28 17:10:02 +02:00
Andrew Eikum
aea8f9d610
d2d1/tests: Add FillContainsPoint() tests.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-26 15:36:00 +02:00
Andrew Eikum
2e08bc0ffc
d2d1: Implement d2d_path_geometry_FillContainsPoint().
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-26 15:35:58 +02:00
Andrew Eikum
930dd951b3
d2d1: Implement d2d_transformed_geometry_FillContainsPoint().
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-26 15:35:55 +02:00
Nikolay Sivov
e9da184bbd
d2d1: Initial implementation of bitmap render target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 06:17:39 -07:00
Nikolay Sivov
4121b223c8
d2d1: Implement GetDesktopDpi().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-12 16:57:47 +02:00
Nikolay Sivov
1f50b75b78
d2d1: Make some of drawing calls a wrappers over DrawGeometry().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-11 16:51:35 +02:00
Nikolay Sivov
31b162b37d
d2d1: Support shared bitmaps created from dxgi surface.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-11 16:51:35 +02:00
Nikolay Sivov
7d5bd929e2
d2d1/tests: Initial tests for bitmap render target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-07 13:11:34 +02:00
Nikolay Sivov
f4cacf774b
d2d1: Initial implementation of HWND render target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-04 13:55:27 +02:00
Nikolay Sivov
03d301cc74
d2d1: Initial implementation of DC render target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:24:31 +09:00
Nikolay Sivov
ccc6a576d6
d2d1/tests: Test that target properties are kept during BindDC().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 19:51:28 +09:00
Nikolay Sivov
35bab5ce64
d2d1/tests: A DC target test for switching from one HDC to another.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 11:28:39 +09:00
Nikolay Sivov
3d222560b2
d2d1: Move mesh creation to mesh.c.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 12:48:56 +09:00
Nikolay Sivov
27d5d4caf2
d2d1: Move brush creation helpers to common location.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 12:48:54 +09:00
Nikolay Sivov
c1ea9df0a0
d2d1: Move bitmap creation helpers to common location.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 21:35:47 +09:00
Nikolay Sivov
ea7df31319
d2d1/tests: Basic test for ID2D1DCRenderTarget creation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:45 +09:00
Nikolay Sivov
9cc6a6e5d6
d2d1: Don't use render target pointer directly in bitmap initialization helpers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 19:32:15 +09:00
Nikolay Sivov
ec1957c359
d2d1: Use drawing effect for underlines.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 00:42:24 +09:00
Nikolay Sivov
90155cb1e1
d2d1: Use drawing effect at DrawGlyphRun().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 23:34:07 +09:00
Nikolay Sivov
4366407245
d2d1: Support underlined text in DrawTextLayout().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 23:56:08 +09:00
Nikolay Sivov
a612af7772
d2d1/tests: A test for DrawTextLayout() with drawing effect.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 22:50:26 +09:00
Nikolay Sivov
e2f9bc0d0b
d2d1: SetDpi() rejects negative values too.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:17 +09:00
Nikolay Sivov
d309b843fb
d2d1: Block target creation on invalid dpi values.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:17 +09:00
Nikolay Sivov
7dd7500327
d2d1: Support different measuring modes in DrawText().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:17 +09:00
Nikolay Sivov
c05dd9e11f
d2d1: Don't update target dpi if only one SetDpi() argument is zero.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 21:18:56 +09:00
Francois Gouget
d08a1da22a
d2d1: Remove WINAPI on static functions where not needed.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:23 +09:00
Nikolay Sivov
a5612e0275
d2d1: Fix a copy-paste issue in EndDraw() (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:22 +09:00
Nikolay Sivov
39f2ed321d
d2d1: Properly free brush data buffer is created from.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 23:56:40 +09:00
Henri Verbeet
3fb1fb9616
d2d1: Calculate intersections in a more robust way in d2d_geometry_intersect_self().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 12:59:39 +09:00
Henri Verbeet
55d403deb9
d2d1: Take the recommended rendering mode into account in d2d_d3d_render_target_DrawGlyphRun().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 12:59:36 +09:00
Henri Verbeet
b5685efc80
d2d1: Add a pixel shader for triangle/solid/bitmap draws.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 12:59:32 +09:00
Henri Verbeet
ff6225c16d
d2d1/tests: Add some tests for opacity brushes.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 00:24:35 +09:00
Henri Verbeet
f1f2d0f5cc
d2d1: Add a pixel shader for triangle/bitmap/solid draws.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 00:24:33 +09:00
Henri Verbeet
8446e4530a
d2d1: Add a pixel shader for triangle/bitmap/bitmap draws.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 00:24:31 +09:00
Henri Verbeet
e6aa9f5041
d2d1: Add support for opacity brushes.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 00:24:22 +09:00
Henri Verbeet
17daa1398e
d2d1: Validate brush types in d2d_d3d_render_target_FillGeometry().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 00:24:19 +09:00
Alexandre Julliard
f13245295d
d2d1: Avoid an unsupported makefile variable assignment.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 16:44:50 +09:00
Henri Verbeet
a84658f928
d2d1: Properly handle collinear edges in d2d_cdt_insert_segment().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 20:57:16 +09:00
Henri Verbeet
c125612cbb
d2d1: Properly handle collinear edges in d2d_cdt_cut_edges().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 20:57:03 +09:00
Henri Verbeet
c575f04b68
d2d1: Properly check if a face is real in d2d_path_geometry_add_face().
...
In particular, the existing test may fail if the convex hull has only three
vertices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 12:58:23 +09:00
Henri Verbeet
76aa675da3
d2d1: Only search for the initial edge for each figure in d2d_cdt_insert_segments().
...
For each subsequent segment we can just re-use the edge we just inserted.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 12:53:23 +09:00
Henri Verbeet
e6da1a780e
d2d1: Only test figures that overlap the probe in d2d_path_geometry_point_inside().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 12:53:18 +09:00
Henri Verbeet
c98d34d745
d2d1: Only test overlapping figures in d2d_geometry_intersect_self().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 12:53:10 +09:00
Henri Verbeet
7e6b52e88b
d2d1: Implement d2d_cdt_incircle() in a more robust way.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 13:03:22 +09:00
Henri Verbeet
e8b4d8e0d0
d2d1: Implement d2d_point_ccw() in a more robust way.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 13:01:07 +09:00
Henri Verbeet
f35bfff4fc
d2d1: Properly handle the candidate being the last vertex before the base edge origin in d2d_cdt_fixup().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 13:00:53 +09:00
Piotr Caban
f5b64c0d35
d2d1: Avoid possible infinite loop in d2d_geometry_intersect_self caused by rounding errors.
2015-08-27 21:43:47 +09:00
Henri Verbeet
bdaa571c5d
d2d1: Avoid leaking "object" on an error path in d2d_factory_CreateWicBitmapRenderTarget() (Coverity).
2015-08-25 21:13:38 +09:00
Henri Verbeet
acbb0bdfac
d2d1: Implement d2d_factory_CreateTransformedGeometry().
2015-08-20 20:26:41 +09:00
Henri Verbeet
69906b59d8
d2d1: Properly cleanup in d2d_rectangle_geometry_init() failure paths.
...
This avoids leaking the factory reference in particular.
2015-08-20 20:26:36 +09:00
Henri Verbeet
57eec429c6
d2d1: Implement d2d_text_renderer_DrawInlineObject().
2015-08-18 18:28:51 +09:00
Henri Verbeet
2474f5e33a
d2d1: Implement d2d_bitmap_CopyFromMemory().
2015-08-18 18:28:49 +09:00
Henri Verbeet
1bea5f44b0
d2d1: Make d2d_geometry_sink_vtbl static const.
...
Spotted by Francois Gouget.
2015-08-17 22:50:46 +09:00
Henri Verbeet
4460006fbd
d2d1: Only draw if the geometry has any faces in d2d_d3d_render_target_FillGeometry().
2015-08-17 22:50:44 +09:00
Henri Verbeet
20ad2e397f
d2d1: Print a WARN instead of a FIXME for the glyph run description in d2d_text_renderer_DrawGlyphRun().
...
The glyph run description seems to be mostly informational, there doesn't
appear to be a lot we could do with it.
2015-08-17 22:50:41 +09:00
Henri Verbeet
d29af2e460
d2d1: Only print a FIXME/WARN for specific properties in d2d_factory_init().
2015-08-17 22:50:39 +09:00
Henri Verbeet
3e0af5f1e0
d2d1: Only print a FIXME/WARN for specific properties in d2d_d3d_render_target_init().
2015-08-17 22:50:37 +09:00
Henri Verbeet
d41f568226
d2d1: Get rid of a FIXME in d2d_wic_render_target_init().
2015-08-13 15:04:10 +09:00
Henri Verbeet
64ccd138a2
d2d1: d2d_bitmap_brush_init() can't fail.
2015-08-13 15:04:08 +09:00
Henri Verbeet
7bdc1ef899
d2d1: Get rid of a FIXME in d2d_bitmap_brush_init().
2015-08-13 15:04:06 +09:00
Henri Verbeet
7d801d67ed
d2d1: Get rid of a FIXME in d2d_solid_color_brush_init().
...
All properties for solid color brushes are implemented.
2015-08-13 15:04:04 +09:00
Francois Gouget
f8a7d6ed74
Assorted spelling fixes.
2015-08-07 23:50:48 +09:00
Henri Verbeet
cd59e3db6c
d2d1: Implement d2d_d3d_render_target_CreateSharedBitmap().
2015-08-04 09:45:59 +02:00
Henri Verbeet
f0bf9e81fa
d2d1: Use the same device for all WIC render targets from the same factory.
2015-08-04 09:45:50 +02:00
Henri Verbeet
da47b214cd
d2d1: Implement d2d_bitmap_GetFactory().
2015-08-04 09:45:48 +02:00
Henri Verbeet
91b9ce69b7
d2d1: Implement d2d_gradient_GetFactory().
2015-08-03 10:56:53 +02:00
Henri Verbeet
4e50527c17
d2d1: Implement d2d_solid_color_brush_GetFactory().
2015-08-03 10:56:51 +02:00
Henri Verbeet
8b893839bc
d2d1: Implement d2d_linear_gradient_brush_GetFactory().
2015-08-03 10:56:47 +02:00
Henri Verbeet
414d04e27d
d2d1: Implement d2d_bitmap_brush_GetFactory().
2015-08-03 10:56:44 +02:00
Henri Verbeet
47f9f09c73
d2d1: Implement d2d_rectangle_geometry_GetFactory().
2015-08-03 10:56:22 +02:00
Henri Verbeet
14c0009add
d2d1: Implement d2d_path_geometry_GetFactory().
2015-07-31 12:08:59 +02:00
Henri Verbeet
9745efaf6d
d2d1: Implement d2d_mesh_GetFactory().
2015-07-31 12:08:57 +02:00
Henri Verbeet
c1fc008493
d2d1: Implement d2d_state_block_GetFactory().
2015-07-31 12:08:55 +02:00
Henri Verbeet
68ce000df7
d2d1: Implement d2d_stroke_style_GetFactory().
2015-07-30 11:39:57 +02:00
Henri Verbeet
e5c793e637
d2d1: Don't pass NULL resource data to ID3D10Device_CreateTexture2D().
2015-07-30 11:39:55 +02:00
Henri Verbeet
4371946d94
d2d1: Fix the TRACE in d2d_bitmap_Release().
2015-07-30 11:39:53 +02:00
Henri Verbeet
c2135dd498
d2d1: Properly handle D2D1_ALPHA_MODE_PREMULTIPLIED on render targets.
2015-07-30 11:39:51 +02:00
Henri Verbeet
52c412492f
d2d1: Bitmap values are always premultiplied in practice.
...
Since creating bitmaps with D2D1_ALPHA_MODE_UNKNOWN or
D2D1_ALPHA_MODE_STRAIGHT is not possible, and D2D1_ALPHA_MODE_IGNORE
behaves as if alpha == 1.0f.
2015-07-30 11:39:46 +02:00
Henri Verbeet
230785dc32
d2d1: Force alpha to 1.0f for clears.
2015-07-29 21:44:02 +02:00
Henri Verbeet
c4503779bb
d2d1: Take the bitmap's alpha mode into account in bitmap brushes.
2015-07-29 21:44:02 +02:00
Henri Verbeet
d742887b7f
d2d1: Implement d2d_bitmap_brush_SetBitmap().
2015-07-29 21:44:02 +02:00
Henri Verbeet
a2f41ed5b6
d2d1: Implement d2d_bitmap_GetPixelFormat().
2015-07-29 21:44:01 +02:00
Henri Verbeet
1b3574ebc0
d2d1: Validate bitmap formats.
2015-07-29 21:44:01 +02:00
Henri Verbeet
ccc347038b
d2d1: Also infer the alpha mode in d2d_d3d_render_target_CreateBitmapFromWicBitmap().
2015-07-28 09:49:04 +02:00
Henri Verbeet
a4bcae0bf7
d2d1: Implement d2d_d3d_render_target_GetPixelFormat().
2015-07-21 16:33:23 +02:00
Henri Verbeet
3b400cad34
d2d1: Fix the bitmap DPI scale for bitmap brushes.
2015-07-21 16:33:23 +02:00