Commit Graph

385 Commits

Author SHA1 Message Date
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
Henri Verbeet 4c64c76c0b d2d1: Implement d2d_d3d_render_target_FillEllipse(). 2015-07-21 16:33:23 +02:00
Henri Verbeet 9afd280d26 d2d1: Implement d2d_d3d_render_target_FillRoundedRectangle(). 2015-07-21 16:33:22 +02:00
Henri Verbeet d1e1429218 d2d1: Add a missing TRACE to d2d_d3d_render_target_FillRectangle().
This accidentally got lost in b92a05c84e.
2015-07-21 16:33:22 +02:00
Henri Verbeet fc1286aed8 d2d1: Add some FIXMEs for unimplemented functionality to d2d_d3d_render_target_DrawGlyphRun(). 2015-07-20 11:50:22 +02:00
Henri Verbeet b33786ce6d d2d1: Implement initial support for drawing bezier curves. 2015-07-20 11:50:20 +02:00
Henri Verbeet 025c320145 d2d1: Implement d2d_geometry_sink_SetFillMode(). 2015-07-20 11:50:18 +02:00
Henri Verbeet f5b4da0ddd d2d1/tests: Don't call compare_surface() inside ok(). 2015-07-20 11:50:15 +02:00
Henri Verbeet bebee86da6 d2d1: Properly trace "vertex_count" in d2d_path_geometry_triangulate(). 2015-07-15 23:18:45 +09:00
Henri Verbeet a8f45dff60 d2d1: Implement d2d_geometry_sink_AddLines(). 2015-07-14 23:27:22 +09:00
Henri Verbeet b92a05c84e d2d1: Implement d2d_d3d_render_target_FillGeometry(). 2015-07-14 23:27:21 +09:00
Henri Verbeet 3bb382aabb d2d1: Introduce a separate function to construct pixel shader constant buffers for brushes. 2015-07-14 23:27:21 +09:00
Henri Verbeet 1f4e37659c d2d1: Also bind the pixel shader and blend state in d2d_brush_bind_resources(). 2015-07-14 23:27:21 +09:00
Henri Verbeet 391fda7599 d2d1: Implement d2d_factory_CreateRectangleGeometry(). 2015-07-14 23:27:21 +09:00
Henri Verbeet aed042d4dc d2d1: Implement d2d_d3d_render_target_DrawText(). 2015-07-10 22:23:11 +09:00
Henri Verbeet b108a2ff78 d2d1: Implement d2d_path_geometry_GetSegmentCount(). 2015-07-10 22:23:02 +09:00
Henri Verbeet dfe1486e4b d2d1: Implement d2d_path_geometry_GetFigureCount(). 2015-07-10 22:23:00 +09:00
Henri Verbeet ddec784aee d2d1: Implement d2d_geometry_sink_BeginFigure() and d2d_geometry_sink_EndFigure(). 2015-07-10 22:22:58 +09:00
Henri Verbeet 2f6f8f1242 d2d1: Only allow path geometries to be opened once. 2015-07-10 22:22:56 +09:00
Henri Verbeet 03e60da52b d2d1: Implement d2d_text_renderer_GetPixelsPerDip(). 2015-07-09 23:18:07 +09:00
Henri Verbeet a73035c302 d2d1: Implement d2d_text_renderer_GetCurrentTransform(). 2015-07-09 23:18:05 +09:00
Henri Verbeet 47260762a9 d2d1: Implement d2d_text_renderer_IsPixelSnappingDisabled(). 2015-07-09 23:18:03 +09:00
Henri Verbeet a44dfc58ab d2d1: Implement d2d_d3d_render_target_DrawGlyphRun(). 2015-07-09 23:18:00 +09:00
Henri Verbeet 1fd0cf680f d2d1: Implement d2d_text_renderer_DrawGlyphRun(). 2015-06-16 16:48:56 +09:00
Henri Verbeet 8b170f0f59 d2d1: Implement d2d_geometry_sink_AddBezier(). 2015-06-16 16:48:54 +09:00
Henri Verbeet 5d5fdbc63b d2d1: Implement d2d_geometry_sink_AddQuadraticBezier(). 2015-06-16 16:48:52 +09:00
Henri Verbeet 95a12f246a d2d1: Implement d2d_geometry_sink_AddLine(). 2015-06-16 16:48:50 +09:00
Henri Verbeet e8d41475b9 d2d1: Implement d2d_path_geometry_Open(). 2015-06-15 22:10:36 +09:00
Henri Verbeet 2b1d3bfb47 d2d1: Implement d2d_factory_CreatePathGeometry(). 2015-06-15 22:10:36 +09:00
Henri Verbeet 7e8c88fa1e d2d1: Fix the ID2D1Factory::CreatePathGeometry() declaration. 2015-06-15 22:10:35 +09:00
Henri Verbeet d3cc27f1d8 d2d1/tests: Add some extend mode tests to test_bitmap_brush(). 2015-04-29 12:24:32 +09:00
Henri Verbeet c92d7aff63 d2d1: Do not flip/mirror the rectangle in d2d_d3d_render_target_FillRectangle(). 2015-04-29 12:24:28 +09:00
Henri Verbeet abc84588d2 d2d1: Implement d2d_bitmap_brush_GetExtendModeY(). 2015-04-28 15:34:10 +09:00
Henri Verbeet 0a02f346f6 d2d1: Implement d2d_bitmap_brush_SetExtendModeY(). 2015-04-28 15:34:08 +09:00
Henri Verbeet b940f2fd9e d2d1: Implement d2d_bitmap_brush_GetExtendModeX(). 2015-04-28 15:34:06 +09:00
Henri Verbeet 21a4a10879 d2d1: Implement d2d_bitmap_brush_SetExtendModeX(). 2015-04-28 15:34:03 +09:00
Henri Verbeet 61a40b0d9c d2d1/tests: Add a test for bitmap brushes. 2015-04-27 18:05:20 +09:00
Henri Verbeet 719dfff5bd d2d1: Implement d2d_bitmap_brush_GetInterpolationMode(). 2015-04-27 18:05:17 +09:00
Henri Verbeet 1014d9a105 d2d1: Implement d2d_bitmap_brush_SetInterpolationMode(). 2015-04-27 18:05:15 +09:00
Henri Verbeet 168dd496cb d2d1: Implement d2d_bitmap_brush_GetBitmap(). 2015-04-24 14:29:45 +09:00
Henri Verbeet b313680ab4 d2d1: Take scaling into account for the source offset in d2d_d3d_render_target_DrawBitmap(). 2015-04-24 14:29:43 +09:00
Henri Verbeet 4b3ca58fe9 d2d1: Do not flip/mirror the bitmap in d2d_d3d_render_target_DrawBitmap(). 2015-04-24 14:29:41 +09:00
Henri Verbeet 2af8e243ac d2d1: Add opacity support to bitmap brushes. 2015-04-15 22:21:59 +09:00
Henri Verbeet a7b2f5e889 d2d1: Take the world transform into account when calculating the bitmap brush texcoord transform. 2015-04-15 22:21:59 +09:00
Henri Verbeet efe777c8ac d2d1: Fix a typo in the determinant calculation in d2d_d3d_render_target_FillRectangle(). 2015-03-31 18:49:29 +09:00
Henri Verbeet ae7aee3dd6 d2d1/tests: Add a test for color brushes. 2015-03-31 18:49:28 +09:00
Henri Verbeet d9fbb3f847 d2d1: Do not multiply color brush RGB values with the brush opacity. 2015-03-30 19:10:28 +09:00
Henri Verbeet 7baf2a0f55 d2d1/tests: Add a test for ID2D1DrawingStateBlock. 2015-03-30 19:10:28 +09:00
Henri Verbeet 59e641aa70 d2d1: Implement d2d_d3d_render_target_RestoreDrawingState(). 2015-03-30 19:10:27 +09:00
Henri Verbeet 3f97056424 d2d1: Implement d2d_d3d_render_target_SaveDrawingState(). 2015-03-30 19:10:27 +09:00
Henri Verbeet 70883bb0a2 d2d1: Use a D2D1_DRAWING_STATE_DESCRIPTION structure to store render target drawing state. 2015-03-27 20:40:37 +09:00
Henri Verbeet fd4b0532d0 d2d1: Implement d2d_d3d_render_target_GetTags(). 2015-03-27 20:40:37 +09:00
Henri Verbeet e52cf640e6 d2d1: Implement d2d_d3d_render_target_SetTags(). 2015-03-27 20:40:37 +09:00
Henri Verbeet 2f529b1255 d2d1: Implement d2d_d3d_render_target_GetTextAntialiasMode(). 2015-03-27 20:40:37 +09:00
Henri Verbeet 345dbdc77f d2d1: Implement d2d_d3d_render_target_SetTextAntialiasMode(). 2015-03-27 20:40:36 +09:00
Henri Verbeet cef9434cb2 d2d1: Implement d2d_d3d_render_target_GetAntialiasMode(). 2015-03-27 00:11:59 +09:00
Henri Verbeet b231013f03 d2d1: Implement d2d_d3d_render_target_SetAntialiasMode(). 2015-03-27 00:11:56 +09:00
Henri Verbeet 845103c7dd d2d1: Implement d2d_d3d_render_target_GetTextRenderingParams(). 2015-03-27 00:11:52 +09:00
Henri Verbeet 060d2230fc d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams(). 2015-03-27 00:11:49 +09:00
Henri Verbeet 237a0ada00 d2d1: Implement d2d_d3d_render_target_GetFactory(). 2015-03-27 00:11:46 +09:00
Henri Verbeet 1b93c01048 d2d1: Implement d2d_state_block_SetDescription(). 2015-03-25 19:46:14 +09:00
Henri Verbeet 95f5dc72a2 d2d1: Implement d2d_state_block_GetDescription(). 2015-03-25 19:46:13 +09:00
Henri Verbeet 29af90be0c d2d1: Implement d2d_state_block_SetTextRenderingParams(). 2015-03-25 19:46:11 +09:00
Henri Verbeet 063080f747 d2d1: Implement d2d_state_block_GetTextRenderingParams(). 2015-03-25 19:46:09 +09:00
Henri Verbeet f87b0ce4d7 d2d1: Properly take the source offset into account in d2d_d3d_render_target_DrawBitmap(). 2015-03-25 19:46:07 +09:00
Henri Verbeet a6409ed027 d2d1: Implement d2d_factory_CreateDrawingStateBlock(). 2015-02-18 23:21:39 +09:00
Henri Verbeet 2f2e1b98fd d2d1: Implement d2d_d3d_render_target_DrawBitmap(). 2015-02-06 22:20:24 +09:00
Henri Verbeet 287f751ae2 d2d1: Implement bitmap brush support for d2d_d3d_render_target_FillRectangle(). 2015-02-06 22:20:22 +09:00
Henri Verbeet 7df055f17f d2d1: Implement d2d_bitmap_GetSize(). 2015-02-06 22:20:19 +09:00
Henri Verbeet 4b0f47cdbc d2d1: Implement d2d_bitmap_GetDpi(). 2015-02-06 22:20:17 +09:00
Henri Verbeet b270384dfb d2d1: Implement d2d_bitmap_GetPixelSize(). 2015-02-06 22:20:13 +09:00
Henri Verbeet 81c51768a5 d2d1: Implement d2d_solid_color_brush_SetTransform(). 2015-02-02 22:26:16 +09:00
Henri Verbeet ecca626948 d2d1: Implement d2d_linear_gradient_brush_SetTransform(). 2015-02-02 22:26:14 +09:00
Henri Verbeet fce8603a39 d2d1: Implement d2d_bitmap_brush_SetTransform(). 2015-02-02 22:26:12 +09:00
Henri Verbeet 88edc866ea d2d1: Implement d2d_solid_color_brush_GetTransform(). 2015-02-02 22:26:10 +09:00
Henri Verbeet bbba52dc34 d2d1: Implement d2d_linear_gradient_brush_GetTransform(). 2015-02-02 22:26:07 +09:00
Henri Verbeet d41ee6e574 d2d1: Implement d2d_bitmap_brush_GetTransform(). 2015-02-02 22:26:04 +09:00
Henri Verbeet 0cb8722837 d2d1: Implement d2d_d3d_render_target_CreateBitmapBrush(). 2014-12-01 11:00:24 +01:00
Henri Verbeet ac4bd550a5 d2d1: Make "transform" in d2d_d3d_render_target_Clear() const. 2014-12-01 11:00:23 +01:00
Henri Verbeet 5cc7996b1f d2d1: Implement d2d_solid_color_brush_GetOpacity(). 2014-11-17 19:30:34 +09:00
Henri Verbeet 743d80fea5 d2d1: Implement d2d_solid_color_brush_SetOpacity(). 2014-11-06 23:47:09 +09:00