Henri Verbeet
24dc5c7409
d2d1: Implement radial gradient brushes.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:51 +02:00
Henri Verbeet
8dd021fd72
d2d1: Implement d2d_radial_gradient_brush_GetRadiusX().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 17:53:21 +02:00
Henri Verbeet
48dfe437f9
d2d1: Implement d2d_radial_gradient_brush_GetGradientStopCollection().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:53 +02:00
Henri Verbeet
2148545e25
d2d1: Implement d2d_radial_gradient_brush_GetGradientOriginOffset().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:55:49 +02:00
Henri Verbeet
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Henri Verbeet
acbb0bdfac
d2d1: Implement d2d_factory_CreateTransformedGeometry().
2015-08-20 20:26:41 +09:00
Henri Verbeet
64ccd138a2
d2d1: d2d_bitmap_brush_init() can't fail.
2015-08-13 15:04:08 +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
414d04e27d
d2d1: Implement d2d_bitmap_brush_GetFactory().
2015-08-03 10:56:44 +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
a2f41ed5b6
d2d1: Implement d2d_bitmap_GetPixelFormat().
2015-07-29 21:44:01 +02:00
Henri Verbeet
a4bcae0bf7
d2d1: Implement d2d_d3d_render_target_GetPixelFormat().
2015-07-21 16:33:23 +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
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
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
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
0a02f346f6
d2d1: Implement d2d_bitmap_brush_SetExtendModeY().
2015-04-28 15:34:08 +09:00
Henri Verbeet
21a4a10879
d2d1: Implement d2d_bitmap_brush_SetExtendModeX().
2015-04-28 15:34:03 +09:00
Henri Verbeet
1014d9a105
d2d1: Implement d2d_bitmap_brush_SetInterpolationMode().
2015-04-27 18:05:15 +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
e52cf640e6
d2d1: Implement d2d_d3d_render_target_SetTags().
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
b231013f03
d2d1: Implement d2d_d3d_render_target_SetAntialiasMode().
2015-03-27 00:11:56 +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
95f5dc72a2
d2d1: Implement d2d_state_block_GetDescription().
2015-03-25 19:46:13 +09:00
Henri Verbeet
063080f747
d2d1: Implement d2d_state_block_GetTextRenderingParams().
2015-03-25 19:46:09 +09:00
Henri Verbeet
a6409ed027
d2d1: Implement d2d_factory_CreateDrawingStateBlock().
2015-02-18 23:21:39 +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
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
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
743d80fea5
d2d1: Implement d2d_solid_color_brush_SetOpacity().
2014-11-06 23:47:09 +09:00
Henri Verbeet
7a72eb2dcd
d2d1: Add an initial d2d_d3d_render_target_FillRectangle() implementation.
2014-11-06 23:47:06 +09:00
Henri Verbeet
8db1df5097
d2d1: Implement d2d_gradient_GetGradientStops().
2014-11-03 20:31:52 +09:00
Henri Verbeet
5279ad5b9f
d2d1: Implement d2d_gradient_GetGradientStopCount().
2014-11-03 20:31:47 +09:00
Henri Verbeet
0d962da9d3
d2d1: Implement d2d_d3d_render_target_DrawTextLayout().
2014-10-06 17:35:07 +02:00
Henri Verbeet
76dd63e422
d2d1: Implement d2d_d3d_render_target_CreateBitmap().
2014-09-16 12:24:34 +02:00
Henri Verbeet
be415203c7
d2d1: Implement d2d_d3d_render_target_CreateMesh().
2014-09-16 12:24:22 +02:00
Henri Verbeet
c8f758a099
d2d1: Implement d2d_factory_CreateWicBitmapRenderTarget().
2014-09-15 12:13:50 +02:00
Henri Verbeet
240c454089
d2d1: Simplify clip stack handling.
2014-09-15 12:12:36 +02:00
Henri Verbeet
a49fbeb841
d2d1: Implement initial clipping support.
2014-09-08 11:36:00 +02:00
Henri Verbeet
e2c7b442a1
d2d1: Implement d2d_d3d_render_target_Clear().
...
This is of course a fairly naive initial implementation. We'd probably want to
batch up drawing operations, and only execute them on EndDraw() or Flush() to
reduce state setup overhead.
2014-09-08 11:35:57 +02:00
Henri Verbeet
3e2a7493e0
d2d1: Implement d2d_d3d_render_target_GetDpi().
2014-09-04 20:21:03 +02:00
Henri Verbeet
5295edbd3a
d2d1: Implement d2d_d3d_render_target_GetPixelSize().
2014-09-03 11:22:33 +02:00
Henri Verbeet
952b2575fd
d2d1: Implement d2d_d3d_render_target_GetTransform().
2014-07-22 12:37:31 +02:00
Henri Verbeet
c903192243
d2d1: Implement d2d_factory_CreateStrokeStyle().
2014-07-18 19:13:38 +02:00