ReactOS 0.4.17-dev-934-g091855f
d2d1effectauthor.idl
Go to the documentation of this file.
1/*
2 * Copyright 2022 Ziqing Hui for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 import "d2d1_1.idl";
20
22 const BYTE *data, UINT32 data_size);
23
25 BYTE *data, UINT32 data_size, UINT32 *actual_size);
26
27typedef enum D2D1_FILTER
28{
38 D2D1_FILTER_FORCE_DWORD = 0xffffffff
40
41typedef enum D2D1_FEATURE
42{
45 D2D1_FEATURE_FORCE_DWORD = 0xffffffff
47
49{
54
56{
62
63typedef enum D2D1_CHANGE_TYPE
64{
71
73{
78
80{
87
89{
94
96{
104
105typedef enum D2D1_BLEND
106{
120 D2D1_BLEND_FORCE_DWORD = 0xffffffff
122
124{
128
129typedef struct D2D1_VERTEX_RANGE
130{
134
136{
143 float blendFactor[4];
145
147{
155
157{
158 const char *semanticName;
164
166{
169 const BYTE *data;
172
174{
181
182[
183 object,
184 uuid(9b8b1336-00a5-4668-92b7-ced5d8bf9b7b),
185 local,
186]
188{
190 [out] BYTE **data,
191 [in] UINT32 size
192 );
194}
195
196[
197 object,
198 uuid(688d15c3-02b0-438d-b13a-d1b44c32c39a),
199 local,
200]
202{
204 [in] const UINT32 *min_extents,
205 [in] const UINT32 *max_extents,
206 [in] const UINT32 *strides,
207 [in] UINT32 dimensions,
208 [in] const BYTE *data,
209 [in] UINT32 data_size
210 );
211}
212
213[
214 object,
215 uuid(519ae1bd-d19a-420d-b849-364f594776b7),
216 local,
217]
219{
221 [in] UINT32 index,
223 );
227 );
229 [in] BOOL is_cached
230 );
232 [in] UINT32 count
233 );
234}
235
236[
237 object,
238 uuid(693ce632-7f2f-45de-93fe-18d88b37aa21),
239 local,
240]
242{
244 [in] const BYTE *buffer,
245 [in] UINT32 size
246 );
248 [in] UINT32 index,
250 );
252 [in] const BYTE *buffer,
253 [in] UINT32 size
254 );
256 [in] REFGUID id,
258 );
264 [in, optional] const GUID *shader
265 );
266}
267
268[
269 object,
270 uuid(5598b14b-9fd7-48b7-9bdb-8f0964eb38bc),
271 local,
272]
274{
276 [in] const BYTE *buffer,
277 [in] UINT32 size
278 );
280 [in] REFGUID id
281 );
283 [in] UINT32 index,
285 );
286}
287
288[
289 object,
290 uuid(b2efe1e7-729f-4102-949f-505fa21bf666),
291 local,
292]
294{
296}
297
298[
299 object,
300 uuid(13d29038-c3e6-4034-9081-13b53a417992),
301 local,
302]
304{
308 );
311 );
314 );
317 );
319 [in] ID2D1TransformNode *from_node,
320 [in] ID2D1TransformNode *to_node,
321 [in] UINT32 index
322 );
324 [in] UINT32 input_index,
326 [in] UINT32 node_index
327 );
328 void Clear();
330 [in] UINT32 index
331 );
332}
333
334[
335 object,
336 uuid(ef1a287d-342a-4f76-8fdb-da0d6ea9f92b),
337 local,
338]
340{
342 [in] const D2D1_RECT_L *output_rect,
343 [out] D2D1_RECT_L *input_rects,
344 [in] UINT32 input_rects_count
345 );
347 [in] const D2D1_RECT_L *input_rects,
348 [in] const D2D1_RECT_L *input_opaque_rects,
349 [in] UINT32 input_rect_count,
350 [out] D2D1_RECT_L *output_rect,
351 [out] D2D1_RECT_L *output_opaque_rect
352 );
354 [in] UINT32 index,
355 [in] D2D1_RECT_L input_rect,
356 [out] D2D1_RECT_L *output_rect
357 );
358}
359
360[
361 object,
362 uuid(36bfdcb6-9739-435d-a30d-a653beff6a6f),
363 local,
364]
366{
369 );
370}
371
372[
373 object,
374 uuid(0d85573c-01e3-4f7d-bfd9-0d60608bf3c3),
375 local,
376]
378{
381 );
383 [in] const D2D1_RECT_L *output_rect,
384 [out] UINT32 *dimension_x,
385 [out] UINT32 *dimension_y,
386 [out] UINT32 *dimension_z
387 );
388}
389
390[
391 object,
392 uuid(0359dc30-95e6-4568-9055-27720d130e93),
393 local,
394]
396{
398 [in] const BYTE *data,
399 [in] UINT32 size
400 );
401}
402
403[
404 object,
405 uuid(db1800dd-0c34-4cf9-be90-31cc0a5653e1),
406 local,
407]
409{
412 );
415 [in] const D2D1_RECT_L *draw_rect,
416 [in] D2D1_POINT_2U target_origin
417 );
418}
419
420[
421 object,
422 uuid(1a799d8a-69f7-4e4c-9fed-437ccc6684cc),
423 local,
424]
426{
430 );
432 [in] BOOL is_cached
433 );
434}
435
436[
437 object,
438 uuid(63ac0b32-ba44-450f-8806-7f4ca1ff2f1b),
439 local,
440]
442{
445 );
448 );
449}
450
451[
452 object,
453 uuid(4998735c-3a19-473c-9781-656847e3a347),
454 local,
455]
457{
460 );
463 );
466}
467
468[
469 object,
470 uuid(3fe6adea-7643-4f53-bd14-a0ce63f24042),
471 local,
472]
474{
477 );
479}
480
481[
482 object,
483 uuid(90f732e2-5092-4606-a819-8651970baccd),
484 local,
485]
487{
489 [in] const D2D1_RECT_L *bounds
490 );
492 [out] D2D1_RECT_L *bounds
493 );
494}
495
496[
497 object,
498 uuid(3d9f916b-27dc-4ad7-b4f1-64945340f563),
499 local,
500]
502{
503 void GetDpi(
504 [out] float *dpi_x,
505 [out] float *dpi_y
506 );
508 [in] REFCLSID clsid,
509 [out] ID2D1Effect **effect
510 );
512 [in] const D3D_FEATURE_LEVEL *levels,
513 [in] UINT32 level_count,
514 [out] D3D_FEATURE_LEVEL *max_level
515 );
517 [in] ID2D1Effect *effect,
519 );
521 [in] UINT32 num_inputs,
524 );
526 [in] D2D1_EXTEND_MODE mode_x,
527 [in] D2D1_EXTEND_MODE mode_y,
529 );
533 );
535 [in] const D2D1_RECT_L *output_rect,
537 );
539 [in] REFGUID shader_id,
540 [in] const BYTE *buffer,
542 );
544 [in] REFGUID shader_id,
545 [in] const BYTE *buffer,
547 );
549 [in] REFGUID shader_id,
550 [in] const BYTE *buffer,
552 );
554 [in] REFGUID shader_id
555 );
557 [in, optional] const GUID *id,
558 [in] const D2D1_RESOURCE_TEXTURE_PROPERTIES *texture_properties,
559 [in] const BYTE *data,
560 [in] const UINT32 *strides,
561 [in] UINT32 data_size,
563 );
565 [in] const GUID *id,
567 );
569 [in] const D2D1_VERTEX_BUFFER_PROPERTIES *buffer_properties,
570 [in, optional] const GUID *id,
571 [in, optional] const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES *custom_buffer_properties,
573 );
575 [in] const GUID *id,
577 );
580 [in] const BYTE *profile,
581 [in] UINT32 profile_size,
582 [out] ID2D1ColorContext **color_context
583 );
585 [in] const WCHAR *filename,
586 [out] ID2D1ColorContext **color_context
587 );
589 [in] IWICColorContext *wic_color_context,
590 [out] ID2D1ColorContext **color_context
591 );
594 [out] void *data,
595 [in] UINT32 data_size
596 );
599 );
600}
601
602[
603 object,
604 uuid(a248fd3f-3e6c-4e63-9f03-7f68ecc91db9),
605 local,
606]
608{
612 );
615 );
618 );
619}
@ optional
Definition: SystemMenu.c:34
HDC dc
Definition: cylfrac.c:34
D2D1_EXTEND_MODE
Definition: d2d1.idl:198
D2D1_COLOR_SPACE
Definition: d2d1_1.idl:79
D2D1_BUFFER_PRECISION
Definition: d2d1_1.idl:106
@ D2D1_BLEND_FORCE_DWORD
@ D2D1_BLEND_SRC_ALPHA
@ D2D1_BLEND_BLEND_FACTOR
@ D2D1_BLEND_DEST_COLOR
@ D2D1_BLEND_INV_SRC_COLOR
@ D2D1_BLEND_SRC_COLOR
@ D2D1_BLEND_SRC_ALPHA_SAT
@ D2D1_BLEND_ZERO
@ D2D1_BLEND_INV_DEST_COLOR
@ D2D1_BLEND_INV_DEST_ALPHA
@ D2D1_BLEND_ONE
@ D2D1_BLEND_INV_BLEND_FACTOR
@ D2D1_BLEND_INV_SRC_ALPHA
@ D2D1_BLEND_DEST_ALPHA
D2D1_FEATURE
@ D2D1_FEATURE_DOUBLES
@ D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS
@ D2D1_FEATURE_FORCE_DWORD
D2D1_PIXEL_OPTIONS
@ D2D1_PIXEL_OPTIONS_NONE
@ D2D1_PIXEL_OPTIONS_FORCE_DWORD
@ D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING
D2D1_BLEND_OPERATION
@ D2D1_BLEND_OPERATION_ADD
@ D2D1_BLEND_OPERATION_FORCE_DWORD
@ D2D1_BLEND_OPERATION_REV_SUBTRACT
@ D2D1_BLEND_OPERATION_MIN
@ D2D1_BLEND_OPERATION_MAX
@ D2D1_BLEND_OPERATION_SUBTRACT
D2D1_FILTER
@ D2D1_FILTER_MIN_MAG_MIP_LINEAR
@ D2D1_FILTER_MIN_MAG_MIP_POINT
@ D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR
@ D2D1_FILTER_ANISOTROPIC
@ D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT
@ D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR
@ D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT
@ D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D2D1_FILTER_FORCE_DWORD
D2D1_VERTEX_OPTIONS
@ D2D1_VERTEX_OPTIONS_FORCE_DWORD
@ D2D1_VERTEX_OPTIONS_NONE
@ D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP
@ D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR
@ D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER
D2D1_CHANGE_TYPE
@ D2D1_CHANGE_TYPE_PROPERTIES
@ D2D1_CHANGE_TYPE_CONTEXT
@ D2D1_CHANGE_TYPE_NONE
@ D2D1_CHANGE_TYPE_FORCE_DWORD
@ D2D1_CHANGE_TYPE_GRAPH
D2D1_CHANNEL_DEPTH
@ D2D1_CHANNEL_DEPTH_DEFAULT
@ D2D1_CHANNEL_DEPTH_FORCE_DWORD
@ D2D1_CHANNEL_DEPTH_1
@ D2D1_CHANNEL_DEPTH_4
HRESULT(__stdcall * PD2D1_PROPERTY_SET_FUNCTION)(IUnknown *effect, const BYTE *data, UINT32 data_size)
HRESULT(__stdcall * PD2D1_PROPERTY_GET_FUNCTION)(const IUnknown *effect, BYTE *data, UINT32 data_size, UINT32 *actual_size)
D2D1_VERTEX_USAGE
@ D2D1_VERTEX_USAGE_STATIC
@ D2D1_VERTEX_USAGE_DYNAMIC
@ D2D1_VERTEX_USAGE_FORCE_DWORD
D3D_FEATURE_LEVEL
Definition: d3dcommon.idl:102
range
Definition: d3dx9_private.h:58
#define __stdcall
Definition: corecrt.h:120
DXGI_FORMAT
Definition: dxgiformat.idl:22
unsigned int BOOL
Definition: ntddk_ex.h:94
#define local
Definition: zutil.h:30
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLuint GLenum GLenum transform
Definition: glext.h:9407
GLenum GLuint texture
Definition: glext.h:6295
GLuint buffer
Definition: glext.h:5915
GLsizeiptr size
Definition: glext.h:5919
GLintptr offset
Definition: glext.h:5920
const GLubyte * c
Definition: glext.h:8905
GLuint shader
Definition: glext.h:6030
GLuint index
Definition: glext.h:6031
GLfloat f
Definition: glext.h:7540
GLenum mode
Definition: glext.h:6217
GLuint in
Definition: glext.h:9616
GLsizei levels
Definition: glext.h:7884
GLenum GLint GLint * precision
Definition: glext.h:7539
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
HRESULT ProcessAnalysisResults([in] const BYTE *data, [in] UINT32 size)
void GetDescription([out] D2D1_BLEND_DESCRIPTION *description)
void SetDescription([in] const D2D1_BLEND_DESCRIPTION *description)
D2D1_EXTEND_MODE GetExtendModeY()
D2D1_EXTEND_MODE GetExtendModeX()
void SetExtendModeX([in] D2D1_EXTEND_MODE mode)
void SetExtendModeY([in] D2D1_EXTEND_MODE mode)
void SetOutputBounds([in] const D2D1_RECT_L *bounds)
void GetOutputBounds([out] D2D1_RECT_L *bounds)
HRESULT SetComputeShaderconstantBuffer([in] const BYTE *buffer, [in] UINT32 size)
HRESULT SetResourceTexture([in] UINT32 index, [in] ID2D1ResourceTexture *texture)
HRESULT SetComputeShader([in] REFGUID id)
HRESULT CalculateThreadgroups([in] const D2D1_RECT_L *output_rect, [out] UINT32 *dimension_x, [out] UINT32 *dimension_y, [out] UINT32 *dimension_z)
HRESULT SetComputeInfo([in] ID2D1ComputeInfo *info)
HRESULT SetOutputBuffer([in] D2D1_BUFFER_PRECISION precision, [in] D2D1_CHANNEL_DEPTH depth)
void SetCached([in] BOOL is_cached)
HRESULT SetVertexShaderConstantBuffer([in] const BYTE *buffer, [in] UINT32 size)
HRESULT SetPixelShader([in] REFGUID id, [in] D2D1_PIXEL_OPTIONS options)
HRESULT SetVertexProcessing([in, optional] ID2D1VertexBuffer *buffer, [in] D2D1_VERTEX_OPTIONS options, [in, optional] const D2D1_BLEND_DESCRIPTION *description, [in, optional] const D2D1_VERTEX_RANGE *range, [in, optional] const GUID *shader)
HRESULT SetPixelShaderConstantBuffer([in] const BYTE *buffer, [in] UINT32 size)
HRESULT SetResourceTexture([in] UINT32 index, [in] ID2D1ResourceTexture *texture)
HRESULT SetDrawInfo([in] ID2D1DrawInfo *info)
HRESULT CreateResourceTexture([in, optional] const GUID *id, [in] const D2D1_RESOURCE_TEXTURE_PROPERTIES *texture_properties, [in] const BYTE *data, [in] const UINT32 *strides, [in] UINT32 data_size, [out] ID2D1ResourceTexture **texture)
HRESULT LoadComputeShader([in] REFGUID shader_id, [in] const BYTE *buffer, [in] UINT32 buffer_size)
HRESULT FindResourceTexture([in] const GUID *id, [out] ID2D1ResourceTexture **texture)
HRESULT FindVertexBuffer([in] const GUID *id, [out] ID2D1VertexBuffer **buffer)
HRESULT CreateBoundsAdjustmentTransform([in] const D2D1_RECT_L *output_rect, [out] ID2D1BoundsAdjustmentTransform **transform)
HRESULT CreateColorContext([in] D2D1_COLOR_SPACE space, [in] const BYTE *profile, [in] UINT32 profile_size, [out] ID2D1ColorContext **color_context)
void GetDpi([out] float *dpi_x, [out] float *dpi_y)
HRESULT LoadPixelShader([in] REFGUID shader_id, [in] const BYTE *buffer, [in] UINT32 buffer_size)
HRESULT CreateColorContextFromWicColorContext([in] IWICColorContext *wic_color_context, [out] ID2D1ColorContext **color_context)
HRESULT CreateEffect([in] REFCLSID clsid, [out] ID2D1Effect **effect)
HRESULT CheckFeatureSupport([in] D2D1_FEATURE feature, [out] void *data, [in] UINT32 data_size)
HRESULT CreateColorContextFromFilename([in] const WCHAR *filename, [out] ID2D1ColorContext **color_context)
HRESULT CreateOffsetTransform([in] D2D1_POINT_2L offset, [out] ID2D1OffsetTransform **transform)
HRESULT LoadVertexShader([in] REFGUID shader_id, [in] const BYTE *buffer, [in] UINT32 buffer_size)
HRESULT CreateTransformNodeFromEffect([in] ID2D1Effect *effect, [out] ID2D1TransformNode **node)
HRESULT CreateBorderTransform([in] D2D1_EXTEND_MODE mode_x, [in] D2D1_EXTEND_MODE mode_y, [out] ID2D1BorderTransform **transform)
HRESULT CreateVertexBuffer([in] const D2D1_VERTEX_BUFFER_PROPERTIES *buffer_properties, [in, optional] const GUID *id, [in, optional] const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES *custom_buffer_properties, [out] ID2D1VertexBuffer **buffer)
HRESULT GetMaximumSupportedFeatureLevel([in] const D3D_FEATURE_LEVEL *levels, [in] UINT32 level_count, [out] D3D_FEATURE_LEVEL *max_level)
BOOL IsBufferPrecisionSupported([in] D2D1_BUFFER_PRECISION precision)
BOOL IsShaderLoaded([in] REFGUID shader_id)
HRESULT CreateBlendTransform([in] UINT32 num_inputs, [in] const D2D1_BLEND_DESCRIPTION *description, [out] ID2D1BlendTransform **transform)
HRESULT PrepareForRender([in] D2D1_CHANGE_TYPE type)
HRESULT SetGraph([in] ID2D1TransformGraph *graph)
HRESULT Initialize([in] ID2D1EffectContext *context, [in] ID2D1TransformGraph *graph)
void SetOffset([in] D2D1_POINT_2L offset)
D2D1_POINT_2L GetOffset()
void SetInstructionCountHint([in] UINT32 count)
HRESULT SetInputDescription([in] UINT32 index, [in] D2D1_INPUT_DESCRIPTION description)
void SetCached([in] BOOL is_cached)
HRESULT SetOutputBuffer([in] D2D1_BUFFER_PRECISION precision, [in] D2D1_CHANNEL_DEPTH depth)
HRESULT Update([in] const UINT32 *min_extents, [in] const UINT32 *max_extents, [in] const UINT32 *strides, [in] UINT32 dimensions, [in] const BYTE *data, [in] UINT32 data_size)
HRESULT SetRenderInfo([in] ID2D1RenderInfo *info)
HRESULT Draw([in] ID2D1Bitmap1 *target, [in] const D2D1_RECT_L *draw_rect, [in] D2D1_POINT_2U target_origin)
HRESULT RemoveNode([in] ID2D1TransformNode *node)
HRESULT SetSingleTransformNode([in] ID2D1TransformNode *node)
HRESULT AddNode([in] ID2D1TransformNode *node)
HRESULT SetOutputNode([in] ID2D1TransformNode *node)
HRESULT ConnectToEffectInput([in] UINT32 input_index, [in] ID2D1TransformNode *node, [in] UINT32 node_index)
HRESULT SetPassthroughGraph([in] UINT32 index)
HRESULT ConnectNode([in] ID2D1TransformNode *from_node, [in] ID2D1TransformNode *to_node, [in] UINT32 index)
UINT32 GetInputCount()
HRESULT MapOutputRectToInputRects([in] const D2D1_RECT_L *output_rect, [out] D2D1_RECT_L *input_rects, [in] UINT32 input_rects_count)
HRESULT MapInputRectsToOutputRect([in] const D2D1_RECT_L *input_rects, [in] const D2D1_RECT_L *input_opaque_rects, [in] UINT32 input_rect_count, [out] D2D1_RECT_L *output_rect, [out] D2D1_RECT_L *output_opaque_rect)
HRESULT MapInvalidRect([in] UINT32 index, [in] D2D1_RECT_L input_rect, [out] D2D1_RECT_L *output_rect)
HRESULT Map([out] BYTE **data, [in] UINT32 size)
Definition: msctf.idl:532
const char * filename
Definition: ioapi.h:137
#define d
Definition: ke_i.h:81
#define profile
Definition: kernel32.h:12
INTERNETFEATURELIST feature
Definition: misc.c:1807
const CLSID * clsid
Definition: msctf.cpp:50
short WCHAR
Definition: pedump.c:58
#define REFCLSID
Definition: guiddef.h:117
wchar_t const *const size_t const buffer_size
Definition: stat.cpp:95
D2D1_BLEND_OPERATION blendOperation
D2D1_BLEND_OPERATION blendOperationAlpha
const D2D1_INPUT_ELEMENT_DESC * inputElements
PD2D1_PROPERTY_SET_FUNCTION setFunction
PD2D1_PROPERTY_GET_FUNCTION getFunction
D2D1_BUFFER_PRECISION bufferPrecision
const D2D1_EXTEND_MODE * extendModes
Definition: dcommon.idl:28
Definition: scsiwmi.h:51
Definition: http.c:7252
Definition: graph.c:32
Definition: tools.h:99
uint32_t UINT32
Definition: typedefs.h:59
Definition: dlist.c:348
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
#define HRESULT
Definition: msvc.h:7
unsigned char BYTE
Definition: xxhash.c:193