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
c51212e5
Commit
c51212e5
authored
Feb 17, 2016
by
Nikolay Sivov
Committed by
Alexandre Julliard
Feb 17, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dwrite: Update to IDWriteTextFormat1.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
5753e22d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
215 additions
and
178 deletions
+215
-178
layout.c
dlls/dwrite/layout.c
+195
-178
layout.c
dlls/dwrite/tests/layout.c
+20
-0
No files found.
dlls/dwrite/layout.c
View file @
c51212e5
...
...
@@ -278,7 +278,7 @@ struct dwrite_textlayout {
};
struct
dwrite_textformat
{
IDWriteTextFormat
1
IDWriteTextFormat1
_iface
;
IDWriteTextFormat
2
IDWriteTextFormat2
_iface
;
LONG
ref
;
struct
dwrite_textformat_data
format
;
};
...
...
@@ -304,7 +304,7 @@ struct dwrite_vec {
FLOAT
y
;
};
static
const
IDWriteTextFormat
1
Vtbl
dwritetextformatvtbl
;
static
const
IDWriteTextFormat
2
Vtbl
dwritetextformatvtbl
;
static
void
release_format_data
(
struct
dwrite_textformat_data
*
data
)
{
...
...
@@ -320,7 +320,7 @@ static inline struct dwrite_textlayout *impl_from_IDWriteTextLayout3(IDWriteText
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textlayout
,
IDWriteTextLayout3_iface
);
}
static
inline
struct
dwrite_textlayout
*
impl_layout_f
or
m_IDWriteTextFormat1
(
IDWriteTextFormat1
*
iface
)
static
inline
struct
dwrite_textlayout
*
impl_layout_f
ro
m_IDWriteTextFormat1
(
IDWriteTextFormat1
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textlayout
,
IDWriteTextFormat1_iface
);
}
...
...
@@ -335,9 +335,9 @@ static inline struct dwrite_textlayout *impl_from_IDWriteTextAnalysisSource1(IDW
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textlayout
,
IDWriteTextAnalysisSource1_iface
);
}
static
inline
struct
dwrite_textformat
*
impl_from_IDWriteTextFormat
1
(
IDWriteTextFormat1
*
iface
)
static
inline
struct
dwrite_textformat
*
impl_from_IDWriteTextFormat
2
(
IDWriteTextFormat2
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textformat
,
IDWriteTextFormat
1
_iface
);
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textformat
,
IDWriteTextFormat
2
_iface
);
}
static
struct
dwrite_textformat
*
unsafe_impl_from_IDWriteTextFormat
(
IDWriteTextFormat
*
);
...
...
@@ -2717,7 +2717,7 @@ static HRESULT WINAPI dwritetextlayout_GetLineSpacing(IDWriteTextLayout3 *iface,
FLOAT
*
spacing
,
FLOAT
*
baseline
)
{
struct
dwrite_textlayout
*
This
=
impl_from_IDWriteTextLayout3
(
iface
);
return
IDWriteTextFormat
1_GetLineSpacing
(
&
This
->
IDWriteTextFormat1_iface
,
method
,
spacing
,
baseline
);
return
IDWriteTextFormat
_GetLineSpacing
((
IDWriteTextFormat
*
)
&
This
->
IDWriteTextFormat1_iface
,
method
,
spacing
,
baseline
);
}
static
HRESULT
WINAPI
dwritetextlayout_GetFontCollection
(
IDWriteTextLayout3
*
iface
,
IDWriteFontCollection
**
collection
)
...
...
@@ -3702,28 +3702,28 @@ static const IDWriteTextLayout3Vtbl dwritetextlayoutvtbl = {
dwritetextlayout3_GetLineMetrics
};
static
HRESULT
WINAPI
dwritetextformat
1
_layout_QueryInterface
(
IDWriteTextFormat1
*
iface
,
REFIID
riid
,
void
**
obj
)
static
HRESULT
WINAPI
dwritetextformat_layout_QueryInterface
(
IDWriteTextFormat1
*
iface
,
REFIID
riid
,
void
**
obj
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
obj
);
return
IDWriteTextLayout3_QueryInterface
(
&
This
->
IDWriteTextLayout3_iface
,
riid
,
obj
);
}
static
ULONG
WINAPI
dwritetextformat
1
_layout_AddRef
(
IDWriteTextFormat1
*
iface
)
static
ULONG
WINAPI
dwritetextformat_layout_AddRef
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
return
IDWriteTextLayout3_AddRef
(
&
This
->
IDWriteTextLayout3_iface
);
}
static
ULONG
WINAPI
dwritetextformat
1
_layout_Release
(
IDWriteTextFormat1
*
iface
)
static
ULONG
WINAPI
dwritetextformat_layout_Release
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
return
IDWriteTextLayout3_Release
(
&
This
->
IDWriteTextLayout3_iface
);
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetTextAlignment
(
IDWriteTextFormat1
*
iface
,
DWRITE_TEXT_ALIGNMENT
alignment
)
static
HRESULT
WINAPI
dwritetextformat_layout_SetTextAlignment
(
IDWriteTextFormat1
*
iface
,
DWRITE_TEXT_ALIGNMENT
alignment
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
BOOL
changed
;
HRESULT
hr
;
...
...
@@ -3740,9 +3740,9 @@ static HRESULT WINAPI dwritetextformat1_layout_SetTextAlignment(IDWriteTextForma
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetParagraphAlignment
(
IDWriteTextFormat1
*
iface
,
DWRITE_PARAGRAPH_ALIGNMENT
alignment
)
static
HRESULT
WINAPI
dwritetextformat_layout_SetParagraphAlignment
(
IDWriteTextFormat1
*
iface
,
DWRITE_PARAGRAPH_ALIGNMENT
alignment
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
BOOL
changed
;
HRESULT
hr
;
...
...
@@ -3759,9 +3759,9 @@ static HRESULT WINAPI dwritetextformat1_layout_SetParagraphAlignment(IDWriteText
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetWordWrapping
(
IDWriteTextFormat1
*
iface
,
DWRITE_WORD_WRAPPING
wrapping
)
static
HRESULT
WINAPI
dwritetextformat_layout_SetWordWrapping
(
IDWriteTextFormat1
*
iface
,
DWRITE_WORD_WRAPPING
wrapping
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
BOOL
changed
;
HRESULT
hr
;
...
...
@@ -3777,9 +3777,9 @@ static HRESULT WINAPI dwritetextformat1_layout_SetWordWrapping(IDWriteTextFormat
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetReadingDirection
(
IDWriteTextFormat1
*
iface
,
DWRITE_READING_DIRECTION
direction
)
static
HRESULT
WINAPI
dwritetextformat_layout_SetReadingDirection
(
IDWriteTextFormat1
*
iface
,
DWRITE_READING_DIRECTION
direction
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
BOOL
changed
;
HRESULT
hr
;
...
...
@@ -3795,9 +3795,9 @@ static HRESULT WINAPI dwritetextformat1_layout_SetReadingDirection(IDWriteTextFo
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetFlowDirection
(
IDWriteTextFormat1
*
iface
,
DWRITE_FLOW_DIRECTION
direction
)
static
HRESULT
WINAPI
dwritetextformat_layout_SetFlowDirection
(
IDWriteTextFormat1
*
iface
,
DWRITE_FLOW_DIRECTION
direction
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
BOOL
changed
;
HRESULT
hr
;
...
...
@@ -3813,25 +3813,25 @@ static HRESULT WINAPI dwritetextformat1_layout_SetFlowDirection(IDWriteTextForma
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetIncrementalTabStop
(
IDWriteTextFormat1
*
iface
,
FLOAT
tabstop
)
static
HRESULT
WINAPI
dwritetextformat_layout_SetIncrementalTabStop
(
IDWriteTextFormat1
*
iface
,
FLOAT
tabstop
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
FIXME
(
"(%p)->(%f): stub
\n
"
,
This
,
tabstop
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetTrimming
(
IDWriteTextFormat1
*
iface
,
DWRITE_TRIMMING
const
*
trimming
,
static
HRESULT
WINAPI
dwritetextformat_layout_SetTrimming
(
IDWriteTextFormat1
*
iface
,
DWRITE_TRIMMING
const
*
trimming
,
IDWriteInlineObject
*
trimming_sign
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
FIXME
(
"(%p)->(%p %p): stub
\n
"
,
This
,
trimming
,
trimming_sign
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_SetLineSpacing
(
IDWriteTextFormat1
*
iface
,
DWRITE_LINE_SPACING_METHOD
method
,
static
HRESULT
WINAPI
dwritetextformat_layout_SetLineSpacing
(
IDWriteTextFormat1
*
iface
,
DWRITE_LINE_SPACING_METHOD
method
,
FLOAT
spacing
,
FLOAT
baseline
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
BOOL
changed
;
HRESULT
hr
;
...
...
@@ -3847,52 +3847,52 @@ static HRESULT WINAPI dwritetextformat1_layout_SetLineSpacing(IDWriteTextFormat1
return
S_OK
;
}
static
DWRITE_TEXT_ALIGNMENT
WINAPI
dwritetextformat
1
_layout_GetTextAlignment
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_TEXT_ALIGNMENT
WINAPI
dwritetextformat_layout_GetTextAlignment
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
textalignment
;
}
static
DWRITE_PARAGRAPH_ALIGNMENT
WINAPI
dwritetextformat
1
_layout_GetParagraphAlignment
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_PARAGRAPH_ALIGNMENT
WINAPI
dwritetextformat_layout_GetParagraphAlignment
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
paralign
;
}
static
DWRITE_WORD_WRAPPING
WINAPI
dwritetextformat
1
_layout_GetWordWrapping
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_WORD_WRAPPING
WINAPI
dwritetextformat_layout_GetWordWrapping
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
wrapping
;
}
static
DWRITE_READING_DIRECTION
WINAPI
dwritetextformat
1
_layout_GetReadingDirection
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_READING_DIRECTION
WINAPI
dwritetextformat_layout_GetReadingDirection
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
readingdir
;
}
static
DWRITE_FLOW_DIRECTION
WINAPI
dwritetextformat
1
_layout_GetFlowDirection
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_FLOW_DIRECTION
WINAPI
dwritetextformat_layout_GetFlowDirection
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
flow
;
}
static
FLOAT
WINAPI
dwritetextformat
1
_layout_GetIncrementalTabStop
(
IDWriteTextFormat1
*
iface
)
static
FLOAT
WINAPI
dwritetextformat_layout_GetIncrementalTabStop
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
0
.
0
f
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_GetTrimming
(
IDWriteTextFormat1
*
iface
,
DWRITE_TRIMMING
*
options
,
static
HRESULT
WINAPI
dwritetextformat_layout_GetTrimming
(
IDWriteTextFormat1
*
iface
,
DWRITE_TRIMMING
*
options
,
IDWriteInlineObject
**
trimming_sign
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p %p)
\n
"
,
This
,
options
,
trimming_sign
);
...
...
@@ -3903,10 +3903,10 @@ static HRESULT WINAPI dwritetextformat1_layout_GetTrimming(IDWriteTextFormat1 *i
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_GetLineSpacing
(
IDWriteTextFormat1
*
iface
,
DWRITE_LINE_SPACING_METHOD
*
method
,
static
HRESULT
WINAPI
dwritetextformat_layout_GetLineSpacing
(
IDWriteTextFormat1
*
iface
,
DWRITE_LINE_SPACING_METHOD
*
method
,
FLOAT
*
spacing
,
FLOAT
*
baseline
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p %p %p)
\n
"
,
This
,
method
,
spacing
,
baseline
);
...
...
@@ -3916,9 +3916,9 @@ static HRESULT WINAPI dwritetextformat1_layout_GetLineSpacing(IDWriteTextFormat1
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_GetFontCollection
(
IDWriteTextFormat1
*
iface
,
IDWriteFontCollection
**
collection
)
static
HRESULT
WINAPI
dwritetextformat_layout_GetFontCollection
(
IDWriteTextFormat1
*
iface
,
IDWriteFontCollection
**
collection
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
collection
);
...
...
@@ -3928,16 +3928,16 @@ static HRESULT WINAPI dwritetextformat1_layout_GetFontCollection(IDWriteTextForm
return
S_OK
;
}
static
UINT32
WINAPI
dwritetextformat
1
_layout_GetFontFamilyNameLength
(
IDWriteTextFormat1
*
iface
)
static
UINT32
WINAPI
dwritetextformat_layout_GetFontFamilyNameLength
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
family_len
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_GetFontFamilyName
(
IDWriteTextFormat1
*
iface
,
WCHAR
*
name
,
UINT32
size
)
static
HRESULT
WINAPI
dwritetextformat_layout_GetFontFamilyName
(
IDWriteTextFormat1
*
iface
,
WCHAR
*
name
,
UINT32
size
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p %u)
\n
"
,
This
,
name
,
size
);
...
...
@@ -3946,44 +3946,44 @@ static HRESULT WINAPI dwritetextformat1_layout_GetFontFamilyName(IDWriteTextForm
return
S_OK
;
}
static
DWRITE_FONT_WEIGHT
WINAPI
dwritetextformat
1
_layout_GetFontWeight
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_FONT_WEIGHT
WINAPI
dwritetextformat_layout_GetFontWeight
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
weight
;
}
static
DWRITE_FONT_STYLE
WINAPI
dwritetextformat
1
_layout_GetFontStyle
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_FONT_STYLE
WINAPI
dwritetextformat_layout_GetFontStyle
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
style
;
}
static
DWRITE_FONT_STRETCH
WINAPI
dwritetextformat
1
_layout_GetFontStretch
(
IDWriteTextFormat1
*
iface
)
static
DWRITE_FONT_STRETCH
WINAPI
dwritetextformat_layout_GetFontStretch
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
stretch
;
}
static
FLOAT
WINAPI
dwritetextformat
1
_layout_GetFontSize
(
IDWriteTextFormat1
*
iface
)
static
FLOAT
WINAPI
dwritetextformat_layout_GetFontSize
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
fontsize
;
}
static
UINT32
WINAPI
dwritetextformat
1
_layout_GetLocaleNameLength
(
IDWriteTextFormat1
*
iface
)
static
UINT32
WINAPI
dwritetextformat_layout_GetLocaleNameLength
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
locale_len
;
}
static
HRESULT
WINAPI
dwritetextformat
1
_layout_GetLocaleName
(
IDWriteTextFormat1
*
iface
,
WCHAR
*
name
,
UINT32
size
)
static
HRESULT
WINAPI
dwritetextformat_layout_GetLocaleName
(
IDWriteTextFormat1
*
iface
,
WCHAR
*
name
,
UINT32
size
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p %u)
\n
"
,
This
,
name
,
size
);
...
...
@@ -3994,21 +3994,21 @@ static HRESULT WINAPI dwritetextformat1_layout_GetLocaleName(IDWriteTextFormat1
static
HRESULT
WINAPI
dwritetextformat1_layout_SetVerticalGlyphOrientation
(
IDWriteTextFormat1
*
iface
,
DWRITE_VERTICAL_GLYPH_ORIENTATION
orientation
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
FIXME
(
"(%p)->(%d): stub
\n
"
,
This
,
orientation
);
return
E_NOTIMPL
;
}
static
DWRITE_VERTICAL_GLYPH_ORIENTATION
WINAPI
dwritetextformat1_layout_GetVerticalGlyphOrientation
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT
;
}
static
HRESULT
WINAPI
dwritetextformat1_layout_SetLastLineWrapping
(
IDWriteTextFormat1
*
iface
,
BOOL
lastline_wrapping_enabled
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
lastline_wrapping_enabled
);
...
...
@@ -4018,68 +4018,68 @@ static HRESULT WINAPI dwritetextformat1_layout_SetLastLineWrapping(IDWriteTextFo
static
BOOL
WINAPI
dwritetextformat1_layout_GetLastLineWrapping
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
last_line_wrapping
;
}
static
HRESULT
WINAPI
dwritetextformat1_layout_SetOpticalAlignment
(
IDWriteTextFormat1
*
iface
,
DWRITE_OPTICAL_ALIGNMENT
alignment
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
alignment
);
return
format_set_optical_alignment
(
&
This
->
format
,
alignment
);
}
static
DWRITE_OPTICAL_ALIGNMENT
WINAPI
dwritetextformat1_layout_GetOpticalAlignment
(
IDWriteTextFormat1
*
iface
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
optical_alignment
;
}
static
HRESULT
WINAPI
dwritetextformat1_layout_SetFontFallback
(
IDWriteTextFormat1
*
iface
,
IDWriteFontFallback
*
fallback
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
fallback
);
return
IDWriteTextLayout3_SetFontFallback
(
&
This
->
IDWriteTextLayout3_iface
,
fallback
);
}
static
HRESULT
WINAPI
dwritetextformat1_layout_GetFontFallback
(
IDWriteTextFormat1
*
iface
,
IDWriteFontFallback
**
fallback
)
{
struct
dwrite_textlayout
*
This
=
impl_layout_f
or
m_IDWriteTextFormat1
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_layout_f
ro
m_IDWriteTextFormat1
(
iface
);
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
fallback
);
return
IDWriteTextLayout3_GetFontFallback
(
&
This
->
IDWriteTextLayout3_iface
,
fallback
);
}
static
const
IDWriteTextFormat1Vtbl
dwritetextformat1_layout_vtbl
=
{
dwritetextformat
1
_layout_QueryInterface
,
dwritetextformat
1
_layout_AddRef
,
dwritetextformat
1
_layout_Release
,
dwritetextformat
1
_layout_SetTextAlignment
,
dwritetextformat
1
_layout_SetParagraphAlignment
,
dwritetextformat
1
_layout_SetWordWrapping
,
dwritetextformat
1
_layout_SetReadingDirection
,
dwritetextformat
1
_layout_SetFlowDirection
,
dwritetextformat
1
_layout_SetIncrementalTabStop
,
dwritetextformat
1
_layout_SetTrimming
,
dwritetextformat
1
_layout_SetLineSpacing
,
dwritetextformat
1
_layout_GetTextAlignment
,
dwritetextformat
1
_layout_GetParagraphAlignment
,
dwritetextformat
1
_layout_GetWordWrapping
,
dwritetextformat
1
_layout_GetReadingDirection
,
dwritetextformat
1
_layout_GetFlowDirection
,
dwritetextformat
1
_layout_GetIncrementalTabStop
,
dwritetextformat
1
_layout_GetTrimming
,
dwritetextformat
1
_layout_GetLineSpacing
,
dwritetextformat
1
_layout_GetFontCollection
,
dwritetextformat
1
_layout_GetFontFamilyNameLength
,
dwritetextformat
1
_layout_GetFontFamilyName
,
dwritetextformat
1
_layout_GetFontWeight
,
dwritetextformat
1
_layout_GetFontStyle
,
dwritetextformat
1
_layout_GetFontStretch
,
dwritetextformat
1
_layout_GetFontSize
,
dwritetextformat
1
_layout_GetLocaleNameLength
,
dwritetextformat
1
_layout_GetLocaleName
,
dwritetextformat_layout_QueryInterface
,
dwritetextformat_layout_AddRef
,
dwritetextformat_layout_Release
,
dwritetextformat_layout_SetTextAlignment
,
dwritetextformat_layout_SetParagraphAlignment
,
dwritetextformat_layout_SetWordWrapping
,
dwritetextformat_layout_SetReadingDirection
,
dwritetextformat_layout_SetFlowDirection
,
dwritetextformat_layout_SetIncrementalTabStop
,
dwritetextformat_layout_SetTrimming
,
dwritetextformat_layout_SetLineSpacing
,
dwritetextformat_layout_GetTextAlignment
,
dwritetextformat_layout_GetParagraphAlignment
,
dwritetextformat_layout_GetWordWrapping
,
dwritetextformat_layout_GetReadingDirection
,
dwritetextformat_layout_GetFlowDirection
,
dwritetextformat_layout_GetIncrementalTabStop
,
dwritetextformat_layout_GetTrimming
,
dwritetextformat_layout_GetLineSpacing
,
dwritetextformat_layout_GetFontCollection
,
dwritetextformat_layout_GetFontFamilyNameLength
,
dwritetextformat_layout_GetFontFamilyName
,
dwritetextformat_layout_GetFontWeight
,
dwritetextformat_layout_GetFontStyle
,
dwritetextformat_layout_GetFontStretch
,
dwritetextformat_layout_GetFontSize
,
dwritetextformat_layout_GetLocaleNameLength
,
dwritetextformat_layout_GetLocaleName
,
dwritetextformat1_layout_SetVerticalGlyphOrientation
,
dwritetextformat1_layout_GetVerticalGlyphOrientation
,
dwritetextformat1_layout_SetLastLineWrapping
,
...
...
@@ -4087,7 +4087,7 @@ static const IDWriteTextFormat1Vtbl dwritetextformat1_layout_vtbl = {
dwritetextformat1_layout_SetOpticalAlignment
,
dwritetextformat1_layout_GetOpticalAlignment
,
dwritetextformat1_layout_SetFontFallback
,
dwritetextformat1_layout_GetFontFallback
dwritetextformat1_layout_GetFontFallback
,
};
static
HRESULT
WINAPI
dwritetextlayout_sink_QueryInterface
(
IDWriteTextAnalysisSink1
*
iface
,
...
...
@@ -4739,18 +4739,19 @@ HRESULT create_trimmingsign(IDWriteFactory2 *factory, IDWriteTextFormat *format,
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat_QueryInterface
(
IDWriteTextFormat
1
*
iface
,
REFIID
riid
,
void
**
obj
)
static
HRESULT
WINAPI
dwritetextformat_QueryInterface
(
IDWriteTextFormat
2
*
iface
,
REFIID
riid
,
void
**
obj
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
obj
);
if
(
IsEqualIID
(
riid
,
&
IID_IDWriteTextFormat1
)
||
if
(
IsEqualIID
(
riid
,
&
IID_IDWriteTextFormat2
)
||
IsEqualIID
(
riid
,
&
IID_IDWriteTextFormat1
)
||
IsEqualIID
(
riid
,
&
IID_IDWriteTextFormat
)
||
IsEqualIID
(
riid
,
&
IID_IUnknown
))
{
*
obj
=
iface
;
IDWriteTextFormat
1
_AddRef
(
iface
);
IDWriteTextFormat
2
_AddRef
(
iface
);
return
S_OK
;
}
...
...
@@ -4759,17 +4760,17 @@ static HRESULT WINAPI dwritetextformat_QueryInterface(IDWriteTextFormat1 *iface,
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
dwritetextformat_AddRef
(
IDWriteTextFormat
1
*
iface
)
static
ULONG
WINAPI
dwritetextformat_AddRef
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
ULONG
ref
=
InterlockedIncrement
(
&
This
->
ref
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
ref
);
return
ref
;
}
static
ULONG
WINAPI
dwritetextformat_Release
(
IDWriteTextFormat
1
*
iface
)
static
ULONG
WINAPI
dwritetextformat_Release
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
ref
);
...
...
@@ -4783,52 +4784,52 @@ static ULONG WINAPI dwritetextformat_Release(IDWriteTextFormat1 *iface)
return
ref
;
}
static
HRESULT
WINAPI
dwritetextformat_SetTextAlignment
(
IDWriteTextFormat
1
*
iface
,
DWRITE_TEXT_ALIGNMENT
alignment
)
static
HRESULT
WINAPI
dwritetextformat_SetTextAlignment
(
IDWriteTextFormat
2
*
iface
,
DWRITE_TEXT_ALIGNMENT
alignment
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
alignment
);
return
format_set_textalignment
(
&
This
->
format
,
alignment
,
NULL
);
}
static
HRESULT
WINAPI
dwritetextformat_SetParagraphAlignment
(
IDWriteTextFormat
1
*
iface
,
DWRITE_PARAGRAPH_ALIGNMENT
alignment
)
static
HRESULT
WINAPI
dwritetextformat_SetParagraphAlignment
(
IDWriteTextFormat
2
*
iface
,
DWRITE_PARAGRAPH_ALIGNMENT
alignment
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
alignment
);
return
format_set_paralignment
(
&
This
->
format
,
alignment
,
NULL
);
}
static
HRESULT
WINAPI
dwritetextformat_SetWordWrapping
(
IDWriteTextFormat
1
*
iface
,
DWRITE_WORD_WRAPPING
wrapping
)
static
HRESULT
WINAPI
dwritetextformat_SetWordWrapping
(
IDWriteTextFormat
2
*
iface
,
DWRITE_WORD_WRAPPING
wrapping
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
wrapping
);
return
format_set_wordwrapping
(
&
This
->
format
,
wrapping
,
NULL
);
}
static
HRESULT
WINAPI
dwritetextformat_SetReadingDirection
(
IDWriteTextFormat
1
*
iface
,
DWRITE_READING_DIRECTION
direction
)
static
HRESULT
WINAPI
dwritetextformat_SetReadingDirection
(
IDWriteTextFormat
2
*
iface
,
DWRITE_READING_DIRECTION
direction
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
direction
);
return
format_set_readingdirection
(
&
This
->
format
,
direction
,
NULL
);
}
static
HRESULT
WINAPI
dwritetextformat_SetFlowDirection
(
IDWriteTextFormat
1
*
iface
,
DWRITE_FLOW_DIRECTION
direction
)
static
HRESULT
WINAPI
dwritetextformat_SetFlowDirection
(
IDWriteTextFormat
2
*
iface
,
DWRITE_FLOW_DIRECTION
direction
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
direction
);
return
format_set_flowdirection
(
&
This
->
format
,
direction
,
NULL
);
}
static
HRESULT
WINAPI
dwritetextformat_SetIncrementalTabStop
(
IDWriteTextFormat
1
*
iface
,
FLOAT
tabstop
)
static
HRESULT
WINAPI
dwritetextformat_SetIncrementalTabStop
(
IDWriteTextFormat
2
*
iface
,
FLOAT
tabstop
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
FIXME
(
"(%p)->(%f): stub
\n
"
,
This
,
tabstop
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetTrimming
(
IDWriteTextFormat
1
*
iface
,
DWRITE_TRIMMING
const
*
trimming
,
static
HRESULT
WINAPI
dwritetextformat_SetTrimming
(
IDWriteTextFormat
2
*
iface
,
DWRITE_TRIMMING
const
*
trimming
,
IDWriteInlineObject
*
trimming_sign
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p %p)
\n
"
,
This
,
trimming
,
trimming_sign
);
This
->
format
.
trimming
=
*
trimming
;
...
...
@@ -4840,60 +4841,60 @@ static HRESULT WINAPI dwritetextformat_SetTrimming(IDWriteTextFormat1 *iface, DW
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat_SetLineSpacing
(
IDWriteTextFormat
1
*
iface
,
DWRITE_LINE_SPACING_METHOD
method
,
static
HRESULT
WINAPI
dwritetextformat_SetLineSpacing
(
IDWriteTextFormat
2
*
iface
,
DWRITE_LINE_SPACING_METHOD
method
,
FLOAT
spacing
,
FLOAT
baseline
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d %f %f)
\n
"
,
This
,
method
,
spacing
,
baseline
);
return
format_set_linespacing
(
&
This
->
format
,
method
,
spacing
,
baseline
,
NULL
);
}
static
DWRITE_TEXT_ALIGNMENT
WINAPI
dwritetextformat_GetTextAlignment
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_TEXT_ALIGNMENT
WINAPI
dwritetextformat_GetTextAlignment
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
textalignment
;
}
static
DWRITE_PARAGRAPH_ALIGNMENT
WINAPI
dwritetextformat_GetParagraphAlignment
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_PARAGRAPH_ALIGNMENT
WINAPI
dwritetextformat_GetParagraphAlignment
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
paralign
;
}
static
DWRITE_WORD_WRAPPING
WINAPI
dwritetextformat_GetWordWrapping
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_WORD_WRAPPING
WINAPI
dwritetextformat_GetWordWrapping
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
wrapping
;
}
static
DWRITE_READING_DIRECTION
WINAPI
dwritetextformat_GetReadingDirection
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_READING_DIRECTION
WINAPI
dwritetextformat_GetReadingDirection
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
readingdir
;
}
static
DWRITE_FLOW_DIRECTION
WINAPI
dwritetextformat_GetFlowDirection
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_FLOW_DIRECTION
WINAPI
dwritetextformat_GetFlowDirection
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
flow
;
}
static
FLOAT
WINAPI
dwritetextformat_GetIncrementalTabStop
(
IDWriteTextFormat
1
*
iface
)
static
FLOAT
WINAPI
dwritetextformat_GetIncrementalTabStop
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
0
.
0
f
;
}
static
HRESULT
WINAPI
dwritetextformat_GetTrimming
(
IDWriteTextFormat
1
*
iface
,
DWRITE_TRIMMING
*
options
,
static
HRESULT
WINAPI
dwritetextformat_GetTrimming
(
IDWriteTextFormat
2
*
iface
,
DWRITE_TRIMMING
*
options
,
IDWriteInlineObject
**
trimming_sign
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p %p)
\n
"
,
This
,
options
,
trimming_sign
);
*
options
=
This
->
format
.
trimming
;
...
...
@@ -4903,10 +4904,10 @@ static HRESULT WINAPI dwritetextformat_GetTrimming(IDWriteTextFormat1 *iface, DW
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat_GetLineSpacing
(
IDWriteTextFormat
1
*
iface
,
DWRITE_LINE_SPACING_METHOD
*
method
,
static
HRESULT
WINAPI
dwritetextformat_GetLineSpacing
(
IDWriteTextFormat
2
*
iface
,
DWRITE_LINE_SPACING_METHOD
*
method
,
FLOAT
*
spacing
,
FLOAT
*
baseline
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p %p %p)
\n
"
,
This
,
method
,
spacing
,
baseline
);
*
method
=
This
->
format
.
spacingmethod
;
...
...
@@ -4915,9 +4916,9 @@ static HRESULT WINAPI dwritetextformat_GetLineSpacing(IDWriteTextFormat1 *iface,
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat_GetFontCollection
(
IDWriteTextFormat
1
*
iface
,
IDWriteFontCollection
**
collection
)
static
HRESULT
WINAPI
dwritetextformat_GetFontCollection
(
IDWriteTextFormat
2
*
iface
,
IDWriteFontCollection
**
collection
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
collection
);
...
...
@@ -4927,16 +4928,16 @@ static HRESULT WINAPI dwritetextformat_GetFontCollection(IDWriteTextFormat1 *ifa
return
S_OK
;
}
static
UINT32
WINAPI
dwritetextformat_GetFontFamilyNameLength
(
IDWriteTextFormat
1
*
iface
)
static
UINT32
WINAPI
dwritetextformat_GetFontFamilyNameLength
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
family_len
;
}
static
HRESULT
WINAPI
dwritetextformat_GetFontFamilyName
(
IDWriteTextFormat
1
*
iface
,
WCHAR
*
name
,
UINT32
size
)
static
HRESULT
WINAPI
dwritetextformat_GetFontFamilyName
(
IDWriteTextFormat
2
*
iface
,
WCHAR
*
name
,
UINT32
size
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p %u)
\n
"
,
This
,
name
,
size
);
...
...
@@ -4945,44 +4946,44 @@ static HRESULT WINAPI dwritetextformat_GetFontFamilyName(IDWriteTextFormat1 *ifa
return
S_OK
;
}
static
DWRITE_FONT_WEIGHT
WINAPI
dwritetextformat_GetFontWeight
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_FONT_WEIGHT
WINAPI
dwritetextformat_GetFontWeight
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
weight
;
}
static
DWRITE_FONT_STYLE
WINAPI
dwritetextformat_GetFontStyle
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_FONT_STYLE
WINAPI
dwritetextformat_GetFontStyle
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
style
;
}
static
DWRITE_FONT_STRETCH
WINAPI
dwritetextformat_GetFontStretch
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_FONT_STRETCH
WINAPI
dwritetextformat_GetFontStretch
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
stretch
;
}
static
FLOAT
WINAPI
dwritetextformat_GetFontSize
(
IDWriteTextFormat
1
*
iface
)
static
FLOAT
WINAPI
dwritetextformat_GetFontSize
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
fontsize
;
}
static
UINT32
WINAPI
dwritetextformat_GetLocaleNameLength
(
IDWriteTextFormat
1
*
iface
)
static
UINT32
WINAPI
dwritetextformat_GetLocaleNameLength
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
locale_len
;
}
static
HRESULT
WINAPI
dwritetextformat_GetLocaleName
(
IDWriteTextFormat
1
*
iface
,
WCHAR
*
name
,
UINT32
size
)
static
HRESULT
WINAPI
dwritetextformat_GetLocaleName
(
IDWriteTextFormat
2
*
iface
,
WCHAR
*
name
,
UINT32
size
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p %u)
\n
"
,
This
,
name
,
size
);
...
...
@@ -4991,9 +4992,9 @@ static HRESULT WINAPI dwritetextformat_GetLocaleName(IDWriteTextFormat1 *iface,
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat1_SetVerticalGlyphOrientation
(
IDWriteTextFormat
1
*
iface
,
DWRITE_VERTICAL_GLYPH_ORIENTATION
orientation
)
static
HRESULT
WINAPI
dwritetextformat1_SetVerticalGlyphOrientation
(
IDWriteTextFormat
2
*
iface
,
DWRITE_VERTICAL_GLYPH_ORIENTATION
orientation
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
orientation
);
...
...
@@ -5004,16 +5005,16 @@ static HRESULT WINAPI dwritetextformat1_SetVerticalGlyphOrientation(IDWriteTextF
return
S_OK
;
}
static
DWRITE_VERTICAL_GLYPH_ORIENTATION
WINAPI
dwritetextformat1_GetVerticalGlyphOrientation
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_VERTICAL_GLYPH_ORIENTATION
WINAPI
dwritetextformat1_GetVerticalGlyphOrientation
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
vertical_orientation
;
}
static
HRESULT
WINAPI
dwritetextformat1_SetLastLineWrapping
(
IDWriteTextFormat
1
*
iface
,
BOOL
lastline_wrapping_enabled
)
static
HRESULT
WINAPI
dwritetextformat1_SetLastLineWrapping
(
IDWriteTextFormat
2
*
iface
,
BOOL
lastline_wrapping_enabled
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
lastline_wrapping_enabled
);
...
...
@@ -5021,42 +5022,56 @@ static HRESULT WINAPI dwritetextformat1_SetLastLineWrapping(IDWriteTextFormat1 *
return
S_OK
;
}
static
BOOL
WINAPI
dwritetextformat1_GetLastLineWrapping
(
IDWriteTextFormat
1
*
iface
)
static
BOOL
WINAPI
dwritetextformat1_GetLastLineWrapping
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
last_line_wrapping
;
}
static
HRESULT
WINAPI
dwritetextformat1_SetOpticalAlignment
(
IDWriteTextFormat
1
*
iface
,
DWRITE_OPTICAL_ALIGNMENT
alignment
)
static
HRESULT
WINAPI
dwritetextformat1_SetOpticalAlignment
(
IDWriteTextFormat
2
*
iface
,
DWRITE_OPTICAL_ALIGNMENT
alignment
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
alignment
);
return
format_set_optical_alignment
(
&
This
->
format
,
alignment
);
}
static
DWRITE_OPTICAL_ALIGNMENT
WINAPI
dwritetextformat1_GetOpticalAlignment
(
IDWriteTextFormat
1
*
iface
)
static
DWRITE_OPTICAL_ALIGNMENT
WINAPI
dwritetextformat1_GetOpticalAlignment
(
IDWriteTextFormat
2
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)
\n
"
,
This
);
return
This
->
format
.
optical_alignment
;
}
static
HRESULT
WINAPI
dwritetextformat1_SetFontFallback
(
IDWriteTextFormat
1
*
iface
,
IDWriteFontFallback
*
fallback
)
static
HRESULT
WINAPI
dwritetextformat1_SetFontFallback
(
IDWriteTextFormat
2
*
iface
,
IDWriteFontFallback
*
fallback
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
fallback
);
return
set_fontfallback_for_format
(
&
This
->
format
,
fallback
);
}
static
HRESULT
WINAPI
dwritetextformat1_GetFontFallback
(
IDWriteTextFormat
1
*
iface
,
IDWriteFontFallback
**
fallback
)
static
HRESULT
WINAPI
dwritetextformat1_GetFontFallback
(
IDWriteTextFormat
2
*
iface
,
IDWriteFontFallback
**
fallback
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
1
(
iface
);
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
2
(
iface
);
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
fallback
);
return
get_fontfallback_from_format
(
&
This
->
format
,
fallback
);
}
static
const
IDWriteTextFormat1Vtbl
dwritetextformatvtbl
=
{
static
HRESULT
WINAPI
dwritetextformat2_SetLineSpacing
(
IDWriteTextFormat2
*
iface
,
DWRITE_LINE_SPACING
const
*
spacing
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat2
(
iface
);
FIXME
(
"(%p)->(%p): stub
\n
"
,
This
,
spacing
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat2_GetLineSpacing
(
IDWriteTextFormat2
*
iface
,
DWRITE_LINE_SPACING
*
spacing
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat2
(
iface
);
FIXME
(
"(%p)->(%p): stub
\n
"
,
This
,
spacing
);
return
E_NOTIMPL
;
}
static
const
IDWriteTextFormat2Vtbl
dwritetextformatvtbl
=
{
dwritetextformat_QueryInterface
,
dwritetextformat_AddRef
,
dwritetextformat_Release
,
...
...
@@ -5092,13 +5107,15 @@ static const IDWriteTextFormat1Vtbl dwritetextformatvtbl = {
dwritetextformat1_SetOpticalAlignment
,
dwritetextformat1_GetOpticalAlignment
,
dwritetextformat1_SetFontFallback
,
dwritetextformat1_GetFontFallback
dwritetextformat1_GetFontFallback
,
dwritetextformat2_SetLineSpacing
,
dwritetextformat2_GetLineSpacing
};
static
struct
dwrite_textformat
*
unsafe_impl_from_IDWriteTextFormat
(
IDWriteTextFormat
*
iface
)
{
return
(
iface
->
lpVtbl
==
(
IDWriteTextFormatVtbl
*
)
&
dwritetextformatvtbl
)
?
CONTAINING_RECORD
(
iface
,
struct
dwrite_textformat
,
IDWriteTextFormat
1
_iface
)
:
NULL
;
CONTAINING_RECORD
(
iface
,
struct
dwrite_textformat
,
IDWriteTextFormat
2
_iface
)
:
NULL
;
}
HRESULT
create_textformat
(
const
WCHAR
*
family_name
,
IDWriteFontCollection
*
collection
,
DWRITE_FONT_WEIGHT
weight
,
DWRITE_FONT_STYLE
style
,
...
...
@@ -5111,7 +5128,7 @@ HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *colle
This
=
heap_alloc
(
sizeof
(
struct
dwrite_textformat
));
if
(
!
This
)
return
E_OUTOFMEMORY
;
This
->
IDWriteTextFormat
1
_iface
.
lpVtbl
=
&
dwritetextformatvtbl
;
This
->
IDWriteTextFormat
2
_iface
.
lpVtbl
=
&
dwritetextformatvtbl
;
This
->
ref
=
1
;
This
->
format
.
family_name
=
heap_strdupW
(
family_name
);
This
->
format
.
family_len
=
strlenW
(
family_name
);
...
...
@@ -5142,7 +5159,7 @@ HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *colle
This
->
format
.
fallback
=
NULL
;
IDWriteFontCollection_AddRef
(
collection
);
*
format
=
(
IDWriteTextFormat
*
)
&
This
->
IDWriteTextFormat
1
_iface
;
*
format
=
(
IDWriteTextFormat
*
)
&
This
->
IDWriteTextFormat
2
_iface
;
return
S_OK
;
}
...
...
dlls/dwrite/tests/layout.c
View file @
c51212e5
...
...
@@ -4873,6 +4873,26 @@ static void test_InvalidateLayout(void)
hr
=
IDWriteTextLayout_QueryInterface
(
layout
,
&
IID_IDWriteTextLayout3
,
(
void
**
)
&
layout3
);
if
(
hr
==
S_OK
)
{
IDWriteTextFormat1
*
format1
;
IDWriteTextFormat2
*
format2
;
hr
=
IDWriteTextFormat_QueryInterface
(
format
,
&
IID_IDWriteTextFormat2
,
(
void
**
)
&
format2
);
ok
(
hr
==
S_OK
,
"got 0x%08x
\n
"
,
hr
);
IDWriteTextFormat2_Release
(
format2
);
hr
=
IDWriteTextLayout_QueryInterface
(
layout
,
&
IID_IDWriteTextFormat2
,
(
void
**
)
&
format2
);
ok
(
hr
==
E_NOINTERFACE
,
"got 0x%08x
\n
"
,
hr
);
hr
=
IDWriteTextLayout_QueryInterface
(
layout
,
&
IID_IDWriteTextFormat1
,
(
void
**
)
&
format1
);
ok
(
hr
==
S_OK
,
"got 0x%08x
\n
"
,
hr
);
hr
=
IDWriteTextFormat1_QueryInterface
(
format1
,
&
IID_IDWriteTextFormat2
,
(
void
**
)
&
format2
);
ok
(
hr
==
E_NOINTERFACE
,
"got 0x%08x
\n
"
,
hr
);
IDWriteTextFormat1_Release
(
format1
);
hr
=
IDWriteTextLayout3_QueryInterface
(
layout3
,
&
IID_IDWriteTextFormat2
,
(
void
**
)
&
format2
);
ok
(
hr
==
E_NOINTERFACE
,
"got 0x%08x
\n
"
,
hr
);
hr
=
IDWriteTextLayout3_InvalidateLayout
(
layout3
);
ok
(
hr
==
S_OK
,
"got 0x%08x
\n
"
,
hr
);
IDWriteTextLayout3_Release
(
layout3
);
...
...
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