Commit Graph

485 Commits

Author SHA1 Message Date
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
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