Commit Graph

355 Commits

Author SHA1 Message Date
Lucian Poston 02603467e9 d2d1: Add ID2D1Device stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-21 10:51:17 +02:00
Józef Kucia 372451253c d2d1/tests: Adjust expected value for linear brush test.
Fixes the test on Linux with Nvidia.

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>
2018-05-15 17:29:26 +02:00
Giovanni Mascellani abbffd2ee2 d2d1: Fix outline join drawing.
Calling d2d_outline_vertex_set(x, y, 0, 0, 0, 0) causes a normalize() to
be invoked with a zero vector in the vertex shader
vs_code_bezier_outline. This gives rise to an undefinite result, that in
some cases causes the join triangles to be dropped.

Tested on Debian unstable.

Signed-off-by: Giovanni Mascellani <g.mascellani@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 09:52:36 +02:00
Henri Verbeet fa4d5b6151 d2d1: Replace d2d_calloc() with a global heap_calloc() helper.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:49 +01:00
Henri Verbeet d9f4390488 d2d1: Use d2d_array_reserve() in d2d_clip_stack_push().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:55 +01:00
Henri Verbeet fdaa6d8e2a d2d1: Introduce a helper function to allocate arrays.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:55 +01:00
Henri Verbeet 6d8ebf1d1a d2d1: Use the global memory allocation helpers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:06 +01:00
Henri Verbeet 8247c13aae d2d1: Introduce a registry key to limit the maximum supported factory version.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Lucian Poston 9d9fbc0e4a d2d1: Implement ID2D1Factory1.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Nikolay Sivov 0fa7071608 d2d1/tests: A test to show that DC is validated on 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>
2017-12-15 18:55:41 +01:00
Henri Verbeet 1ddbab3f27 d2d1/tests: Introduce an ARRAY_SIZE macro.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-13 20:15:38 +01:00
Nikolay Sivov 4e610f059d d2d1: Respond to ID2D1Image query.
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-12-01 15:56:54 +01:00
Henri Verbeet 24dc5c7409 d2d1: Implement radial gradient brushes.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:51 +02:00
Henri Verbeet 370cbf488a d2d1: Implement d2d_radial_gradient_brush_SetRadiusY().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:37 +02:00
Henri Verbeet ac4db5ebda d2d1: Implement d2d_radial_gradient_brush_SetRadiusX().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:34 +02:00
Henri Verbeet f92b291f24 d2d1: Implement d2d_radial_gradient_brush_GetRadiusY().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:28 +02:00
Henri Verbeet 8dd021fd72 d2d1: Implement d2d_radial_gradient_brush_GetRadiusX().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:21 +02:00
Henri Verbeet 48dfe437f9 d2d1: Implement d2d_radial_gradient_brush_GetGradientStopCollection().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:53 +02:00
Henri Verbeet 5aef3d6352 d2d1: Implement d2d_radial_gradient_brush_SetGradientOriginOffset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:51 +02:00
Henri Verbeet 2148545e25 d2d1: Implement d2d_radial_gradient_brush_GetGradientOriginOffset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:49 +02:00
Henri Verbeet 85c4419859 d2d1: Implement d2d_radial_gradient_brush_SetCenter().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:47 +02:00
Henri Verbeet 4482324455 d2d1: Implement d2d_radial_gradient_brush_GetCenter().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:46 +02:00
Henri Verbeet 7c430c5ce0 d2d1: Implement d2d_d3d_render_target_CreateRadialGradientBrush().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 21:24:08 +02:00
Henri Verbeet e29e627064 d2d1: Implement linear gradient brushes.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 21:24:08 +02:00
Henri Verbeet 24814f8f4a d2d1: Create shader resource views for gradient stop collections.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 21:24:08 +02:00
Henri Verbeet c1cba92cc0 d2d1: Implement d2d_linear_gradient_brush_GetOpacity().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 21:24:08 +02:00
Henri Verbeet aa7d5a8414 d2d1: Implement d2d_linear_gradient_brush_SetOpacity().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 21:24:08 +02:00
Henri Verbeet 119f84099b d2d1: Use the "world" position instead of the render target position in the pixel shader.
This slightly simplifies the implementation of bitmap brushes, since the
render target transformation no longer needs to be undone. More importantly,
it does the same for gradient brushes.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 11:04:39 +02:00
Henri Verbeet f55960576d d2d1: Unify the outline and fill pixel shaders.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 11:04:37 +02:00
Henri Verbeet 2fafd92d88 d2d1: Unify the various brush pixel shaders.
Branches inside shaders aren't free, but in the long term avoiding switching
between shaders is probably worth it for D2D. As an added benefit, this makes
bitmap brushes and opacity brushes work with bezier geometry.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 11:03:09 +02:00
Henri Verbeet 49019368c2 d2d1/tests: Add some bitmap brush tests for skew transformations and transformed geometry.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 11:02:37 +02:00
Henri Verbeet 2a770ae741 d2d1/tests: Introduce get_surface_readback().
As in the Direct3D tests.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 11:02:34 +02:00
Nikolay Sivov e6c18792f1 d2d1: Improve figure bounds updating for quadratic beziers.
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-09-18 14:15:58 +02:00
Nikolay Sivov 00fea0298b d2d1: Implement GetBounds() for path geometries.
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-09-15 17:00:53 +02:00
Nikolay Sivov dcccaaf7f3 d2d1: Use better bezier segment bounds approximation when updating figure bounds.
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-09-15 17:00:53 +02:00
Nikolay Sivov 38d314ba92 d2d1: Use 8bpp text bitmaps for grayscale 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-09-05 17:52:16 +02:00
Nikolay Sivov 0a315ba065 d2d1: Fix rounding when setting scissor rectangle.
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-30 16:28:56 +02:00
Nikolay Sivov 7316c96239 d2d1: Pass inline object effect through rendering context.
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-24 17:46:20 +02:00
Henri Verbeet 2187a1edb3 d2d1: Split overlapping bezier control triangles.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:07:04 +09:00
Henri Verbeet 3895f07c4b d2d1: Use segment indices 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:07:02 +09:00
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