Connor McAdams
fe4e6934a9
d2d1: Allow appending multiple Bézier control points to a figure at once.
...
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:32:15 +02:00
Connor McAdams
e3bbeb5a93
d2d1: Allow inserting multiple Bézier control points into a figure at once.
...
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:32:13 +02:00
Connor McAdams
a512a03100
d2d1: Introduce a helper to check for split Bézier segments.
...
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:32:11 +02:00
Connor McAdams
0ff58fe1ac
d2d1: Introduce a helper to check for Bézier segments.
...
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:32:09 +02:00
Chip Davis
e771fc8dde
d2d1: Introduce a function to convert D2D1.0 interpolation modes to D2D1.1.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Chip Davis
69487dad1c
d2d1: Return enum constants directly in d2d_bitmap_brush_GetInterpolationMode() (Clang).
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Henri Verbeet
1cb9a31bdf
d2d1/tests: Introduce compare_uint().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:07 +02:00
Zebediah Figura
7ce3b65f1e
d2d1/tests: Adjust a color to prevent test failures.
...
Different drivers may produce either #ff7f00 or #ff8000 here, both on Windows
and Linux.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 21:30:34 +01:00
Connor McAdams
b2d1d1694d
d2d1: Make sure arc fill vertex buffer has correct BindFlag.
...
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 16:04:50 +01:00
Zebediah Figura
ef0f2c7f00
d2d1: Support GUID_WICPixelFormat32bppPRGBA.
...
Needed by Visio 2016.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Giovanni Mascellani
873e3d0691
d2d1: Implement ellipse and rounded rectangle stroking with arcs.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 18:53:40 +01:00
Giovanni Mascellani
a6bf2c429e
d2d1: Implement ellipse and rounded rectangle filling with arcs.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 18:53:37 +01:00
Giovanni Mascellani
b33177355e
d2d1: Trim rasterization area when drawing Bézier curves.
...
A Bézier stroke can lie outside its "defining triangle" for at most
half of the stroke width, not an entire stroke width.
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-13 16:44:24 +01:00
Giovanni Mascellani
722469254d
d2d1: Ensure that hollow figures do not impact geometry bounds.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:30 +01:00
Giovanni Mascellani
fdd7604d72
d2d1/tests: Test that hollow figures do not impact geometry bounds.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:28 +01:00
Giovanni Mascellani
b728b2ff5f
d2d1: Do not fill hollow figures.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:26 +01:00
Giovanni Mascellani
7065819956
d2d1/tests: Check that hollow figures are not filled.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:24 +01:00
Giovanni Mascellani
cf94f77404
d2d1/tests: Add geometry filling tests.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:22 +01:00
Giovanni Mascellani
66290bdc30
d2d1/tests: Add tests for rounded rectangle drawing.
...
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:19 +01:00
Henri Verbeet
763da3f7cc
d2d1: Rename d2d_ellipse_geometry_GetRoundedRect() to d2d_ellipse_geometry_GetEllipse().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 22:44:54 +01:00
Henri Verbeet
1fe3f60f68
d2d1: Pass previous and next vectors to d2d_geometry_outline_add_join().
...
Instead of the points.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:34:03 +01:00
Giovanni Mascellani
aec8701399
d2d1: Implement ellipse drawing.
...
Currently the ellipse is approximated with quadratic Bézier curves.
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 14:24:12 +01:00
Giovanni Mascellani
f04bcb2d1b
d2d1: Implement rounded rectangle drawing.
...
Currently rounded parts are approximated with quadratic Bézier curves.
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 14:24:09 +01:00
Giovanni Mascellani
502c9c7603
d2d1: Fix miter drawing for degenerated rectangles.
...
When a rectangle side has zero length, the miter join generator is
confused because it cannot recover the join angle. This patch avoids
that by using artificially non-degenerate previous and next vertices.
Signed-off-by: Giovanni Mascellani <gio@debian.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 21:54:59 +01:00
Akihiro Sagawa
9023c5a676
d2d1: Improve bitmap creation DPI handling.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:15:19 +01:00
Akihiro Sagawa
9a808acbd5
d2d1: Don't update device context DPI values when changing targets.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:15:17 +01:00
Akihiro Sagawa
44a3be9177
d2d1/tests: Add some DPI tests.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:15:13 +01:00
Brendan Shanks
940c3b4896
d2d1: Only create shader resource views for drawable bitmaps.
...
The underlying resource for bitmaps created with
D2D1_BITMAP_OPTIONS_CANNOT_DRAW doesn't necessarily have
D3D10_BIND_SHADER_RESOURCE in its bind flags.
Original patch by Robin Kertels <robin.kertels@gmail.com>
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-25 21:11:22 +02:00
Alexandre Julliard
3feed5a23f
d2d1: Make qsort() callback functions cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 09:56:00 +02:00
Nikolay Sivov
436fb03a87
d2d1: Remove unused function.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 20:43:37 +02:00
Alexandre Julliard
239499a56d
d2d1: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 15:04:06 +02:00
Francois Gouget
1684b01118
Disable multithreaded DirectX tests if WINETEST_NO_MT_D3D is set.
...
The nouveau graphics driver's support for multithreaded OpenGL is
buggy at least up to (18.2.8) so that any Wine test that performs
multithreaded OpenGL accesses freezes, crashes the Mesa stack and
eventually freezes the whole computer. Typically the first such test
is d2d1:d2d1.
The relevant tests have a --single option but WineTest neither knows
which tests accept this option, nor whether it is needed for the
current host.
The WINETEST_NO_MT_D3D environnement variable can be set on hosts
that need it (such as the cw2-gtx560 box) and is automatically
inherited by the relevant tests thus working around this issue.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 20:35:44 +02:00
Nikolay Sivov
414c6b48ed
d2d1/tests: Add some missing EndDraw() checks (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>
2019-03-06 18:30:48 +01:00
Nikolay Sivov
a777fd85cb
d2d1: Add ID2D1GeometryGroup stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-12 23:02:28 +01:00
Nikolay Sivov
b5e9896370
d2d1: Implement GetMaximumBitmapSize().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 16:44:15 +01:00
Nikolay Sivov
8effa4da69
d2d1/tests: Test command list resource reference.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-29 17:00:47 +01:00
Nikolay Sivov
926d98ef85
d2d1: Add ID2D1Factory2 stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 10:12:44 +02:00
Nikolay Sivov
7ef66068f2
d2d1: Implement d2d_device_context_ID2D1DeviceContext_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>
2018-10-23 13:55:39 +02:00
Nikolay Sivov
0ab7118503
d2d1: Return S_OK from d2d_effect_SetValue().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-18 19:48:46 +02:00
Nikolay Sivov
48bcae100e
d2d1: Return S_OK from RegisterEffectFromString().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-18 19:48:44 +02:00
Daniel Ansorregui
e55aca8f49
d2d1: Use default NULL argument in SetBlendState call.
...
Signed-off-by: Daniel Ansorregui <mailszeros@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 22:26:07 +02:00
Nikolay Sivov
cc4b28a99d
d2d1: Check the context error state on entering d2d_device_context_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>
2018-10-08 20:27:10 +02:00
Henri Verbeet
502bcfe2c6
d2d1: Do not release the "dxgi_target" interface on d2d_bitmap_render_target_init() error paths.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 20:26:50 +02:00
Nikolay Sivov
c4c5353820
d2d1: Add a helper to set error state.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 11:25:46 -05:00
Nikolay Sivov
5cc501b0a9
d2d1: Partially implement d2d_device_context_ID2D1DeviceContext_DrawBitmap().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:22:43 -05:00
Nikolay Sivov
56703ff9a6
d2d1: Handle invalid interpolation mode in DrawBitmap().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:22:40 -05:00
Nikolay Sivov
00b40eac91
d2d1: Use correct interpolation mode enum type member.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:22:36 -05:00
Nikolay Sivov
275a44a419
d2d1: Implement D2D1MakeSkewMatrix().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-03 16:22:18 -05:00
Nikolay Sivov
827f19a690
d2d1: Implement d2d_device_context_ID2D1DeviceContext_CreateBitmapFromWicBitmap().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-03 16:22:13 -05:00
Nikolay Sivov
feea46a187
d2d1/tests: Add a test for BeginDraw() with locked WIC bitmap.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-03 16:22:10 -05:00