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