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