Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
7ef5661d
Commit
7ef5661d
authored
Jul 29, 2012
by
Nikolay Sivov
Committed by
Alexandre Julliard
Jul 30, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Added dwrite.idl file.
parent
65f41849
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1439 additions
and
1 deletion
+1439
-1
.gitignore
.gitignore
+1
-0
dwrite.spec
dlls/dwrite/dwrite.spec
+1
-1
main.c
dlls/dwrite/main.c
+12
-0
Makefile.in
include/Makefile.in
+2
-0
dcommon.h
include/dcommon.h
+29
-0
dwrite.idl
include/dwrite.idl
+1394
-0
No files found.
.gitignore
View file @
7ef5661d
...
...
@@ -172,6 +172,7 @@ include/dispex.h
include/docobj.h
include/docobjectservice.h
include/downloadmgr.h
include/dwrite.h
include/dxgi.h
include/endpointvolume.h
include/exdisp.h
...
...
dlls/dwrite/dwrite.spec
View file @
7ef5661d
@ st
ub DWriteCreateFactory
@ st
dcall DWriteCreateFactory(long ptr ptr)
dlls/dwrite/main.c
View file @
7ef5661d
...
...
@@ -23,6 +23,12 @@
#include "windef.h"
#include "winbase.h"
#include "dwrite.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
dwrite
);
BOOL
WINAPI
DllMain
(
HINSTANCE
hinstDLL
,
DWORD
reason
,
LPVOID
reserved
)
{
switch
(
reason
)
...
...
@@ -35,3 +41,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID reserved)
}
return
TRUE
;
}
HRESULT
WINAPI
DWriteCreateFactory
(
DWRITE_FACTORY_TYPE
type
,
REFIID
riid
,
IUnknown
**
factory
)
{
FIXME
(
"(%d, %s, %p): stub
\n
"
,
type
,
debugstr_guid
(
riid
),
factory
);
return
E_NOTIMPL
;
}
include/Makefile.in
View file @
7ef5661d
...
...
@@ -32,6 +32,7 @@ PUBLIC_IDL_H_SRCS = \
docobj.idl
\
docobjectservice.idl
\
downloadmgr.idl
\
dwrite.idl
\
dxgi.idl
\
endpointvolume.idl
\
exdisp.idl
\
...
...
@@ -208,6 +209,7 @@ SRCDIR_INCLUDES = \
dbt.h
\
dciddi.h
\
dciman.h
\
dcommon.h
\
dde.h
\
dde.rh
\
ddeml.h
\
...
...
include/dcommon.h
0 → 100644
View file @
7ef5661d
/*
* Copyright 2012 Nikolay Sivov for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_DCOMMON_H
#define __WINE_DCOMMON_H
typedef
enum
DWRITE_MEASURING_MODE
{
DWRITE_MEASURING_MODE_NATURAL
,
DWRITE_MEASURING_MODE_GDI_CLASSIC
,
DWRITE_MEASURING_MODE_GDI_NATURAL
}
DWRITE_MEASURING_MODE
;
#endif
/* __WINE_DCOMMON_H */
include/dwrite.idl
0 → 100644
View file @
7ef5661d
/*
*
Copyright
2012
Nikolay
Sivov
for
CodeWeavers
*
*
This
library
is
free
software
; you can redistribute it and/or
*
modify
it
under
the
terms
of
the
GNU
Lesser
General
Public
*
License
as
published
by
the
Free
Software
Foundation
; either
*
version
2.1
of
the
License
,
or
(
at
your
option
)
any
later
version
.
*
*
This
library
is
distributed
in
the
hope
that
it
will
be
useful
,
*
but
WITHOUT
ANY
WARRANTY
; without even the implied warranty of
*
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
GNU
*
Lesser
General
Public
License
for
more
details
.
*
*
You
should
have
received
a
copy
of
the
GNU
Lesser
General
Public
*
License
along
with
this
library
; if not, write to the Free Software
*
Foundation
,
Inc
.
,
51
Franklin
St
,
Fifth
Floor
,
Boston
,
MA
02110
-
1301
,
USA
*/
import
"unknwn.idl"
;
import
"dcommon.h"
;
interface
IDWriteFactory
;
interface
IDWriteFontCollection
;
interface
IDWriteFontFamily
;
interface
IDWriteFontFace
;
interface
IDWriteInlineObject
;
interface
ID2D1SimplifiedGeometrySink
;
typedef
ID2D1SimplifiedGeometrySink
IDWriteGeometrySink
;
cpp_quote
(
"#ifndef _WINDEF_"
)
/*
already
defined
in
windef
.
h
but
needed
for
WIDL
*/
typedef
void
*
HMONITOR
;
cpp_quote
(
"#endif /* _WINDEF_ */"
)
cpp_quote
(
"#ifdef WINE_NO_UNICODE_MACROS"
)
cpp_quote
(
"#undef GetGlyphIndices"
)
cpp_quote
(
"#endif"
)
typedef
enum
DWRITE_FACTORY_TYPE
{
DWRITE_FACTORY_TYPE_SHARED
,
DWRITE_FACTORY_TYPE_ISOLATED
}
DWRITE_FACTORY_TYPE
;
typedef
enum
DWRITE_FONT_FILE_TYPE
{
DWRITE_FONT_FILE_TYPE_UNKNOWN
,
DWRITE_FONT_FILE_TYPE_CFF
,
DWRITE_FONT_FILE_TYPE_TRUETYPE
,
DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION
,
DWRITE_FONT_FILE_TYPE_TYPE1_PFM
,
DWRITE_FONT_FILE_TYPE_TYPE1_PFB
,
DWRITE_FONT_FILE_TYPE_VECTOR
,
DWRITE_FONT_FILE_TYPE_BITMAP
}
DWRITE_FONT_FILE_TYPE
;
typedef
enum
DWRITE_FONT_FACE_TYPE
{
DWRITE_FONT_FACE_TYPE_CFF
,
DWRITE_FONT_FACE_TYPE_TRUETYPE
,
DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION
,
DWRITE_FONT_FACE_TYPE_TYPE1
,
DWRITE_FONT_FACE_TYPE_VECTOR
,
DWRITE_FONT_FACE_TYPE_BITMAP
,
DWRITE_FONT_FACE_TYPE_UNKNOWN
}
DWRITE_FONT_FACE_TYPE
;
typedef
enum
DWRITE_FONT_WEIGHT
{
DWRITE_FONT_WEIGHT_THIN
=
100
,
DWRITE_FONT_WEIGHT_EXTRA_LIGHT
=
200
,
DWRITE_FONT_WEIGHT_ULTRA_LIGHT
=
200
,
DWRITE_FONT_WEIGHT_LIGHT
=
300
,
DWRITE_FONT_WEIGHT_NORMAL
=
400
,
DWRITE_FONT_WEIGHT_REGULAR
=
400
,
DWRITE_FONT_WEIGHT_MEDIUM
=
500
,
DWRITE_FONT_WEIGHT_DEMI_BOLD
=
600
,
DWRITE_FONT_WEIGHT_SEMI_BOLD
=
600
,
DWRITE_FONT_WEIGHT_BOLD
=
700
,
DWRITE_FONT_WEIGHT_EXTRA_BOLD
=
800
,
DWRITE_FONT_WEIGHT_ULTRA_BOLD
=
800
,
DWRITE_FONT_WEIGHT_BLACK
=
900
,
DWRITE_FONT_WEIGHT_HEAVY
=
900
,
DWRITE_FONT_WEIGHT_EXTRA_BLACK
=
950
,
DWRITE_FONT_WEIGHT_ULTRA_BLACK
=
950
}
DWRITE_FONT_WEIGHT
;
typedef
enum
DWRITE_FONT_STRETCH
{
DWRITE_FONT_STRETCH_UNDEFINED
=
0
,
DWRITE_FONT_STRETCH_ULTRA_CONDENSED
=
1
,
DWRITE_FONT_STRETCH_EXTRA_CONDENSED
=
2
,
DWRITE_FONT_STRETCH_CONDENSED
=
3
,
DWRITE_FONT_STRETCH_SEMI_CONDENSED
=
4
,
DWRITE_FONT_STRETCH_NORMAL
=
5
,
DWRITE_FONT_STRETCH_MEDIUM
=
5
,
DWRITE_FONT_STRETCH_SEMI_EXPANDED
=
6
,
DWRITE_FONT_STRETCH_EXPANDED
=
7
,
DWRITE_FONT_STRETCH_EXTRA_EXPANDED
=
8
,
DWRITE_FONT_STRETCH_ULTRA_EXPANDED
=
9
}
DWRITE_FONT_STRETCH
;
typedef
enum
DWRITE_FONT_STYLE
{
DWRITE_FONT_STYLE_NORMAL
,
DWRITE_FONT_STYLE_OBLIQUE
,
DWRITE_FONT_STYLE_ITALIC
}
DWRITE_FONT_STYLE
;
typedef
enum
DWRITE_INFORMATIONAL_STRING_ID
{
DWRITE_INFORMATIONAL_STRING_NONE
,
DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE
,
DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS
,
DWRITE_INFORMATIONAL_STRING_TRADEMARK
,
DWRITE_INFORMATIONAL_STRING_MANUFACTURER
,
DWRITE_INFORMATIONAL_STRING_DESIGNER
,
DWRITE_INFORMATIONAL_STRING_DESIGNER_URL
,
DWRITE_INFORMATIONAL_STRING_DESCRIPTION
,
DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL
,
DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION
,
DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL
,
DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES
,
DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES
,
DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES
,
DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES
,
DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT
}
DWRITE_INFORMATIONAL_STRING_ID
;
typedef
enum
DWRITE_FONT_SIMULATIONS
{
DWRITE_FONT_SIMULATIONS_NONE
=
0
x0000
,
DWRITE_FONT_SIMULATIONS_BOLD
=
0
x0001
,
DWRITE_FONT_SIMULATIONS_OBLIQUE
=
0
x0002
}
DWRITE_FONT_SIMULATIONS
;
typedef
enum
DWRITE_PIXEL_GEOMETRY
{
DWRITE_PIXEL_GEOMETRY_FLAT
,
DWRITE_PIXEL_GEOMETRY_RGB
,
DWRITE_PIXEL_GEOMETRY_BGR
}
DWRITE_PIXEL_GEOMETRY
;
typedef
enum
DWRITE_RENDERING_MODE
{
DWRITE_RENDERING_MODE_DEFAULT
,
DWRITE_RENDERING_MODE_ALIASED
,
DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC
,
DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL
,
DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL
,
DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC
,
DWRITE_RENDERING_MODE_OUTLINE
}
DWRITE_RENDERING_MODE
;
typedef
enum
DWRITE_TEXT_ALIGNMENT
{
DWRITE_TEXT_ALIGNMENT_LEADING
,
DWRITE_TEXT_ALIGNMENT_TRAILING
,
DWRITE_TEXT_ALIGNMENT_CENTER
}
DWRITE_TEXT_ALIGNMENT
;
typedef
enum
DWRITE_PARAGRAPH_ALIGNMENT
{
DWRITE_PARAGRAPH_ALIGNMENT_NEAR
,
DWRITE_PARAGRAPH_ALIGNMENT_FAR
,
DWRITE_PARAGRAPH_ALIGNMENT_CENTER
}
DWRITE_PARAGRAPH_ALIGNMENT
;
typedef
enum
DWRITE_WORD_WRAPPING
{
DWRITE_WORD_WRAPPING_WRAP
,
DWRITE_WORD_WRAPPING_NO_WRAP
}
DWRITE_WORD_WRAPPING
;
typedef
enum
DWRITE_READING_DIRECTION
{
DWRITE_READING_DIRECTION_LEFT_TO_RIGHT
,
DWRITE_READING_DIRECTION_RIGHT_TO_LEFT
}
DWRITE_READING_DIRECTION
;
typedef
enum
DWRITE_FLOW_DIRECTION
{
DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM
}
DWRITE_FLOW_DIRECTION
;
typedef
enum
DWRITE_TRIMMING_GRANULARITY
{
DWRITE_TRIMMING_GRANULARITY_NONE
,
DWRITE_TRIMMING_GRANULARITY_CHARACTER
,
DWRITE_TRIMMING_GRANULARITY_WORD
}
DWRITE_TRIMMING_GRANULARITY
;
typedef
enum
DWRITE_BREAK_CONDITION
{
DWRITE_BREAK_CONDITION_NEUTRAL
,
DWRITE_BREAK_CONDITION_CAN_BREAK
,
DWRITE_BREAK_CONDITION_MAY_NOT_BREAK
,
DWRITE_BREAK_CONDITION_MUST_BREAK
}
DWRITE_BREAK_CONDITION
;
typedef
enum
DWRITE_LINE_SPACING_METHOD
{
DWRITE_LINE_SPACING_METHOD_DEFAULT
,
DWRITE_LINE_SPACING_METHOD_UNIFORM
}
DWRITE_LINE_SPACING_METHOD
;
typedef
enum
DWRITE_FONT_FEATURE_TAG
{
DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS
=
0
x63726661
,
/*
'afrc'
*/
DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS
=
0
x63703263
,
/*
'c2pc'
*/
DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS
=
0
x63733263
,
/*
'c2sc'
*/
DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES
=
0
x746c6163
,
/*
'calt'
*/
DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS
=
0
x65736163
,
/*
'case'
*/
DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION
=
0
x706d6363
,
/*
'ccmp'
*/
DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES
=
0
x67696c63
,
/*
'clig'
*/
DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING
=
0
x70737063
,
/*
'cpsp'
*/
DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH
=
0
x68777363
,
/*
'cswh'
*/
DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING
=
0
x73727563
,
/*
'curs'
*/
DWRITE_FONT_FEATURE_TAG_DEFAULT
=
0
x746c6664
,
/*
'dflt'
*/
DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES
=
0
x67696c64
,
/*
'dlig'
*/
DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS
=
0
x74707865
,
/*
'expt'
*/
DWRITE_FONT_FEATURE_TAG_FRACTIONS
=
0
x63617266
,
/*
'frac'
*/
DWRITE_FONT_FEATURE_TAG_FULL_WIDTH
=
0
x64697766
,
/*
'fwid'
*/
DWRITE_FONT_FEATURE_TAG_HALF_FORMS
=
0
x666c6168
,
/*
'half'
*/
DWRITE_FONT_FEATURE_TAG_HALANT_FORMS
=
0
x6e6c6168
,
/*
'haln'
*/
DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH
=
0
x746c6168
,
/*
'halt'
*/
DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS
=
0
x74736968
,
/*
'hist'
*/
DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES
=
0
x616e6b68
,
/*
'hkna'
*/
DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES
=
0
x67696c68
,
/*
'hlig'
*/
DWRITE_FONT_FEATURE_TAG_HALF_WIDTH
=
0
x64697768
,
/*
'hwid'
*/
DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS
=
0
x6f6a6f68
,
/*
'hojo'
*/
DWRITE_FONT_FEATURE_TAG_JIS04_FORMS
=
0
x3430706a
,
/*
'jp04'
*/
DWRITE_FONT_FEATURE_TAG_JIS78_FORMS
=
0
x3837706a
,
/*
'jp78'
*/
DWRITE_FONT_FEATURE_TAG_JIS83_FORMS
=
0
x3338706a
,
/*
'jp83'
*/
DWRITE_FONT_FEATURE_TAG_JIS90_FORMS
=
0
x3039706a
,
/*
'jp90'
*/
DWRITE_FONT_FEATURE_TAG_KERNING
=
0
x6e72656b
,
/*
'kern'
*/
DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES
=
0
x6167696c
,
/*
'liga'
*/
DWRITE_FONT_FEATURE_TAG_LINING_FIGURES
=
0
x6d756e6c
,
/*
'lnum'
*/
DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS
=
0
x6c636f6c
,
/*
'locl'
*/
DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING
=
0
x6b72616d
,
/*
'mark'
*/
DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK
=
0
x6b72676d
,
/*
'mgrk'
*/
DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING
=
0
x6b6d6b6d
,
/*
'mkmk'
*/
DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS
=
0
x746c616e
,
/*
'nalt'
*/
DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS
=
0
x6b636c6e
,
/*
'nlck'
*/
DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES
=
0
x6d756e6f
,
/*
'onum'
*/
DWRITE_FONT_FEATURE_TAG_ORDINALS
=
0
x6e64726f
,
/*
'ordn'
*/
DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH
=
0
x746c6170
,
/*
'palt'
*/
DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS
=
0
x70616370
,
/*
'pcap'
*/
DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES
=
0
x6d756e70
,
/*
'pnum'
*/
DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS
=
0
x64697770
,
/*
'pwid'
*/
DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS
=
0
x64697771
,
/*
'qwid'
*/
DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES
=
0
x67696c72
,
/*
'rlig'
*/
DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS
=
0
x79627572
,
/*
'ruby'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES
=
0
x746c6173
,
/*
'salt'
*/
DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS
=
0
x666e6973
,
/*
'sinf'
*/
DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS
=
0
x70636d73
,
/*
'smcp'
*/
DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS
=
0
x6c706d73
,
/*
'smpl'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1
=
0
x31307373
,
/*
'ss01'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2
=
0
x32307373
,
/*
'ss02'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3
=
0
x33307373
,
/*
'ss03'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4
=
0
x34307373
,
/*
'ss04'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5
=
0
x35307373
,
/*
'ss05'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6
=
0
x36307373
,
/*
'ss06'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7
=
0
x37307373
,
/*
'ss07'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8
=
0
x38307373
,
/*
'ss08'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9
=
0
x39307373
,
/*
'ss09'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10
=
0
x30317373
,
/*
'ss10'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11
=
0
x31317373
,
/*
'ss11'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12
=
0
x32317373
,
/*
'ss12'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13
=
0
x33317373
,
/*
'ss13'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14
=
0
x34317373
,
/*
'ss14'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15
=
0
x35317373
,
/*
'ss15'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16
=
0
x36317373
,
/*
'ss16'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17
=
0
x37317373
,
/*
'ss17'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18
=
0
x38317373
,
/*
'ss18'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19
=
0
x39317373
,
/*
'ss19'
*/
DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20
=
0
x30327373
,
/*
'ss20'
*/
DWRITE_FONT_FEATURE_TAG_SUBSCRIPT
=
0
x73627573
,
/*
'subs'
*/
DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT
=
0
x73707573
,
/*
'sups'
*/
DWRITE_FONT_FEATURE_TAG_SWASH
=
0
x68737773
,
/*
'swsh'
*/
DWRITE_FONT_FEATURE_TAG_TITLING
=
0
x6c746974
,
/*
'titl'
*/
DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS
=
0
x6d616e74
,
/*
'tnam'
*/
DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES
=
0
x6d756e74
,
/*
'tnum'
*/
DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS
=
0
x64617274
,
/*
'trad'
*/
DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS
=
0
x64697774
,
/*
'twid'
*/
DWRITE_FONT_FEATURE_TAG_UNICASE
=
0
x63696e75
,
/*
'unic'
*/
DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO
=
0
x6f72657a
,
/*
'zero'
*/
}
DWRITE_FONT_FEATURE_TAG
;
typedef
enum
DWRITE_SCRIPT_SHAPES
{
DWRITE_SCRIPT_SHAPES_DEFAULT
=
0
,
DWRITE_SCRIPT_SHAPES_NO_VISUAL
=
1
}
DWRITE_SCRIPT_SHAPES
;
typedef
enum
DWRITE_NUMBER_SUBSTITUTION_METHOD
{
DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE
,
DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL
,
DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE
,
DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL
,
DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL
}
DWRITE_NUMBER_SUBSTITUTION_METHOD
;
typedef
enum
DWRITE_TEXTURE_TYPE
{
DWRITE_TEXTURE_ALIASED_1x1
,
DWRITE_TEXTURE_CLEARTYPE_3x1
}
DWRITE_TEXTURE_TYPE
;
typedef
struct
DWRITE_FONT_METRICS
{
UINT16
designUnitsPerEm
;
UINT16
ascent
;
UINT16
descent
;
INT16
lineGap
;
UINT16
capHeight
;
UINT16
xHeight
;
INT16
underlinePosition
;
UINT16
underlineThickness
;
INT16
strikethroughPosition
;
UINT16
strikethroughThickness
;
}
DWRITE_FONT_METRICS
;
typedef
struct
DWRITE_GLYPH_METRICS
{
INT32
leftSideBearing
;
UINT32
advanceWidth
;
INT32
rightSideBearing
;
INT32
topSideBearing
;
UINT32
advanceHeight
;
INT32
bottomSideBearing
;
INT32
verticalOriginY
;
}
DWRITE_GLYPH_METRICS
;
typedef
struct
DWRITE_GLYPH_OFFSET
{
FLOAT
advanceOffset
;
FLOAT
ascenderOffset
;
}
DWRITE_GLYPH_OFFSET
;
typedef
struct
DWRITE_MATRIX
{
FLOAT
m11
;
FLOAT
m12
;
FLOAT
m21
;
FLOAT
m22
;
FLOAT
dx
;
FLOAT
dy
;
}
DWRITE_MATRIX
;
typedef
struct
DWRITE_TRIMMING
{
DWRITE_TRIMMING_GRANULARITY
granularity
;
UINT32
delimiter
;
UINT32
delimiterCount
;
}
DWRITE_TRIMMING
;
typedef
struct
DWRITE_GLYPH_RUN
{
IDWriteFontFace
*
fontFace
;
FLOAT
fontEmSize
;
UINT32
glyphCount
;
UINT16
const
*
glyphIndices
;
FLOAT
const
*
glyphAdvances
;
DWRITE_GLYPH_OFFSET
const
*
glyphOffsets
;
BOOL
isSideways
;
UINT32
bidiLevel
;
}
DWRITE_GLYPH_RUN
;
typedef
struct
DWRITE_GLYPH_RUN_DESCRIPTION
{
WCHAR
const
*
localeName
;
WCHAR
const
*
string
;
UINT32
stringLength
;
UINT16
const
*
clusterMap
;
UINT32
textPosition
;
}
DWRITE_GLYPH_RUN_DESCRIPTION
;
typedef
struct
DWRITE_UNDERLINE
{
FLOAT
width
;
FLOAT
thickness
;
FLOAT
offset
;
FLOAT
runHeight
;
DWRITE_READING_DIRECTION
readingDirection
;
DWRITE_FLOW_DIRECTION
flowDirection
;
WCHAR
const
*
localeName
;
DWRITE_MEASURING_MODE
measuringMode
;
}
DWRITE_UNDERLINE
;
typedef
struct
DWRITE_STRIKETHROUGH
{
FLOAT
width
;
FLOAT
thickness
;
FLOAT
offset
;
DWRITE_READING_DIRECTION
readingDirection
;
DWRITE_FLOW_DIRECTION
flowDirection
;
WCHAR
const
*
localeName
;
DWRITE_MEASURING_MODE
measuringMode
;
}
DWRITE_STRIKETHROUGH
;
typedef
struct
DWRITE_INLINE_OBJECT_METRICS
{
FLOAT
width
;
FLOAT
height
;
FLOAT
baseline
;
BOOL
supportsSideways
;
}
DWRITE_INLINE_OBJECT_METRICS
;
typedef
struct
DWRITE_OVERHANG_METRICS
{
FLOAT
left
;
FLOAT
top
;
FLOAT
right
;
FLOAT
bottom
;
}
DWRITE_OVERHANG_METRICS
;
typedef
struct
DWRITE_FONT_FEATURE
{
DWRITE_FONT_FEATURE_TAG
nameTag
;
UINT32
parameter
;
}
DWRITE_FONT_FEATURE
;
typedef
struct
DWRITE_TEXT_RANGE
{
UINT32
startPosition
;
UINT32
length
;
}
DWRITE_TEXT_RANGE
;
typedef
struct
DWRITE_LINE_METRICS
{
UINT32
length
;
UINT32
trailingWhitespaceLength
;
UINT32
newlineLength
;
FLOAT
height
;
FLOAT
baseline
;
BOOL
isTrimmed
;
}
DWRITE_LINE_METRICS
;
typedef
struct
DWRITE_TEXT_METRICS
{
FLOAT
left
;
FLOAT
top
;
FLOAT
width
;
FLOAT
widthIncludingTrailingWhitespace
;
FLOAT
height
;
FLOAT
layoutWidth
;
FLOAT
layoutHeight
;
UINT32
maxBidiReorderingDepth
;
UINT32
lineCount
;
}
DWRITE_TEXT_METRICS
;
typedef
struct
DWRITE_CLUSTER_METRICS
{
FLOAT
width
;
UINT16
length
;
UINT16
canWrapLineAfter
:
1
;
UINT16
isWhitespace
:
1
;
UINT16
isNewline
:
1
;
UINT16
isSoftHyphen
:
1
;
UINT16
isRightToLeft
:
1
;
UINT16
padding
:
11
;
}
DWRITE_CLUSTER_METRICS
;
typedef
struct
DWRITE_HIT_TEST_METRICS
{
UINT32
textPosition
;
UINT32
length
;
FLOAT
left
;
FLOAT
top
;
FLOAT
width
;
FLOAT
height
;
UINT32
bidiLevel
;
BOOL
isText
;
BOOL
isTrimmed
;
}
DWRITE_HIT_TEST_METRICS
;
typedef
struct
DWRITE_SCRIPT_ANALYSIS
{
UINT16
script
;
DWRITE_SCRIPT_SHAPES
shapes
;
}
DWRITE_SCRIPT_ANALYSIS
;
typedef
struct
DWRITE_LINE_BREAKPOINT
{
UINT8
breakConditionBefore
:
2
;
UINT8
breakConditionAfter
:
2
;
UINT8
isWhitespace
:
1
;
UINT8
isSoftHyphen
:
1
;
UINT8
padding
:
2
;
}
DWRITE_LINE_BREAKPOINT
;
typedef
struct
DWRITE_TYPOGRAPHIC_FEATURES
{
DWRITE_FONT_FEATURE
*
features
;
UINT32
featureCount
;
}
DWRITE_TYPOGRAPHIC_FEATURES
;
typedef
struct
DWRITE_SHAPING_TEXT_PROPERTIES
{
UINT16
isShapedAlone
:
1
;
UINT16
reserved
:
15
;
}
DWRITE_SHAPING_TEXT_PROPERTIES
;
typedef
struct
DWRITE_SHAPING_GLYPH_PROPERTIES
{
UINT16
justification
:
4
;
UINT16
isClusterStart
:
1
;
UINT16
isDiacritic
:
1
;
UINT16
isZeroWidthSpace
:
1
;
UINT16
reserved
:
9
;
}
DWRITE_SHAPING_GLYPH_PROPERTIES
;
[
local
,
object
,
uuid
(
6
d4865fe
-
0
ab8
-
4
d91
-
8
f62
-
5
dd6be34a3e0
)
]
interface
IDWriteFontFileStream
:
IUnknown
{
HRESULT
ReadFileFragment
(
void
const
**
fragment_start
,
UINT64
offset
,
UINT64
fragment_size
,
void
**
fragment_context
)
;
void
ReleaseFileFragment
(
void
*
fragment_context
)
;
HRESULT
GetFileSize
(
UINT64
*
size
)
;
HRESULT
GetLastWriteTime
(
UINT64
*
last_writetime
)
;
}
[
local
,
object
,
uuid
(
727
cad4e
-
d6af
-
4
c9e
-
8
a08
-
d695b11caa49
)
]
interface
IDWriteFontFileLoader
:
IUnknown
{
HRESULT
CreateStreamFromKey
(
void
const
*
key
,
UINT32
key_size
,
IDWriteFontFileStream
**
stream
)
;
}
[
local
,
object
,
uuid
(
739
d886a
-
cef5
-
47
dc
-
8769
-
1
a8b41bebbb0
)
]
interface
IDWriteFontFile
:
IUnknown
{
HRESULT
GetReferenceKey
(
void
const
**
key
,
UINT32
*
key_size
)
;
HRESULT
GetLoader
(
IDWriteFontFileLoader
**
loader
)
;
HRESULT
Analyze
(
BOOL
*
is_supported_fonttype
,
DWRITE_FONT_FILE_TYPE
*
file_type
,
DWRITE_FONT_FACE_TYPE
*
face_type
,
UINT32
*
faces_num
)
;
}
[
local
,
object
,
uuid
(
72755049
-
5
ff7
-435d-8348
-
4b
e97cfa6c7c
)
]
interface
IDWriteFontFileEnumerator
:
IUnknown
{
HRESULT
MoveNext
(
BOOL
*
has_current_file
)
;
HRESULT
GetCurrentFontFile
(
IDWriteFontFile
**
font_file
)
;
}
;
[
local
,
object
,
uuid
(
cca920e4
-
52
f0
-
492b
-
bfa8
-
29
c72ee0a468
)
]
interface
IDWriteFontCollectionLoader
:
IUnknown
{
HRESULT
CreateEnumeratorFromKey
(
IDWriteFactory
*
factory
,
void
const
*
key
,
UINT32
key_size
,
IDWriteFontFileEnumerator
**
enumerator
)
;
}
[
local
,
object
,
uuid
(
08256209
-
099
a
-
4b34
-
b86d
-
c22b110e7771
)
]
interface
IDWriteLocalizedStrings
:
IUnknown
{
UINT32
GetCount
()
;
HRESULT
FindLocaleName
(
WCHAR
const
*
locale_name
,
UINT32
*
index
,
BOOL
*
exists
)
;
HRESULT
GetLocaleNameLength
(
UINT32
index
,
UINT32
*
length
)
;
HRESULT
GetLocaleName
(
UINT32
index
,
WCHAR
*
locale_name
,
UINT32
size
)
;
HRESULT
GetStringLength
(
UINT32
index
,
UINT32
*
length
)
;
HRESULT
GetString
(
UINT32
index
,
WCHAR
*
buffer
,
UINT32
size
)
;
}
[
local
,
object
,
uuid
(
2
f0da53a
-
2
add
-
47
cd
-
82
ee
-
d9ec34688e75
)
]
interface
IDWriteRenderingParams
:
IUnknown
{
FLOAT
GetGamma
()
;
FLOAT
GetEnhancedContrast
()
;
FLOAT
GetClearTypeLevel
()
;
DWRITE_PIXEL_GEOMETRY
GetPixelGeometry
()
;
DWRITE_RENDERING_MODE
GetRenderingMode
()
;
}
[
local
,
object
,
uuid
(
5
f49804d
-
7024
-
4
d43
-
bfa9
-
d25984f53849
)
]
interface
IDWriteFontFace
:
IUnknown
{
DWRITE_FONT_FACE_TYPE
GetType
()
;
HRESULT
GetFiles
(
UINT32
*
number_of_files
,
IDWriteFontFile
**
fontfiles
)
;
UINT32
GetIndex
()
;
DWRITE_FONT_SIMULATIONS
GetSimulations
()
;
BOOL
IsSymbolFont
()
;
void
GetMetrics
(
DWRITE_FONT_METRICS
*
metrics
)
;
UINT16
GetGlyphCount
()
;
HRESULT
GetDesignGlyphMetrics
(
UINT16
const
*
glyph_indices
,
UINT32
glyph_count
,
DWRITE_GLYPH_METRICS
*
metrics
,
[
defaultvalue
(
FALSE
)
]
BOOL
is_sideways
)
;
HRESULT
GetGlyphIndices
(
UINT32
const
*
codepoints
,
UINT32
count
,
UINT16
*
glyph_indices
)
;
HRESULT
TryGetFontTable
(
UINT32
table_tag
,
const
void
**
table_data
,
UINT32
*
table_size
,
void
**
context
,
BOOL
*
exists
)
;
void
ReleaseFontTable
(
void
*
table_context
)
;
HRESULT
GettGlyphRunOutline
(
FLOAT
emSize
,
UINT16
const
*
glyph_indices
,
FLOAT
const
*
glyph_advances
,
DWRITE_GLYPH_OFFSET
const
*
glyph_offsets
,
UINT32
glyph_count
,
BOOL
is_sideways
,
BOOL
is_rtl
,
IDWriteGeometrySink
*
geometrysink
)
;
HRESULT
GetRecommendedRenderingMode
(
FLOAT
emSize
,
FLOAT
pixels_per_dip
,
DWRITE_MEASURING_MODE
mode
,
IDWriteRenderingParams
*
params
,
DWRITE_RENDERING_MODE
*
rendering_mode
)
;
HRESULT
GetGdiCompatibleMetrics
(
FLOAT
emSize
,
FLOAT
pixels_per_dip
,
DWRITE_MATRIX
const
*
transform
,
DWRITE_FONT_METRICS
*
metrics
)
;
HRESULT
GetGdiCompatibleGlyphMetrics
(
FLOAT
emSize
,
FLOAT
pixels_per_dip
,
DWRITE_MATRIX
const
*
transform
,
BOOL
use_gdi_natural
,
UINT16
const
*
glyph_indices
,
UINT32
glyph_count
,
DWRITE_GLYPH_METRICS
*
metrics
,
[
defaultvalue
(
FALSE
)
]
BOOL
is_sideways
)
;
}
[
local
,
object
,
uuid
(
acd16696
-
8
c14
-
4
f5d
-
877
e
-
fe3fc1d32737
)
]
interface
IDWriteFont
:
IUnknown
{
HRESULT
GetFontFamily
(
IDWriteFontFamily
**
family
)
;
DWRITE_FONT_WEIGHT
GetWeight
()
;
DWRITE_FONT_STRETCH
GetStretch
()
;
DWRITE_FONT_STYLE
GetStyle
()
;
BOOL
IsSymbolFont
()
;
HRESULT
GetFaceNames
(
IDWriteLocalizedStrings
**
names
)
;
HRESULT
GetInformationalStrings
(
DWRITE_INFORMATIONAL_STRING_ID
stringid
,
IDWriteLocalizedStrings
**
strings
,
BOOL
*
exists
)
;
DWRITE_FONT_SIMULATIONS
GetSimulations
()
;
void
GetMetrics
(
DWRITE_FONT_METRICS
*
metrics
)
;
HRESULT
HasCharacter
(
UINT32
value
,
BOOL
*
exists
)
;
HRESULT
CreateFontFace
(
IDWriteFontFace
**
face
)
;
}
[
local
,
object
,
uuid
(
1
a0d8438
-
1
d97
-
4
ec1
-
aef9
-
a2fb86ed6acb
)
]
interface
IDWriteFontList
:
IUnknown
{
HRESULT
GetFontCollection
(
IDWriteFontCollection
**
collection
)
;
UINT32
GetFontCount
()
;
HRESULT
GetFont
(
UINT32
index
,
IDWriteFont
**
font
)
;
}
[
local
,
object
,
uuid
(
da20d8ef
-
812
a
-
4
c43
-
9802
-
62
ec4abd7add
)
]
interface
IDWriteFontFamily
:
IDWriteFontList
{
HRESULT
GetFamilyNames
(
IDWriteLocalizedStrings
**
names
)
;
HRESULT
GetFirstMatchingFont
(
DWRITE_FONT_WEIGHT
weight
,
DWRITE_FONT_STRETCH
stretch
,
DWRITE_FONT_STYLE
style
,
IDWriteFont
**
font
)
;
HRESULT
GetMatchingFonts
(
DWRITE_FONT_WEIGHT
weight
,
DWRITE_FONT_STRETCH
stretch
,
DWRITE_FONT_STYLE
style
,
IDWriteFontList
**
fonts
)
;
}
[
local
,
object
,
uuid
(
a84cee02
-
3
eea
-
4
eee
-
a827
-
87
c1a02a0fcc
)
]
interface
IDWriteFontCollection
:
IUnknown
{
UINT32
GetFontFamilyCount
()
;
HRESULT
GetFontFamily
(
UINT32
index
,
IDWriteFontFamily
**
family
)
;
HRESULT
FindFamilyName
(
WCHAR
const
*
name
,
UINT32
*
index
,
BOOL
*
exists
)
;
HRESULT
GetFontFromFontFace
(
IDWriteFontFace
*
face
,
IDWriteFont
**
font
)
;
}
[
local
,
object
,
uuid
(
eaf3a2da
-
ecf4
-
4
d24
-
b644
-
b34f6842024b
)
]
interface
IDWritePixelSnapping
:
IUnknown
{
HRESULT
IsPixelSnappingDisabled
(
void
*
client_drawingcontext
,
BOOL
*
disabled
)
;
HRESULT
GetCurrentTransform
(
void
*
client_drawingcontext
,
DWRITE_MATRIX
*
transform
)
;
HRESULT
GetPixelsPerDip
(
void
*
client_drawingcontext
,
FLOAT
*
pixels_per_dip
)
;
}
[
local
,
object
,
uuid
(
ef8a8135
-
5
cc6
-
45
fe
-
8825
-
c5a0724eb819
)
]
interface
IDWriteTextRenderer
:
IDWritePixelSnapping
{
HRESULT
DrawGlyphRun
(
void
*
client_drawingcontext
,
FLOAT
baselineOriginX
,
FLOAT
baselineOriginY
,
DWRITE_MEASURING_MODE
mode
,
DWRITE_GLYPH_RUN
const
*
glyph_run
,
DWRITE_GLYPH_RUN_DESCRIPTION
const
*
run_descr
,
IUnknown
*
drawing_effect
)
;
HRESULT
DrawUnderline
(
void
*
client_drawingcontext
,
FLOAT
baselineOriginX
,
FLOAT
baselineOriginY
,
DWRITE_UNDERLINE
const
*
underline
,
IUnknown
*
drawing_effect
)
;
HRESULT
DrawStrikethrough
(
void
*
client_drawingcontext
,
FLOAT
baselineOriginX
,
FLOAT
baselineOriginY
,
DWRITE_STRIKETHROUGH
const
*
strikethrough
,
IUnknown
*
drawing_effect
)
;
HRESULT
DrawInlineObject
(
void
*
client_drawingcontext
,
FLOAT
originX
,
FLOAT
originY
,
IDWriteInlineObject
*
object
,
BOOL
is_sideways
,
BOOL
is_rtl
,
IUnknown
*
drawing_effect
)
;
}
[
local
,
object
,
uuid
(
8339
fde3
-
106
f
-
47
ab
-
8373
-
1
c6295eb10b3
)
]
interface
IDWriteInlineObject
:
IUnknown
{
HRESULT
Draw
(
void
*
client_drawingontext
,
IDWriteTextRenderer
*
renderer
,
FLOAT
originX
,
FLOAT
originY
,
BOOL
is_sideways
,
BOOL
is_rtl
,
IUnknown
*
drawing_effect
)
;
HRESULT
GetMetrics
(
DWRITE_INLINE_OBJECT_METRICS
*
metrics
)
;
HRESULT
GetOverhangMetrics
(
DWRITE_OVERHANG_METRICS
*
overhangs
)
;
HRESULT
GetBreakConditions
(
DWRITE_BREAK_CONDITION
*
condition_before
,
DWRITE_BREAK_CONDITION
*
condition_after
)
;
}
[
local
,
object
,
uuid
(
9
c906818
-
31
d7
-
4
fd3
-
a151
-
7
c5e225db55a
)
]
interface
IDWriteTextFormat
:
IUnknown
{
HRESULT
SetTextAlignment
(
DWRITE_TEXT_ALIGNMENT
alignment
)
;
HRESULT
SetParagraphAlignment
(
DWRITE_PARAGRAPH_ALIGNMENT
alignment
)
;
HRESULT
SetWordWrapping
(
DWRITE_WORD_WRAPPING
wrapping
)
;
HRESULT
SetReadingDirection
(
DWRITE_READING_DIRECTION
direction
)
;
HRESULT
SetFlowDirection
(
DWRITE_FLOW_DIRECTION
direction
)
;
HRESULT
SetIncrementalTabStop
(
FLOAT
tabstop
)
;
HRESULT
SetTrimming
(
DWRITE_TRIMMING
const
*
trimming
,
IDWriteInlineObject
*
trimming_sign
)
;
HRESULT
SetLineSpacing
(
DWRITE_LINE_SPACING_METHOD
spacing
,
FLOAT
line_spacing
,
FLOAT
baseline
)
;
DWRITE_TEXT_ALIGNMENT
GetTextAlignment
()
;
DWRITE_PARAGRAPH_ALIGNMENT
GetParagraphAlignment
()
;
DWRITE_WORD_WRAPPING
GetWordWrapping
()
;
DWRITE_READING_DIRECTION
GetReadingDirection
()
;
DWRITE_FLOW_DIRECTION
GetFlowDirection
()
;
FLOAT
GetIncrementalTabStop
()
;
HRESULT
GetTrimming
(
DWRITE_TRIMMING
*
options
,
IDWriteInlineObject
**
trimming_sign
)
;
HRESULT
GetLineSpacing
(
DWRITE_LINE_SPACING_METHOD
*
method
,
FLOAT
*
spacing
,
FLOAT
*
baseline
)
;
HRESULT
GetFontCollection
(
IDWriteFontCollection
**
collection
)
;
UINT32
GetFontFamilyNameLength
()
;
HRESULT
GetFontFamilyName
(
WCHAR
*
name
,
UINT32
size
)
;
DWRITE_FONT_WEIGHT
GetFontWeight
()
;
DWRITE_FONT_STYLE
GetFontStyle
()
;
DWRITE_FONT_STRETCH
GetFontStretch
()
;
FLOAT
GetFontSize
()
;
UINT32
GetLocaleNameLength
()
;
HRESULT
GetLocaleName
(
WCHAR
*
name
,
UINT32
size
)
;
}
[
local
,
object
,
uuid
(
55
f1112b
-
1
dc2
-
4b3
c
-
9541
-
f46894ed85b6
)
]
interface
IDWriteTypography
:
IUnknown
{
HRESULT
AddFontFeature
(
DWRITE_FONT_FEATURE
feature
)
;
UINT32
GetFontFeatureCount
()
;
HRESULT
GetFontFeature
(
UINT32
index
,
DWRITE_FONT_FEATURE
*
feature
)
;
}
[
local
,
object
,
uuid
(
5
e5a32a3
-
8
dff
-
4773
-
9
ff6
-
0696
eab77267
)
]
interface
IDWriteBitmapRenderTarget
:
IUnknown
{
HRESULT
DrawGlyphRun
(
FLOAT
baselineOriginX
,
FLOAT
baselineOriginY
,
DWRITE_MEASURING_MODE
measuring_mode
,
DWRITE_GLYPH_RUN
const
*
glyph_run
,
IDWriteRenderingParams
*
params
,
COLORREF
textColor
,
[
defaultvalue
(
NULL
)
]
RECT
*
blackbox_rect
)
;
HDC
GetMemoryDC
()
;
FLOAT
GetPixelsPerDip
()
;
HRESULT
SetPixelsPerDip
(
FLOAT
pixels_per_dip
)
;
HRESULT
GetCurrentTransform
(
DWRITE_MATRIX
*
transform
)
;
HRESULT
SetCurrentTransform
(
DWRITE_MATRIX
const
*
transform
)
;
HRESULT
GetSize
(
SIZE
*
size
)
;
HRESULT
Resize
(
UINT32
width
,
UINT32
height
)
;
}
cpp_quote
(
"#ifndef _WINGDI_"
)
/*
already
defined
in
wingdi
.
h
but
needed
for
WIDL
*/
#
define
LF_FACESIZE
32
typedef
struct
tagLOGFONTW
{
LONG
lfHeight
;
LONG
lfWidth
;
LONG
lfEscapement
;
LONG
lfOrientation
;
LONG
lfWeight
;
BYTE
lfItalic
;
BYTE
lfUnderline
;
BYTE
lfStrikeOut
;
BYTE
lfCharSet
;
BYTE
lfOutPrecision
;
BYTE
lfClipPrecision
;
BYTE
lfQuality
;
BYTE
lfPitchAndFamily
;
WCHAR
lfFaceName
[
LF_FACESIZE
]
;
}
LOGFONTW
,
*
PLOGFONTW
,
*
LPLOGFONTW
;
cpp_quote
(
"#endif /* _WINGDI_ */"
)
[
local
,
object
,
uuid
(
1
edd9491
-
9853
-
4299
-
898
f
-
6432983b6
f3a
)
]
interface
IDWriteGdiInterop
:
IUnknown
{
HRESULT
CreateFontFromLOGFONT
(
LOGFONTW
const
*
logfont
,
IDWriteFont
**
font
)
;
HRESULT
ConvertFontToLOGFONT
(
IDWriteFont
*
font
,
LOGFONTW
*
logfont
,
BOOL
*
is_systemfont
)
;
HRESULT
ConvertFontFaceToLOGFONT
(
IDWriteFontFace
*
font
,
LOGFONTW
*
logfont
)
;
HRESULT
CreateFontFaceFromHdc
(
HDC
hdc
,
IDWriteFontFace
**
fontface
)
;
HRESULT
CreateBitmapRenderTarget
(
HDC
hdc
,
UINT32
width
,
UINT32
height
,
IDWriteBitmapRenderTarget
**
target
)
;
}
[
local
,
object
,
uuid
(
53737037
-
6
d14
-
410b
-
9b
fe
-
0b182b
b70961
)
]
interface
IDWriteTextLayout
:
IDWriteTextFormat
{
HRESULT
SetMaxWidth
(
FLOAT
maxWidth
)
;
HRESULT
SetMaxHeight
(
FLOAT
maxHeight
)
;
HRESULT
SetFontCollection
(
IDWriteFontCollection
*
collection
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetFontFamilyName
(
WCHAR
const
*
name
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetFontWeight
(
DWRITE_FONT_WEIGHT
weight
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetFontStyle
(
DWRITE_FONT_STYLE
style
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetFontStretch
(
DWRITE_FONT_STRETCH
stretch
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetFontSize
(
FLOAT
size
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetUnderline
(
BOOL
underline
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetStrikethrough
(
BOOL
strikethrough
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetDrawingEffect
(
IUnknown
*
effect
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetInlineObject
(
IDWriteInlineObject
*
object
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetTypography
(
IDWriteTypography
*
typography
,
DWRITE_TEXT_RANGE
range
)
;
HRESULT
SetLocaleName
(
WCHAR
const
*
locale
,
DWRITE_TEXT_RANGE
range
)
;
FLOAT
GetMaxWidth
()
;
FLOAT
GetMaxHeight
()
;
HRESULT
GetFontCollection
(
UINT32
pos
,
IDWriteFontCollection
**
collection
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetFontFamilyNameLength
(
UINT32
pos
,
UINT32
*
len
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetFontFamilyName
(
UINT32
position
,
WCHAR
*
name
,
UINT32
name_size
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetFontWeight
(
UINT32
position
,
DWRITE_FONT_WEIGHT
*
weight
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetFontStyle
(
UINT32
currentPosition
,
DWRITE_FONT_STYLE
*
style
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetFontStretch
(
UINT32
position
,
DWRITE_FONT_STRETCH
*
stretch
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetFontSize
(
UINT32
position
,
FLOAT
*
size
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetUnderline
(
UINT32
position
,
BOOL
*
has_underline
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetStrikethrough
(
UINT32
position
,
BOOL
*
has_strikethrough
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetDrawingEffect
(
UINT32
position
,
IUnknown
**
effect
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetInlineObject
(
UINT32
position
,
IDWriteInlineObject
**
object
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetTypography
(
UINT32
position
,
IDWriteTypography
**
typography
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetLocaleNameLength
(
UINT32
position
,
UINT32
*
length
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
GetLocaleName
(
UINT32
position
,
WCHAR
*
name
,
UINT32
name_size
,
[
defaultvalue
(
NULL
)
]
DWRITE_TEXT_RANGE
*
range
)
;
HRESULT
Draw
(
void
*
context
,
IDWriteTextRenderer
*
renderer
,
FLOAT
originX
,
FLOAT
originY
)
;
HRESULT
GetLineMetrics
(
DWRITE_LINE_METRICS
*
metrics
,
UINT32
max_count
,
UINT32
*
actual_count
)
;
HRESULT
GetMetrics
(
DWRITE_TEXT_METRICS
*
metrics
)
;
HRESULT
GetOverhangMetrics
(
DWRITE_OVERHANG_METRICS
*
overhangs
)
;
HRESULT
GetClusterMetrics
(
DWRITE_CLUSTER_METRICS
*
metrics
,
UINT32
max_count
,
UINT32
*
act_count
)
;
HRESULT
DetermineMinWidth
(
FLOAT
*
min_width
)
;
HRESULT
HitTestPoint
(
FLOAT
pointX
,
FLOAT
pointY
,
BOOL
*
is_trailinghit
,
BOOL
*
is_inside
,
DWRITE_HIT_TEST_METRICS
*
metrics
)
;
HRESULT
HitTestTextPosition
(
UINT32
textPosition
,
BOOL
is_trailinghit
,
FLOAT
*
pointX
,
FLOAT
*
pointY
,
DWRITE_HIT_TEST_METRICS
*
metrics
)
;
HRESULT
HitTestTextRange
(
UINT32
textPosition
,
UINT32
textLength
,
FLOAT
originX
,
FLOAT
originY
,
DWRITE_HIT_TEST_METRICS
*
metrics
,
UINT32
max_metricscount
,
UINT32
*
actual_metricscount
)
;
}
[
local
,
object
,
uuid
(
14885
cc9
-
bab0
-
4
f90
-
b6ed
-
5
c366a2cd03d
)
]
interface
IDWriteNumberSubstitution
:
IUnknown
{
}
[
local
,
object
,
uuid
(
688
e1a58
-
5094
-
47
c8
-
adc8
-
fbcea60ae92b
)
]
interface
IDWriteTextAnalysisSource
:
IUnknown
{
HRESULT
GetTextAtPosition
(
UINT32
position
,
WCHAR
const
**
text
,
UINT32
*
text_len
)
;
HRESULT
GetTextBeforePosition
(
UINT32
position
,
WCHAR
const
**
text
,
UINT32
*
text_len
)
;
DWRITE_READING_DIRECTION
GetParagraphReadingDirection
()
;
HRESULT
GetLocaleName
(
UINT32
position
,
UINT32
*
text_len
,
WCHAR
const
**
locale
)
;
HRESULT
GetNumberSubstitution
(
UINT32
position
,
UINT32
*
text_len
,
IDWriteNumberSubstitution
**
substitution
)
;
}
[
local
,
object
,
uuid
(
5810
cd44
-
0
ca0
-
4701
-
b3fa
-
bec5182ae4f6
)
]
interface
IDWriteTextAnalysisSink
:
IUnknown
{
HRESULT
SetScriptAnalysis
(
UINT32
position
,
UINT32
length
,
DWRITE_SCRIPT_ANALYSIS
const
*
scriptanalysis
)
;
HRESULT
SetLineBreakpoints
(
UINT32
position
,
UINT32
length
,
DWRITE_LINE_BREAKPOINT
const
*
breakpoints
)
;
HRESULT
SetBidiLevel
(
UINT32
position
,
UINT32
length
,
UINT8
explicitLevel
,
UINT8
resolvedLevel
)
;
HRESULT
SetNumberSubstitution
(
UINT32
position
,
UINT32
length
,
IDWriteNumberSubstitution
*
substitution
)
;
}
[
local
,
object
,
uuid
(
b7e6163e
-
7
f46
-
43b4
-
84b3
-
e4e6249c365d
)
]
interface
IDWriteTextAnalyzer
:
IUnknown
{
HRESULT
AnalyzeScript
(
IDWriteTextAnalysisSource
*
source
,
UINT32
position
,
UINT32
length
,
IDWriteTextAnalysisSink
*
sink
)
;
HRESULT
AnalyzeBidi
(
IDWriteTextAnalysisSource
*
source
,
UINT32
position
,
UINT32
length
,
IDWriteTextAnalysisSink
*
sink
)
;
HRESULT
AnalyzeNumberSubstitution
(
IDWriteTextAnalysisSource
*
source
,
UINT32
position
,
UINT32
length
,
IDWriteTextAnalysisSink
*
sink
)
;
HRESULT
AnalyzeLineBreakpoints
(
IDWriteTextAnalysisSource
*
source
,
UINT32
position
,
UINT32
length
,
IDWriteTextAnalysisSink
*
sink
)
;
HRESULT
GetGlyphs
(
WCHAR
const
*
text
,
UINT32
length
,
IDWriteFontFace
*
font_face
,
BOOL
is_sideways
,
BOOL
is_rtl
,
DWRITE_SCRIPT_ANALYSIS
const
*
analysis
,
WCHAR
const
*
locale
,
IDWriteNumberSubstitution
*
substitution
,
DWRITE_TYPOGRAPHIC_FEATURES
const
**
features
,
UINT32
const
*
feature_range_len
,
UINT32
feature_ranges
,
UINT32
max_glyph_count
,
UINT16
*
clustermap
,
DWRITE_SHAPING_TEXT_PROPERTIES
*
text_props
,
UINT16
*
glyph_indices
,
DWRITE_SHAPING_GLYPH_PROPERTIES
*
glyph_props
,
UINT32
*
actual_glyph_count
)
;
HRESULT
GetGlyphPlacements
(
WCHAR
const
*
text
,
UINT16
const
*
clustermap
,
DWRITE_SHAPING_TEXT_PROPERTIES
*
props
,
UINT32
text_len
,
UINT16
const
*
glyph_indices
,
DWRITE_SHAPING_GLYPH_PROPERTIES
const
*
glyph_props
,
UINT32
glyph_count
,
IDWriteFontFace
*
font_face
,
FLOAT
fontEmSize
,
BOOL
is_sideways
,
BOOL
is_rtl
,
DWRITE_SCRIPT_ANALYSIS
const
*
analysis
,
WCHAR
const
*
locale
,
DWRITE_TYPOGRAPHIC_FEATURES
const
**
features
,
UINT32
const
*
feature_range_len
,
UINT32
feature_ranges
,
FLOAT
*
glyph_advances
,
DWRITE_GLYPH_OFFSET
*
glyph_offsets
)
;
HRESULT
GetGdiCompatibleGlyphPlacements
(
WCHAR
const
*
text
,
UINT16
const
*
clustermap
,
DWRITE_SHAPING_TEXT_PROPERTIES
*
props
,
UINT32
text_len
,
UINT16
const
*
glyph_indices
,
DWRITE_SHAPING_GLYPH_PROPERTIES
const
*
glyph_props
,
UINT32
glyph_count
,
IDWriteFontFace
*
font_face
,
FLOAT
fontEmSize
,
FLOAT
pixels_per_dip
,
DWRITE_MATRIX
const
*
transform
,
BOOL
use_gdi_natural
,
BOOL
is_sideways
,
BOOL
is_rtl
,
DWRITE_SCRIPT_ANALYSIS
const
*
analysis
,
WCHAR
const
*
locale
,
DWRITE_TYPOGRAPHIC_FEATURES
const
**
features
,
UINT32
const
*
feature_range_lengths
,
UINT32
feature_ranges
,
FLOAT
*
glyph_advances
,
DWRITE_GLYPH_OFFSET
*
glyph_offsets
)
;
}
[
local
,
object
,
uuid
(
7
d97dbf7
-
e085
-
42
d4
-
81
e3
-
6
a883bded118
)
]
interface
IDWriteGlyphRunAnalysis
:
IUnknown
{
HRESULT
GetAlphaTextureBounds
(
DWRITE_TEXTURE_TYPE
type
,
RECT
*
bounds
)
;
HRESULT
CreateAlphaTexture
(
DWRITE_TEXTURE_TYPE
type
,
RECT
const
*
bounds
,
BYTE
*
alphaValues
,
UINT32
bufferSize
)
;
HRESULT
GetAlphaBlendParams
(
IDWriteRenderingParams
*
renderingParams
,
FLOAT
*
blendGamma
,
FLOAT
*
blendEnhancedContrast
,
FLOAT
*
blendClearTypeLevel
)
;
}
[
local
,
object
,
uuid
(
b859ee5a
-
d838
-
4b5b
-
a2e8
-
1
adc7d93db48
)
]
interface
IDWriteFactory
:
IUnknown
{
HRESULT
GetSystemFontCollection
(
IDWriteFontCollection
**
collection
,
[
defaultvalue
(
FALSE
)
]
BOOL
check_for_updates
)
;
HRESULT
CreateCustomFontCollection
(
IDWriteFontCollectionLoader
*
loader
,
void
const
*
key
,
UINT32
key_size
,
IDWriteFontCollection
**
collection
)
;
HRESULT
RegisterFontCollectionLoader
(
IDWriteFontCollectionLoader
*
loader
)
;
HRESULT
UnregisterFontCollectionLoader
(
IDWriteFontCollectionLoader
*
loader
)
;
HRESULT
CreateFontFileReference
(
WCHAR
const
*
path
,
FILETIME
const
*
writetime
,
IDWriteFontFile
**
font_file
)
;
HRESULT
CreateCustomFontFileReference
(
void
const
*
reference_key
,
UINT32
key_size
,
IDWriteFontFileLoader
*
loader
,
IDWriteFontFile
**
font_file
)
;
HRESULT
CreateFontFace
(
DWRITE_FONT_FACE_TYPE
facetype
,
UINT32
files_number
,
IDWriteFontFile
*
const
*
font_files
,
UINT32
index
,
DWRITE_FONT_SIMULATIONS
sim_flags
,
IDWriteFontFace
**
font_face
)
;
HRESULT
CreateRenderingParams
(
IDWriteRenderingParams
**
params
)
;
HRESULT
CreateMonitorRenderingParams
(
HMONITOR
monitor
,
IDWriteRenderingParams
**
params
)
;
HRESULT
CreateCustomRenderingParams
(
FLOAT
gamma
,
FLOAT
enhancedContrast
,
FLOAT
cleartype_level
,
DWRITE_PIXEL_GEOMETRY
geometry
,
DWRITE_RENDERING_MODE
mode
,
IDWriteRenderingParams
**
params
)
;
HRESULT
RegisterFontFileLoader
(
IDWriteFontFileLoader
*
loader
)
;
HRESULT
UnregisterFontFileLoader
(
IDWriteFontFileLoader
*
loader
)
;
HRESULT
CreateTextFormat
(
WCHAR
const
*
family_name
,
IDWriteFontCollection
*
collection
,
DWRITE_FONT_WEIGHT
weight
,
DWRITE_FONT_STYLE
style
,
DWRITE_FONT_STRETCH
stretch
,
FLOAT
size
,
WCHAR
const
*
locale
,
IDWriteTextFormat
**
format
)
;
HRESULT
CreateTypography
(
IDWriteTypography
**
typography
)
;
HRESULT
GetGdiInterop
(
IDWriteGdiInterop
**
gdi_interop
)
;
HRESULT
CreateTextLayout
(
WCHAR
const
*
string
,
UINT32
len
,
IDWriteTextFormat
*
format
,
FLOAT
max_width
,
FLOAT
max_height
,
IDWriteTextLayout
**
layout
)
;
HRESULT
CreateGdiCompatibleTextLayout
(
WCHAR
const
*
string
,
UINT32
len
,
IDWriteTextFormat
*
format
,
FLOAT
layout_width
,
FLOAT
layout_height
,
FLOAT
pixels_per_dip
,
DWRITE_MATRIX
const
*
transform
,
BOOL
use_gdi_natural
,
IDWriteTextLayout
**
layout
)
;
HRESULT
CreateEllipsisTrimmingSign
(
IDWriteTextFormat
*
format
,
IDWriteInlineObject
**
trimming_sign
)
;
HRESULT
CreateTextAnalyzer
(
IDWriteTextAnalyzer
**
analyzer
)
;
HRESULT
CreateNumberSubstitution
(
DWRITE_NUMBER_SUBSTITUTION_METHOD
method
,
WCHAR
const
*
locale
,
BOOL
ignore_user_override
,
IDWriteNumberSubstitution
**
substitution
)
;
HRESULT
CreateGlyphRunAnalysis
(
DWRITE_GLYPH_RUN
const
*
glyph_run
,
FLOAT
pixels_per_dip
,
DWRITE_MATRIX
const
*
transform
,
DWRITE_RENDERING_MODE
rendering_mode
,
DWRITE_MEASURING_MODE
measuring_mode
,
FLOAT
baseline_x
,
FLOAT
baseline_y
,
IDWriteGlyphRunAnalysis
**
analysis
)
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment