Commit Graph

101 Commits

Author SHA1 Message Date
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 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
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 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
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 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
Henri Verbeet acbb0bdfac d2d1: Implement d2d_factory_CreateTransformedGeometry(). 2015-08-20 20:26:41 +09:00
Henri Verbeet 57eec429c6 d2d1: Implement d2d_text_renderer_DrawInlineObject(). 2015-08-18 18:28:51 +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 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 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 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 9745efaf6d d2d1: Implement d2d_mesh_GetFactory(). 2015-07-31 12:08:57 +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 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 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 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 aed042d4dc d2d1: Implement d2d_d3d_render_target_DrawText(). 2015-07-10 22:23:11 +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