Commit Graph

395 Commits

Author SHA1 Message Date
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
Henri Verbeet fd8b3ae572 d2d1: Implement d2d_solid_color_brush_GetColor(). 2014-11-06 23:47:08 +09:00
Henri Verbeet 94cd81a45d d2d1: Implement d2d_solid_color_brush_SetColor(). 2014-11-06 23:47:07 +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 56a0e32317 d2d1: Pass the correct vtbl in d2d_linear_gradient_brush_init(). 2014-11-03 20:31:44 +09:00
Francois Gouget 9f8d221869 d2d1: Make the IDWriteTextRenderer methods static. 2014-10-07 20:22:11 +02:00
Henri Verbeet 0d962da9d3 d2d1: Implement d2d_d3d_render_target_DrawTextLayout(). 2014-10-06 17:35:07 +02:00
Francois Gouget 9f97433641 d2d1: Add a trailing '\n' to a FIXME(). 2014-09-29 10:36:25 +02:00
Henri Verbeet 4e73cd517a d2d1: Implement d2d_d3d_render_target_CreateBitmapFromWicBitmap(). 2014-09-16 12:24:38 +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 e90b49e2bc d2d1/tests: Add a basic clipping test. 2014-09-08 11:36:20 +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 92a1ede37f d2d1: Implement d2d_d3d_render_target_GetSize(). 2014-09-08 11:35:45 +02:00
Henri Verbeet fabfa59aea widl: Handle aggregate returns in a MSVC compatible way.
Aggregates are returned through an implicit parameter after the this/interface
pointer. Note that this follows the C++ convention, affected methods are not
callable from C with the Microsoft headers.
2014-09-08 11:34:05 +02:00
Henri Verbeet a64a3c8238 d2d1: Implement d2d_d3d_render_target_SetDpi(). 2014-09-04 20:21:03 +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 53d0c20526 d2d1: Implement d2d_d3d_render_target_EndDraw().
Tag1/tag2 are "error tags". You set them with SetTags(), and if a subsequent
drawing operation generates an error, EndDraw() will return the error code and
tags that were set when the error occurred.
2014-09-03 11:22:31 +02:00
Henri Verbeet 5981ddab4d d2d1: Get rid of a FIXME in d2d_d3d_render_target_BeginDraw(). 2014-09-03 11:22:27 +02:00
Henri Verbeet 7976da345a d2d1: Implement d2d_d3d_render_target_SetTransform(). 2014-07-22 12:37:35 +02:00
Henri Verbeet 952b2575fd d2d1: Implement d2d_d3d_render_target_GetTransform(). 2014-07-22 12:37:31 +02:00
Henri Verbeet 6944803ccc d2d1: Implement D2D1MakeRotateMatrix(). 2014-07-18 19:13:38 +02:00
Henri Verbeet c903192243 d2d1: Implement d2d_factory_CreateStrokeStyle(). 2014-07-18 19:13:38 +02:00
Henri Verbeet 8583fc4a6c d2d1: Implement d2d_d3d_render_target_CreateLinearGradientBrush(). 2014-06-17 10:37:35 +02:00
Henri Verbeet 22a20e4016 d2d1: Implement d2d_d3d_render_target_CreateGradientStopCollection(). 2014-06-17 10:37:33 +02:00
Henri Verbeet cfde833140 d2d1: Implement d2d_d3d_render_target_CreateSolidColorBrush(). 2014-06-17 10:37:31 +02:00
Henri Verbeet 53d1bbf041 d2d1: Implement d2d_factory_CreateDxgiSurfaceRenderTarget(). 2014-05-20 09:44:13 +02:00
Henri Verbeet 089832e6d5 d2d1: Implement D2D1CreateFactory(). 2014-05-20 09:43:40 +02:00
Alexandre Julliard ddfaafc16d d2d1: Remove unnecessary DllMain implementation. 2014-05-16 11:33:40 +02:00
Henri Verbeet 67981d6db7 d2d1: Add a stub D2D1CreateFactory() implementation. 2014-02-18 11:45:20 +01:00