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