ReactOS 0.4.17-dev-934-g091855f
d2d1_1.idl File Reference

Go to the source code of this file.

Classes

struct  D2D1_CREATION_PROPERTIES
 
struct  D2D1_STROKE_STYLE_PROPERTIES1
 
struct  D2D1_DRAWING_STATE_DESCRIPTION1
 
struct  D2D1_PRINT_CONTROL_PROPERTIES
 
struct  D2D1_MAPPED_RECT
 
struct  D2D1_BITMAP_PROPERTIES1
 
struct  D2D1_IMAGE_BRUSH_PROPERTIES
 
struct  D2D1_BITMAP_BRUSH_PROPERTIES1
 
struct  D2D1_RENDERING_CONTROLS
 
struct  D2D1_LAYER_PARAMETERS1
 
struct  D2D1_EFFECT_INPUT_DESCRIPTION
 
struct  D2D1_POINT_DESCRIPTION
 
interface  ID2D1GdiMetafileSink
 
interface  ID2D1GdiMetafile
 
interface  ID2D1PathGeometry1
 
interface  ID2D1Properties
 
interface  ID2D1Effect
 
interface  ID2D1DrawingStateBlock1
 
interface  ID2D1ColorContext
 
interface  ID2D1Bitmap1
 
interface  ID2D1BitmapBrush1
 
interface  ID2D1GradientStopCollection1
 
interface  ID2D1Device
 
interface  ID2D1CommandSink
 
interface  ID2D1CommandList
 
interface  ID2D1PrintControl
 
interface  ID2D1ImageBrush
 
interface  ID2D1DeviceContext
 
interface  ID2D1StrokeStyle1
 
interface  ID2D1Factory1
 
interface  ID2D1Multithread
 

Typedefs

typedef struct DWRITE_GLYPH_RUN_DESCRIPTION DWRITE_GLYPH_RUN_DESCRIPTION
 
typedef enum D2D1_DEVICE_CONTEXT_OPTIONS D2D1_DEVICE_CONTEXT_OPTIONS
 
typedef enum D2D1_STROKE_TRANSFORM_TYPE D2D1_STROKE_TRANSFORM_TYPE
 
typedef enum D2D1_PRIMITIVE_BLEND D2D1_PRIMITIVE_BLEND
 
typedef enum D2D1_UNIT_MODE D2D1_UNIT_MODE
 
typedef enum D2D1_PRINT_FONT_SUBSET_MODE D2D1_PRINT_FONT_SUBSET_MODE
 
typedef enum D2D1_COLOR_SPACE D2D1_COLOR_SPACE
 
typedef enum D2D1_BITMAP_OPTIONS D2D1_BITMAP_OPTIONS
 
typedef enum D2D1_MAP_OPTIONS D2D1_MAP_OPTIONS
 
typedef enum D2D1_BUFFER_PRECISION D2D1_BUFFER_PRECISION
 
typedef enum D2D1_COLOR_INTERPOLATION_MODE D2D1_COLOR_INTERPOLATION_MODE
 
typedef enum D2D1_INTERPOLATION_MODE D2D1_INTERPOLATION_MODE
 
typedef enum D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE
 
typedef enum D2D1_LAYER_OPTIONS1 D2D1_LAYER_OPTIONS1
 
typedef D2D_MATRIX_4X4_F D2D1_MATRIX_4X4_F
 
typedef enum D2D1_PROPERTY_TYPE D2D1_PROPERTY_TYPE
 
typedef enum D2D1_PROPERTY D2D1_PROPERTY
 
typedef enum D2D1_SUBPROPERTY D2D1_SUBPROPERTY
 
typedef enum D2D1_THREADING_MODE D2D1_THREADING_MODE
 
typedef struct D2D1_CREATION_PROPERTIES D2D1_CREATION_PROPERTIES
 
typedef struct D2D1_STROKE_STYLE_PROPERTIES1 D2D1_STROKE_STYLE_PROPERTIES1
 
typedef struct D2D1_DRAWING_STATE_DESCRIPTION1 D2D1_DRAWING_STATE_DESCRIPTION1
 
typedef struct D2D1_PRINT_CONTROL_PROPERTIES D2D1_PRINT_CONTROL_PROPERTIES
 
typedef struct D2D1_MAPPED_RECT D2D1_MAPPED_RECT
 
typedef struct D2D1_BITMAP_PROPERTIES1 D2D1_BITMAP_PROPERTIES1
 
typedef struct D2D1_IMAGE_BRUSH_PROPERTIES D2D1_IMAGE_BRUSH_PROPERTIES
 
typedef struct D2D1_BITMAP_BRUSH_PROPERTIES1 D2D1_BITMAP_BRUSH_PROPERTIES1
 
typedef struct D2D1_RENDERING_CONTROLS D2D1_RENDERING_CONTROLS
 
typedef struct D2D1_LAYER_PARAMETERS1 D2D1_LAYER_PARAMETERS1
 
typedef struct D2D1_EFFECT_INPUT_DESCRIPTION D2D1_EFFECT_INPUT_DESCRIPTION
 
typedef struct D2D1_POINT_DESCRIPTION D2D1_POINT_DESCRIPTION
 
typedef HRESULT(__stdcall * PD2D1_EFFECT_FACTORY) (IUnknown **effect)
 

Enumerations

enum  D2D1_DEVICE_CONTEXT_OPTIONS { D2D1_DEVICE_CONTEXT_OPTIONS_NONE = 0x0 , D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS = 0x1 , D2D1_DEVICE_CONTEXT_OPTIONS_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_STROKE_TRANSFORM_TYPE { D2D1_STROKE_TRANSFORM_TYPE_NORMAL = 0x0 , D2D1_STROKE_TRANSFORM_TYPE_FIXED = 0x1 , D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE = 0x2 , D2D1_STROKE_TRANSFORM_TYPE_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_PRIMITIVE_BLEND {
  D2D1_PRIMITIVE_BLEND_SOURCE_OVER = 0x0 , D2D1_PRIMITIVE_BLEND_COPY = 0x1 , D2D1_PRIMITIVE_BLEND_MIN = 0x2 , D2D1_PRIMITIVE_BLEND_ADD = 0x3 ,
  D2D1_PRIMITIVE_BLEND_MAX = 0x4 , D2D1_PRIMITIVE_BLEND_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_UNIT_MODE { D2D1_UNIT_MODE_DIPS = 0x0 , D2D1_UNIT_MODE_PIXELS = 0x1 , D2D1_UNIT_MODE_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_PRINT_FONT_SUBSET_MODE { D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT = 0x0 , D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE = 0x1 , D2D1_PRINT_FONT_SUBSET_MODE_NONE = 0x2 , D2D1_PRINT_FONT_SUBSET_MODE_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_COLOR_SPACE { D2D1_COLOR_SPACE_CUSTOM = 0x0 , D2D1_COLOR_SPACE_SRGB = 0x1 , D2D1_COLOR_SPACE_SCRGB = 0x2 , D2D1_COLOR_SPACE_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_BITMAP_OPTIONS {
  D2D1_BITMAP_OPTIONS_NONE = 0x0 , D2D1_BITMAP_OPTIONS_TARGET = 0x1 , D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 0x2 , D2D1_BITMAP_OPTIONS_CPU_READ = 0x4 ,
  D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 0x8 , D2D1_BITMAP_OPTIONS_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_MAP_OPTIONS {
  D2D1_MAP_OPTIONS_NONE = 0x0 , D2D1_MAP_OPTIONS_READ = 0x1 , D2D1_MAP_OPTIONS_WRITE = 0x2 , D2D1_MAP_OPTIONS_DISCARD = 0x4 ,
  D2D1_MAP_OPTIONS_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_BUFFER_PRECISION {
  D2D1_BUFFER_PRECISION_UNKNOWN = 0x0 , D2D1_BUFFER_PRECISION_8BPC_UNORM = 0x1 , D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB = 0x2 , D2D1_BUFFER_PRECISION_16BPC_UNORM = 0x3 ,
  D2D1_BUFFER_PRECISION_16BPC_FLOAT = 0x4 , D2D1_BUFFER_PRECISION_32BPC_FLOAT = 0x5 , D2D1_BUFFER_PRECISION_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_COLOR_INTERPOLATION_MODE { D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT = 0x0 , D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED = 0x1 , D2D1_COLOR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_INTERPOLATION_MODE {
  D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR = D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR , D2D1_INTERPOLATION_MODE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR , D2D1_INTERPOLATION_MODE_CUBIC = D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC , D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR ,
  D2D1_INTERPOLATION_MODE_ANISOTROPIC = D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC , D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC , D2D1_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_COMPOSITE_MODE {
  D2D1_COMPOSITE_MODE_SOURCE_OVER = 0x0 , D2D1_COMPOSITE_MODE_DESTINATION_OVER = 0x1 , D2D1_COMPOSITE_MODE_SOURCE_IN = 0x2 , D2D1_COMPOSITE_MODE_DESTINATION_IN = 0x3 ,
  D2D1_COMPOSITE_MODE_SOURCE_OUT = 0x4 , D2D1_COMPOSITE_MODE_DESTINATION_OUT = 0x5 , D2D1_COMPOSITE_MODE_SOURCE_ATOP = 0x6 , D2D1_COMPOSITE_MODE_DESTINATION_ATOP = 0x7 ,
  D2D1_COMPOSITE_MODE_XOR = 0x8 , D2D1_COMPOSITE_MODE_PLUS = 0x9 , D2D1_COMPOSITE_MODE_SOURCE_COPY = 0xa , D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY = 0xb ,
  D2D1_COMPOSITE_MODE_MASK_INVERT = 0xc , D2D1_COMPOSITE_MODE_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_LAYER_OPTIONS1 { D2D1_LAYER_OPTIONS1_NONE = 0x0 , D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND = 0x1 , D2D1_LAYER_OPTIONS1_IGNORE_ALPHA = 0x2 , D2D1_LAYER_OPTIONS1_FORCE_DWORD = 0xffffffff }
 
enum  D2D1_PROPERTY_TYPE {
  D2D1_PROPERTY_TYPE_UNKNOWN = 0x0 , D2D1_PROPERTY_TYPE_STRING = 0x1 , D2D1_PROPERTY_TYPE_BOOL = 0x2 , D2D1_PROPERTY_TYPE_UINT32 = 0x3 ,
  D2D1_PROPERTY_TYPE_INT32 = 0x4 , D2D1_PROPERTY_TYPE_FLOAT = 0x5 , D2D1_PROPERTY_TYPE_VECTOR2 = 0x6 , D2D1_PROPERTY_TYPE_VECTOR3 = 0x7 ,
  D2D1_PROPERTY_TYPE_VECTOR4 = 0x8 , D2D1_PROPERTY_TYPE_BLOB = 0x9 , D2D1_PROPERTY_TYPE_IUNKNOWN = 0xa , D2D1_PROPERTY_TYPE_ENUM = 0xb ,
  D2D1_PROPERTY_TYPE_ARRAY = 0xc , D2D1_PROPERTY_TYPE_CLSID = 0xd , D2D1_PROPERTY_TYPE_MATRIX_3X2 = 0xe , D2D1_PROPERTY_TYPE_MATRIX_4X3 = 0xf ,
  D2D1_PROPERTY_TYPE_MATRIX_4X4 = 0x10 , D2D1_PROPERTY_TYPE_MATRIX_5X4 = 0x11 , D2D1_PROPERTY_TYPE_COLOR_CONTEXT = 0x12 , D2D1_PROPERTY_TYPE_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_PROPERTY {
  D2D1_PROPERTY_CLSID = 0x80000000 , D2D1_PROPERTY_DISPLAYNAME = 0x80000001 , D2D1_PROPERTY_AUTHOR = 0x80000002 , D2D1_PROPERTY_CATEGORY = 0x80000003 ,
  D2D1_PROPERTY_DESCRIPTION = 0x80000004 , D2D1_PROPERTY_INPUTS = 0x80000005 , D2D1_PROPERTY_CACHED = 0x80000006 , D2D1_PROPERTY_PRECISION = 0x80000007 ,
  D2D1_PROPERTY_MIN_INPUTS = 0x80000008 , D2D1_PROPERTY_MAX_INPUTS = 0x80000009 , D2D1_PROPERTY_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_SUBPROPERTY {
  D2D1_SUBPROPERTY_DISPLAYNAME = 0x80000000 , D2D1_SUBPROPERTY_ISREADONLY = 0x80000001 , D2D1_SUBPROPERTY_MIN = 0x80000002 , D2D1_SUBPROPERTY_MAX = 0x80000003 ,
  D2D1_SUBPROPERTY_DEFAULT = 0x80000004 , D2D1_SUBPROPERTY_FIELDS = 0x80000005 , D2D1_SUBPROPERTY_INDEX = 0x80000006 , D2D1_SUBPROPERTY_FORCE_DWORD = 0xffffffff
}
 
enum  D2D1_THREADING_MODE { D2D1_THREADING_MODE_SINGLE_THREADED = D2D1_FACTORY_TYPE_SINGLE_THREADED , D2D1_THREADING_MODE_MULTI_THREADED = D2D1_FACTORY_TYPE_MULTI_THREADED , D2D1_THREADING_MODE_FORCE_DWORD = 0xffffffff }
 

Functions

HRESULT __stdcall D2D1CreateDevice (IDXGIDevice *dxgi_device, const D2D1_CREATION_PROPERTIES *creation_properties, ID2D1Device **device)
 
void __stdcall D2D1SinCos (float angle, float *s, float *c)
 
float __stdcall D2D1Tan (float angle)
 
float __stdcall D2D1Vec3Length (float x, float y, float z)
 
D2D1_COLOR_F __stdcall D2D1ConvertColorSpace (D2D1_COLOR_SPACE src_colour_space, D2D1_COLOR_SPACE dst_colour_space, const D2D1_COLOR_F *colour)
 

Typedef Documentation

◆ D2D1_BITMAP_BRUSH_PROPERTIES1

◆ D2D1_BITMAP_OPTIONS

◆ D2D1_BITMAP_PROPERTIES1

◆ D2D1_BUFFER_PRECISION

◆ D2D1_COLOR_INTERPOLATION_MODE

◆ D2D1_COLOR_SPACE

◆ D2D1_COMPOSITE_MODE

◆ D2D1_CREATION_PROPERTIES

◆ D2D1_DEVICE_CONTEXT_OPTIONS

◆ D2D1_DRAWING_STATE_DESCRIPTION1

◆ D2D1_EFFECT_INPUT_DESCRIPTION

◆ D2D1_IMAGE_BRUSH_PROPERTIES

◆ D2D1_INTERPOLATION_MODE

◆ D2D1_LAYER_OPTIONS1

◆ D2D1_LAYER_PARAMETERS1

◆ D2D1_MAP_OPTIONS

◆ D2D1_MAPPED_RECT

◆ D2D1_MATRIX_4X4_F

Definition at line 161 of file d2d1_1.idl.

◆ D2D1_POINT_DESCRIPTION

◆ D2D1_PRIMITIVE_BLEND

◆ D2D1_PRINT_CONTROL_PROPERTIES

◆ D2D1_PRINT_FONT_SUBSET_MODE

◆ D2D1_PROPERTY

◆ D2D1_PROPERTY_TYPE

◆ D2D1_RENDERING_CONTROLS

◆ D2D1_STROKE_STYLE_PROPERTIES1

◆ D2D1_STROKE_TRANSFORM_TYPE

◆ D2D1_SUBPROPERTY

◆ D2D1_THREADING_MODE

◆ D2D1_UNIT_MODE

◆ DWRITE_GLYPH_RUN_DESCRIPTION

◆ PD2D1_EFFECT_FACTORY

typedef HRESULT(__stdcall * PD2D1_EFFECT_FACTORY) (IUnknown **effect)

Definition at line 321 of file d2d1_1.idl.

Enumeration Type Documentation

◆ D2D1_BITMAP_OPTIONS

Enumerator
D2D1_BITMAP_OPTIONS_NONE 
D2D1_BITMAP_OPTIONS_TARGET 
D2D1_BITMAP_OPTIONS_CANNOT_DRAW 
D2D1_BITMAP_OPTIONS_CPU_READ 
D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE 
D2D1_BITMAP_OPTIONS_FORCE_DWORD 

Definition at line 86 of file d2d1_1.idl.

87{
D2D1_BITMAP_OPTIONS
Definition: d2d1_1.idl:87
@ D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE
Definition: d2d1_1.idl:92
@ D2D1_BITMAP_OPTIONS_CANNOT_DRAW
Definition: d2d1_1.idl:90
@ D2D1_BITMAP_OPTIONS_CPU_READ
Definition: d2d1_1.idl:91
@ D2D1_BITMAP_OPTIONS_NONE
Definition: d2d1_1.idl:88
@ D2D1_BITMAP_OPTIONS_FORCE_DWORD
Definition: d2d1_1.idl:93
@ D2D1_BITMAP_OPTIONS_TARGET
Definition: d2d1_1.idl:89

◆ D2D1_BUFFER_PRECISION

Enumerator
D2D1_BUFFER_PRECISION_UNKNOWN 
D2D1_BUFFER_PRECISION_8BPC_UNORM 
D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB 
D2D1_BUFFER_PRECISION_16BPC_UNORM 
D2D1_BUFFER_PRECISION_16BPC_FLOAT 
D2D1_BUFFER_PRECISION_32BPC_FLOAT 
D2D1_BUFFER_PRECISION_FORCE_DWORD 

Definition at line 105 of file d2d1_1.idl.

106{
D2D1_BUFFER_PRECISION
Definition: d2d1_1.idl:106
@ D2D1_BUFFER_PRECISION_FORCE_DWORD
Definition: d2d1_1.idl:113
@ D2D1_BUFFER_PRECISION_32BPC_FLOAT
Definition: d2d1_1.idl:112
@ D2D1_BUFFER_PRECISION_UNKNOWN
Definition: d2d1_1.idl:107
@ D2D1_BUFFER_PRECISION_8BPC_UNORM
Definition: d2d1_1.idl:108
@ D2D1_BUFFER_PRECISION_16BPC_UNORM
Definition: d2d1_1.idl:110
@ D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB
Definition: d2d1_1.idl:109
@ D2D1_BUFFER_PRECISION_16BPC_FLOAT
Definition: d2d1_1.idl:111

◆ D2D1_COLOR_INTERPOLATION_MODE

Enumerator
D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT 
D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED 
D2D1_COLOR_INTERPOLATION_MODE_FORCE_DWORD 

Definition at line 116 of file d2d1_1.idl.

117{
D2D1_COLOR_INTERPOLATION_MODE
Definition: d2d1_1.idl:117
@ D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED
Definition: d2d1_1.idl:119
@ D2D1_COLOR_INTERPOLATION_MODE_FORCE_DWORD
Definition: d2d1_1.idl:120
@ D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT
Definition: d2d1_1.idl:118

◆ D2D1_COLOR_SPACE

Enumerator
D2D1_COLOR_SPACE_CUSTOM 
D2D1_COLOR_SPACE_SRGB 
D2D1_COLOR_SPACE_SCRGB 
D2D1_COLOR_SPACE_FORCE_DWORD 

Definition at line 78 of file d2d1_1.idl.

79{
D2D1_COLOR_SPACE
Definition: d2d1_1.idl:79
@ D2D1_COLOR_SPACE_SCRGB
Definition: d2d1_1.idl:82
@ D2D1_COLOR_SPACE_FORCE_DWORD
Definition: d2d1_1.idl:83
@ D2D1_COLOR_SPACE_CUSTOM
Definition: d2d1_1.idl:80
@ D2D1_COLOR_SPACE_SRGB
Definition: d2d1_1.idl:81

◆ D2D1_COMPOSITE_MODE

Enumerator
D2D1_COMPOSITE_MODE_SOURCE_OVER 
D2D1_COMPOSITE_MODE_DESTINATION_OVER 
D2D1_COMPOSITE_MODE_SOURCE_IN 
D2D1_COMPOSITE_MODE_DESTINATION_IN 
D2D1_COMPOSITE_MODE_SOURCE_OUT 
D2D1_COMPOSITE_MODE_DESTINATION_OUT 
D2D1_COMPOSITE_MODE_SOURCE_ATOP 
D2D1_COMPOSITE_MODE_DESTINATION_ATOP 
D2D1_COMPOSITE_MODE_XOR 
D2D1_COMPOSITE_MODE_PLUS 
D2D1_COMPOSITE_MODE_SOURCE_COPY 
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY 
D2D1_COMPOSITE_MODE_MASK_INVERT 
D2D1_COMPOSITE_MODE_FORCE_DWORD 

Definition at line 134 of file d2d1_1.idl.

135{
D2D1_COMPOSITE_MODE
Definition: d2d1_1.idl:135
@ D2D1_COMPOSITE_MODE_MASK_INVERT
Definition: d2d1_1.idl:148
@ D2D1_COMPOSITE_MODE_SOURCE_OUT
Definition: d2d1_1.idl:140
@ D2D1_COMPOSITE_MODE_DESTINATION_OUT
Definition: d2d1_1.idl:141
@ D2D1_COMPOSITE_MODE_DESTINATION_OVER
Definition: d2d1_1.idl:137
@ D2D1_COMPOSITE_MODE_SOURCE_IN
Definition: d2d1_1.idl:138
@ D2D1_COMPOSITE_MODE_SOURCE_COPY
Definition: d2d1_1.idl:146
@ D2D1_COMPOSITE_MODE_SOURCE_OVER
Definition: d2d1_1.idl:136
@ D2D1_COMPOSITE_MODE_SOURCE_ATOP
Definition: d2d1_1.idl:142
@ D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY
Definition: d2d1_1.idl:147
@ D2D1_COMPOSITE_MODE_DESTINATION_ATOP
Definition: d2d1_1.idl:143
@ D2D1_COMPOSITE_MODE_FORCE_DWORD
Definition: d2d1_1.idl:149
@ D2D1_COMPOSITE_MODE_XOR
Definition: d2d1_1.idl:144
@ D2D1_COMPOSITE_MODE_DESTINATION_IN
Definition: d2d1_1.idl:139
@ D2D1_COMPOSITE_MODE_PLUS
Definition: d2d1_1.idl:145

◆ D2D1_DEVICE_CONTEXT_OPTIONS

Enumerator
D2D1_DEVICE_CONTEXT_OPTIONS_NONE 
D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS 
D2D1_DEVICE_CONTEXT_OPTIONS_FORCE_DWORD 

Definition at line 38 of file d2d1_1.idl.

39{
D2D1_DEVICE_CONTEXT_OPTIONS
Definition: d2d1_1.idl:39
@ D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS
Definition: d2d1_1.idl:41
@ D2D1_DEVICE_CONTEXT_OPTIONS_NONE
Definition: d2d1_1.idl:40
@ D2D1_DEVICE_CONTEXT_OPTIONS_FORCE_DWORD
Definition: d2d1_1.idl:42

◆ D2D1_INTERPOLATION_MODE

Enumerator
D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR 
D2D1_INTERPOLATION_MODE_LINEAR 
D2D1_INTERPOLATION_MODE_CUBIC 
D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR 
D2D1_INTERPOLATION_MODE_ANISOTROPIC 
D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC 
D2D1_INTERPOLATION_MODE_FORCE_DWORD 

Definition at line 123 of file d2d1_1.idl.

124{
@ D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR
Definition: d2d1.idl:60
@ D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR
Definition: d2d1.idl:57
@ D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC
Definition: d2d1.idl:61
@ D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC
Definition: d2d1.idl:62
@ D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR
Definition: d2d1.idl:58
@ D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC
Definition: d2d1.idl:59
D2D1_INTERPOLATION_MODE
Definition: d2d1_1.idl:124
@ D2D1_INTERPOLATION_MODE_FORCE_DWORD
Definition: d2d1_1.idl:131
@ D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC
Definition: d2d1_1.idl:130
@ D2D1_INTERPOLATION_MODE_CUBIC
Definition: d2d1_1.idl:127
@ D2D1_INTERPOLATION_MODE_ANISOTROPIC
Definition: d2d1_1.idl:129
@ D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR
Definition: d2d1_1.idl:125
@ D2D1_INTERPOLATION_MODE_LINEAR
Definition: d2d1_1.idl:126
@ D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR
Definition: d2d1_1.idl:128

◆ D2D1_LAYER_OPTIONS1

Enumerator
D2D1_LAYER_OPTIONS1_NONE 
D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND 
D2D1_LAYER_OPTIONS1_IGNORE_ALPHA 
D2D1_LAYER_OPTIONS1_FORCE_DWORD 

Definition at line 152 of file d2d1_1.idl.

153{
D2D1_LAYER_OPTIONS1
Definition: d2d1_1.idl:153
@ D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND
Definition: d2d1_1.idl:155
@ D2D1_LAYER_OPTIONS1_NONE
Definition: d2d1_1.idl:154
@ D2D1_LAYER_OPTIONS1_IGNORE_ALPHA
Definition: d2d1_1.idl:156
@ D2D1_LAYER_OPTIONS1_FORCE_DWORD
Definition: d2d1_1.idl:157

◆ D2D1_MAP_OPTIONS

Enumerator
D2D1_MAP_OPTIONS_NONE 
D2D1_MAP_OPTIONS_READ 
D2D1_MAP_OPTIONS_WRITE 
D2D1_MAP_OPTIONS_DISCARD 
D2D1_MAP_OPTIONS_FORCE_DWORD 

Definition at line 96 of file d2d1_1.idl.

97{
102 D2D1_MAP_OPTIONS_FORCE_DWORD = 0xffffffff,
D2D1_MAP_OPTIONS
Definition: d2d1_1.idl:97
@ D2D1_MAP_OPTIONS_READ
Definition: d2d1_1.idl:99
@ D2D1_MAP_OPTIONS_FORCE_DWORD
Definition: d2d1_1.idl:102
@ D2D1_MAP_OPTIONS_DISCARD
Definition: d2d1_1.idl:101
@ D2D1_MAP_OPTIONS_NONE
Definition: d2d1_1.idl:98
@ D2D1_MAP_OPTIONS_WRITE
Definition: d2d1_1.idl:100

◆ D2D1_PRIMITIVE_BLEND

Enumerator
D2D1_PRIMITIVE_BLEND_SOURCE_OVER 
D2D1_PRIMITIVE_BLEND_COPY 
D2D1_PRIMITIVE_BLEND_MIN 
D2D1_PRIMITIVE_BLEND_ADD 
D2D1_PRIMITIVE_BLEND_MAX 
D2D1_PRIMITIVE_BLEND_FORCE_DWORD 

Definition at line 53 of file d2d1_1.idl.

54{
D2D1_PRIMITIVE_BLEND
Definition: d2d1_1.idl:54
@ D2D1_PRIMITIVE_BLEND_ADD
Definition: d2d1_1.idl:58
@ D2D1_PRIMITIVE_BLEND_SOURCE_OVER
Definition: d2d1_1.idl:55
@ D2D1_PRIMITIVE_BLEND_MIN
Definition: d2d1_1.idl:57
@ D2D1_PRIMITIVE_BLEND_MAX
Definition: d2d1_1.idl:59
@ D2D1_PRIMITIVE_BLEND_FORCE_DWORD
Definition: d2d1_1.idl:60
@ D2D1_PRIMITIVE_BLEND_COPY
Definition: d2d1_1.idl:56

◆ D2D1_PRINT_FONT_SUBSET_MODE

Enumerator
D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT 
D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE 
D2D1_PRINT_FONT_SUBSET_MODE_NONE 
D2D1_PRINT_FONT_SUBSET_MODE_FORCE_DWORD 

Definition at line 70 of file d2d1_1.idl.

71{
D2D1_PRINT_FONT_SUBSET_MODE
Definition: d2d1_1.idl:71
@ D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT
Definition: d2d1_1.idl:72
@ D2D1_PRINT_FONT_SUBSET_MODE_FORCE_DWORD
Definition: d2d1_1.idl:75
@ D2D1_PRINT_FONT_SUBSET_MODE_NONE
Definition: d2d1_1.idl:74
@ D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE
Definition: d2d1_1.idl:73

◆ D2D1_PROPERTY

Enumerator
D2D1_PROPERTY_CLSID 
D2D1_PROPERTY_DISPLAYNAME 
D2D1_PROPERTY_AUTHOR 
D2D1_PROPERTY_CATEGORY 
D2D1_PROPERTY_DESCRIPTION 
D2D1_PROPERTY_INPUTS 
D2D1_PROPERTY_CACHED 
D2D1_PROPERTY_PRECISION 
D2D1_PROPERTY_MIN_INPUTS 
D2D1_PROPERTY_MAX_INPUTS 
D2D1_PROPERTY_FORCE_DWORD 

Definition at line 187 of file d2d1_1.idl.

188{
189 D2D1_PROPERTY_CLSID = 0x80000000,
190 D2D1_PROPERTY_DISPLAYNAME = 0x80000001,
191 D2D1_PROPERTY_AUTHOR = 0x80000002,
192 D2D1_PROPERTY_CATEGORY = 0x80000003,
193 D2D1_PROPERTY_DESCRIPTION = 0x80000004,
194 D2D1_PROPERTY_INPUTS = 0x80000005,
195 D2D1_PROPERTY_CACHED = 0x80000006,
196 D2D1_PROPERTY_PRECISION = 0x80000007,
197 D2D1_PROPERTY_MIN_INPUTS = 0x80000008,
198 D2D1_PROPERTY_MAX_INPUTS = 0x80000009,
199 D2D1_PROPERTY_FORCE_DWORD = 0xffffffff
D2D1_PROPERTY
Definition: d2d1_1.idl:188
@ D2D1_PROPERTY_CLSID
Definition: d2d1_1.idl:189
@ D2D1_PROPERTY_CACHED
Definition: d2d1_1.idl:195
@ D2D1_PROPERTY_MAX_INPUTS
Definition: d2d1_1.idl:198
@ D2D1_PROPERTY_PRECISION
Definition: d2d1_1.idl:196
@ D2D1_PROPERTY_MIN_INPUTS
Definition: d2d1_1.idl:197
@ D2D1_PROPERTY_DISPLAYNAME
Definition: d2d1_1.idl:190
@ D2D1_PROPERTY_DESCRIPTION
Definition: d2d1_1.idl:193
@ D2D1_PROPERTY_CATEGORY
Definition: d2d1_1.idl:192
@ D2D1_PROPERTY_FORCE_DWORD
Definition: d2d1_1.idl:199
@ D2D1_PROPERTY_INPUTS
Definition: d2d1_1.idl:194
@ D2D1_PROPERTY_AUTHOR
Definition: d2d1_1.idl:191

◆ D2D1_PROPERTY_TYPE

Enumerator
D2D1_PROPERTY_TYPE_UNKNOWN 
D2D1_PROPERTY_TYPE_STRING 
D2D1_PROPERTY_TYPE_BOOL 
D2D1_PROPERTY_TYPE_UINT32 
D2D1_PROPERTY_TYPE_INT32 
D2D1_PROPERTY_TYPE_FLOAT 
D2D1_PROPERTY_TYPE_VECTOR2 
D2D1_PROPERTY_TYPE_VECTOR3 
D2D1_PROPERTY_TYPE_VECTOR4 
D2D1_PROPERTY_TYPE_BLOB 
D2D1_PROPERTY_TYPE_IUNKNOWN 
D2D1_PROPERTY_TYPE_ENUM 
D2D1_PROPERTY_TYPE_ARRAY 
D2D1_PROPERTY_TYPE_CLSID 
D2D1_PROPERTY_TYPE_MATRIX_3X2 
D2D1_PROPERTY_TYPE_MATRIX_4X3 
D2D1_PROPERTY_TYPE_MATRIX_4X4 
D2D1_PROPERTY_TYPE_MATRIX_5X4 
D2D1_PROPERTY_TYPE_COLOR_CONTEXT 
D2D1_PROPERTY_TYPE_FORCE_DWORD 

Definition at line 163 of file d2d1_1.idl.

164{
D2D1_PROPERTY_TYPE
Definition: d2d1_1.idl:164
@ D2D1_PROPERTY_TYPE_BLOB
Definition: d2d1_1.idl:174
@ D2D1_PROPERTY_TYPE_CLSID
Definition: d2d1_1.idl:178
@ D2D1_PROPERTY_TYPE_MATRIX_5X4
Definition: d2d1_1.idl:182
@ D2D1_PROPERTY_TYPE_ENUM
Definition: d2d1_1.idl:176
@ D2D1_PROPERTY_TYPE_BOOL
Definition: d2d1_1.idl:167
@ D2D1_PROPERTY_TYPE_FORCE_DWORD
Definition: d2d1_1.idl:184
@ D2D1_PROPERTY_TYPE_MATRIX_3X2
Definition: d2d1_1.idl:179
@ D2D1_PROPERTY_TYPE_MATRIX_4X4
Definition: d2d1_1.idl:181
@ D2D1_PROPERTY_TYPE_UINT32
Definition: d2d1_1.idl:168
@ D2D1_PROPERTY_TYPE_UNKNOWN
Definition: d2d1_1.idl:165
@ D2D1_PROPERTY_TYPE_MATRIX_4X3
Definition: d2d1_1.idl:180
@ D2D1_PROPERTY_TYPE_STRING
Definition: d2d1_1.idl:166
@ D2D1_PROPERTY_TYPE_VECTOR2
Definition: d2d1_1.idl:171
@ D2D1_PROPERTY_TYPE_FLOAT
Definition: d2d1_1.idl:170
@ D2D1_PROPERTY_TYPE_VECTOR3
Definition: d2d1_1.idl:172
@ D2D1_PROPERTY_TYPE_IUNKNOWN
Definition: d2d1_1.idl:175
@ D2D1_PROPERTY_TYPE_ARRAY
Definition: d2d1_1.idl:177
@ D2D1_PROPERTY_TYPE_INT32
Definition: d2d1_1.idl:169
@ D2D1_PROPERTY_TYPE_VECTOR4
Definition: d2d1_1.idl:173
@ D2D1_PROPERTY_TYPE_COLOR_CONTEXT
Definition: d2d1_1.idl:183

◆ D2D1_STROKE_TRANSFORM_TYPE

Enumerator
D2D1_STROKE_TRANSFORM_TYPE_NORMAL 
D2D1_STROKE_TRANSFORM_TYPE_FIXED 
D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE 
D2D1_STROKE_TRANSFORM_TYPE_FORCE_DWORD 

Definition at line 45 of file d2d1_1.idl.

46{
D2D1_STROKE_TRANSFORM_TYPE
Definition: d2d1_1.idl:46
@ D2D1_STROKE_TRANSFORM_TYPE_FORCE_DWORD
Definition: d2d1_1.idl:50
@ D2D1_STROKE_TRANSFORM_TYPE_FIXED
Definition: d2d1_1.idl:48
@ D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE
Definition: d2d1_1.idl:49
@ D2D1_STROKE_TRANSFORM_TYPE_NORMAL
Definition: d2d1_1.idl:47

◆ D2D1_SUBPROPERTY

Enumerator
D2D1_SUBPROPERTY_DISPLAYNAME 
D2D1_SUBPROPERTY_ISREADONLY 
D2D1_SUBPROPERTY_MIN 
D2D1_SUBPROPERTY_MAX 
D2D1_SUBPROPERTY_DEFAULT 
D2D1_SUBPROPERTY_FIELDS 
D2D1_SUBPROPERTY_INDEX 
D2D1_SUBPROPERTY_FORCE_DWORD 

Definition at line 202 of file d2d1_1.idl.

203{
204 D2D1_SUBPROPERTY_DISPLAYNAME = 0x80000000,
205 D2D1_SUBPROPERTY_ISREADONLY = 0x80000001,
206 D2D1_SUBPROPERTY_MIN = 0x80000002,
207 D2D1_SUBPROPERTY_MAX = 0x80000003,
208 D2D1_SUBPROPERTY_DEFAULT = 0x80000004,
209 D2D1_SUBPROPERTY_FIELDS = 0x80000005,
210 D2D1_SUBPROPERTY_INDEX = 0x80000006,
D2D1_SUBPROPERTY
Definition: d2d1_1.idl:203
@ D2D1_SUBPROPERTY_FORCE_DWORD
Definition: d2d1_1.idl:211
@ D2D1_SUBPROPERTY_DEFAULT
Definition: d2d1_1.idl:208
@ D2D1_SUBPROPERTY_MIN
Definition: d2d1_1.idl:206
@ D2D1_SUBPROPERTY_MAX
Definition: d2d1_1.idl:207
@ D2D1_SUBPROPERTY_FIELDS
Definition: d2d1_1.idl:209
@ D2D1_SUBPROPERTY_INDEX
Definition: d2d1_1.idl:210
@ D2D1_SUBPROPERTY_ISREADONLY
Definition: d2d1_1.idl:205
@ D2D1_SUBPROPERTY_DISPLAYNAME
Definition: d2d1_1.idl:204

◆ D2D1_THREADING_MODE

Enumerator
D2D1_THREADING_MODE_SINGLE_THREADED 
D2D1_THREADING_MODE_MULTI_THREADED 
D2D1_THREADING_MODE_FORCE_DWORD 

Definition at line 214 of file d2d1_1.idl.

215{
@ D2D1_FACTORY_TYPE_SINGLE_THREADED
Definition: d2d1.idl:78
@ D2D1_FACTORY_TYPE_MULTI_THREADED
Definition: d2d1.idl:79
D2D1_THREADING_MODE
Definition: d2d1_1.idl:215
@ D2D1_THREADING_MODE_FORCE_DWORD
Definition: d2d1_1.idl:218
@ D2D1_THREADING_MODE_SINGLE_THREADED
Definition: d2d1_1.idl:216
@ D2D1_THREADING_MODE_MULTI_THREADED
Definition: d2d1_1.idl:217

◆ D2D1_UNIT_MODE

Enumerator
D2D1_UNIT_MODE_DIPS 
D2D1_UNIT_MODE_PIXELS 
D2D1_UNIT_MODE_FORCE_DWORD 

Definition at line 63 of file d2d1_1.idl.

64{
67 D2D1_UNIT_MODE_FORCE_DWORD = 0xffffffff,
D2D1_UNIT_MODE
Definition: d2d1_1.idl:64
@ D2D1_UNIT_MODE_PIXELS
Definition: d2d1_1.idl:66
@ D2D1_UNIT_MODE_DIPS
Definition: d2d1_1.idl:65
@ D2D1_UNIT_MODE_FORCE_DWORD
Definition: d2d1_1.idl:67

Function Documentation

◆ D2D1ConvertColorSpace()

D2D1_COLOR_F __stdcall D2D1ConvertColorSpace ( D2D1_COLOR_SPACE  src_colour_space,
D2D1_COLOR_SPACE  dst_colour_space,
const D2D1_COLOR_F *  colour 
)

Definition at line 1536 of file factory.c.

1538{
1540
1541 TRACE("src_colour_space %#x, dst_colour_space %#x, colour %s.\n",
1542 src_colour_space, dst_colour_space, debug_d2d_color_f(colour));
1543
1544 if (src_colour_space == D2D1_COLOR_SPACE_CUSTOM || dst_colour_space == D2D1_COLOR_SPACE_CUSTOM)
1545 {
1546 ret.r = 0.0f;
1547 ret.g = 0.0f;
1548 ret.b = 0.0f;
1549 ret.a = 0.0f;
1550
1551 return ret;
1552 }
1553
1554 if (src_colour_space == dst_colour_space)
1555 return *colour;
1556
1557 if (src_colour_space == D2D1_COLOR_SPACE_SRGB && dst_colour_space == D2D1_COLOR_SPACE_SCRGB)
1558 {
1562 ret.a = colour->a;
1563
1564 return ret;
1565 }
1566
1567 if (src_colour_space == D2D1_COLOR_SPACE_SCRGB && dst_colour_space == D2D1_COLOR_SPACE_SRGB)
1568 {
1569 ret.r = srgb_transfer_function(colour->r);
1570 ret.g = srgb_transfer_function(colour->g);
1571 ret.b = srgb_transfer_function(colour->b);
1572 ret.a = colour->a;
1573
1574 return ret;
1575 }
1576
1577 FIXME("Unhandled conversion from source colour space %#x to destination colour space %#x.\n",
1578 src_colour_space, dst_colour_space);
1579 ret.r = 0.0f;
1580 ret.g = 0.0f;
1581 ret.b = 0.0f;
1582 ret.a = 0.0f;
1583
1584 return ret;
1585}
#define FIXME(fmt,...)
Definition: precomp.h:53
static const char * debug_d2d_color_f(const D2D1_COLOR_F *colour)
Definition: d2d1_private.h:986
static float srgb_transfer_function(float x)
Definition: factory.c:1512
static float srgb_inverse_transfer_function(float x)
Definition: factory.c:1524
return ret
Definition: mutex.c:147
#define TRACE(s)
Definition: solgame.cpp:4

◆ D2D1CreateDevice()

HRESULT __stdcall D2D1CreateDevice ( IDXGIDevice *  dxgi_device,
const D2D1_CREATION_PROPERTIES *  creation_properties,
ID2D1Device **  device 
)

Definition at line 1444 of file factory.c.

1446{
1447 D2D1_CREATION_PROPERTIES default_properties = {0};
1448 D2D1_FACTORY_OPTIONS factory_options;
1450 ID3D11Device *d3d_device;
1452 HRESULT hr;
1453
1454 TRACE("dxgi_device %p, properties %p, device %p.\n", dxgi_device, properties, device);
1455
1456 if (!properties)
1457 {
1458 if (SUCCEEDED(IDXGIDevice_QueryInterface(dxgi_device, &IID_ID3D11Device, (void **)&d3d_device)))
1459 {
1460 if (!(ID3D11Device_GetCreationFlags(d3d_device) & D3D11_CREATE_DEVICE_SINGLETHREADED))
1462 ID3D11Device_Release(d3d_device);
1463 }
1464 properties = &default_properties;
1465 }
1466
1467 switch (properties->threadingMode)
1468 {
1471 break;
1474 break;
1475 default:
1476 return E_INVALIDARG;
1477 }
1478
1479 factory_options.debugLevel = properties->debugLevel;
1480 if (FAILED(hr = D2D1CreateFactory(factory_type, &IID_ID2D1Factory1, &factory_options, (void **)&factory)))
1481 return hr;
1482
1483 hr = ID2D1Factory1_CreateDevice(factory, dxgi_device, device);
1484 ID2D1Factory1_Release(factory);
1485 return hr;
1486}
D2D1_FACTORY_TYPE
Definition: d2d1.idl:77
#define E_INVALIDARG
Definition: ddrawi.h:101
HRESULT hr
Definition: delayimp.cpp:582
HRESULT WINAPI D2D1CreateFactory(D2D1_FACTORY_TYPE factory_type, REFIID iid, const D2D1_FACTORY_OPTIONS *factory_options, void **factory)
Definition: factory.c:1363
factory_type
Definition: factory.h:22
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
D2D1_THREADING_MODE threadingMode
Definition: d2d1_1.idl:223
D2D1_DEBUG_LEVEL debugLevel
Definition: d2d1.idl:306
Definition: devices.h:37
Definition: main.c:439

◆ D2D1SinCos()

void __stdcall D2D1SinCos ( float  angle,
float *  s,
float *  c 
)

Definition at line 1488 of file factory.c.

1489{
1490 TRACE("angle %.8e, s %p, c %p.\n", angle, s, c);
1491
1492 *s = sinf(angle);
1493 *c = cosf(angle);
1494}
_ACRTIMP float __cdecl cosf(float)
Definition: cosf.c:13
_ACRTIMP float __cdecl sinf(float)
Definition: sinf.c:13
GLdouble s
Definition: gl.h:2039
const GLubyte * c
Definition: glext.h:8905
GLfloat angle
Definition: glext.h:10853

◆ D2D1Tan()

float __stdcall D2D1Tan ( float  angle)

Definition at line 1496 of file factory.c.

1497{
1498 TRACE("angle %.8e.\n", angle);
1499
1500 return tanf(angle);
1501}
_ACRTIMP float __cdecl tanf(float)
Definition: tanf.c:72

◆ D2D1Vec3Length()

float __stdcall D2D1Vec3Length ( float  x,
float  y,
float  z 
)

Definition at line 1503 of file factory.c.

1504{
1505 TRACE("x %.8e, y %.8e, z %.8e.\n", x, y, z);
1506
1507 return sqrtf(x * x + y * y + z * z);
1508}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLdouble GLdouble z
Definition: glext.h:5874
#define sqrtf(x)
Definition: mymath.h:59