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
9a32882c
Commit
9a32882c
authored
Oct 10, 2012
by
Nikolay Sivov
Committed by
Alexandre Julliard
Oct 10, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dwrite: Added IDWriteTextFormat stub implementation.
parent
0a666390
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
278 additions
and
2 deletions
+278
-2
dwrite_private.h
dlls/dwrite/dwrite_private.h
+1
-0
layout.c
dlls/dwrite/layout.c
+275
-0
main.c
dlls/dwrite/main.c
+2
-2
No files found.
dlls/dwrite/dwrite_private.h
View file @
9a32882c
...
@@ -54,6 +54,7 @@ static inline LPWSTR heap_strdupW(LPCWSTR str)
...
@@ -54,6 +54,7 @@ static inline LPWSTR heap_strdupW(LPCWSTR str)
}
}
extern
HRESULT
create_font_from_logfont
(
const
LOGFONTW
*
,
IDWriteFont
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_font_from_logfont
(
const
LOGFONTW
*
,
IDWriteFont
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_textformat
(
IDWriteTextFormat
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_textlayout
(
IDWriteTextLayout
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_textlayout
(
IDWriteTextLayout
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_gdiinterop
(
IDWriteGdiInterop
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_gdiinterop
(
IDWriteGdiInterop
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_localizedstrings
(
IDWriteLocalizedStrings
**
)
DECLSPEC_HIDDEN
;
extern
HRESULT
create_localizedstrings
(
IDWriteLocalizedStrings
**
)
DECLSPEC_HIDDEN
;
...
...
dlls/dwrite/layout.c
View file @
9a32882c
...
@@ -37,11 +37,21 @@ struct dwrite_textlayout {
...
@@ -37,11 +37,21 @@ struct dwrite_textlayout {
LONG
ref
;
LONG
ref
;
};
};
struct
dwrite_textformat
{
IDWriteTextFormat
IDWriteTextFormat_iface
;
LONG
ref
;
};
static
inline
struct
dwrite_textlayout
*
impl_from_IDWriteTextLayout
(
IDWriteTextLayout
*
iface
)
static
inline
struct
dwrite_textlayout
*
impl_from_IDWriteTextLayout
(
IDWriteTextLayout
*
iface
)
{
{
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textlayout
,
IDWriteTextLayout_iface
);
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textlayout
,
IDWriteTextLayout_iface
);
}
}
static
inline
struct
dwrite_textformat
*
impl_from_IDWriteTextFormat
(
IDWriteTextFormat
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
dwrite_textformat
,
IDWriteTextFormat_iface
);
}
static
HRESULT
WINAPI
dwritetextlayout_QueryInterface
(
IDWriteTextLayout
*
iface
,
REFIID
riid
,
void
**
obj
)
static
HRESULT
WINAPI
dwritetextlayout_QueryInterface
(
IDWriteTextLayout
*
iface
,
REFIID
riid
,
void
**
obj
)
{
{
struct
dwrite_textlayout
*
This
=
impl_from_IDWriteTextLayout
(
iface
);
struct
dwrite_textlayout
*
This
=
impl_from_IDWriteTextLayout
(
iface
);
...
@@ -643,3 +653,268 @@ HRESULT create_textlayout(IDWriteTextLayout **layout)
...
@@ -643,3 +653,268 @@ HRESULT create_textlayout(IDWriteTextLayout **layout)
return
S_OK
;
return
S_OK
;
}
}
static
HRESULT
WINAPI
dwritetextformat_QueryInterface
(
IDWriteTextFormat
*
iface
,
REFIID
riid
,
void
**
obj
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
TRACE
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
obj
);
if
(
IsEqualIID
(
riid
,
&
IID_IUnknown
)
||
IsEqualIID
(
riid
,
&
IID_IDWriteTextFormat
))
{
*
obj
=
iface
;
IDWriteTextFormat_AddRef
(
iface
);
return
S_OK
;
}
*
obj
=
NULL
;
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
dwritetextformat_AddRef
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
ULONG
ref
=
InterlockedIncrement
(
&
This
->
ref
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
ref
);
return
ref
;
}
static
ULONG
WINAPI
dwritetextformat_Release
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"(%p)->(%d)
\n
"
,
This
,
ref
);
if
(
!
ref
)
heap_free
(
This
);
return
S_OK
;
}
static
HRESULT
WINAPI
dwritetextformat_SetTextAlignment
(
IDWriteTextFormat
*
iface
,
DWRITE_TEXT_ALIGNMENT
alignment
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%d): stub
\n
"
,
This
,
alignment
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetParagraphAlignment
(
IDWriteTextFormat
*
iface
,
DWRITE_PARAGRAPH_ALIGNMENT
alignment
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%d): stub
\n
"
,
This
,
alignment
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetWordWrapping
(
IDWriteTextFormat
*
iface
,
DWRITE_WORD_WRAPPING
wrapping
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%d): stub
\n
"
,
This
,
wrapping
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetReadingDirection
(
IDWriteTextFormat
*
iface
,
DWRITE_READING_DIRECTION
direction
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%d): stub
\n
"
,
This
,
direction
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetFlowDirection
(
IDWriteTextFormat
*
iface
,
DWRITE_FLOW_DIRECTION
direction
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%d): stub
\n
"
,
This
,
direction
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetIncrementalTabStop
(
IDWriteTextFormat
*
iface
,
FLOAT
tabstop
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%f): stub
\n
"
,
This
,
tabstop
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetTrimming
(
IDWriteTextFormat
*
iface
,
DWRITE_TRIMMING
const
*
trimming
,
IDWriteInlineObject
*
trimming_sign
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%p %p): stub
\n
"
,
This
,
trimming
,
trimming_sign
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_SetLineSpacing
(
IDWriteTextFormat
*
iface
,
DWRITE_LINE_SPACING_METHOD
spacing
,
FLOAT
line_spacing
,
FLOAT
baseline
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%d %f %f): stub
\n
"
,
This
,
spacing
,
line_spacing
,
baseline
);
return
E_NOTIMPL
;
}
static
DWRITE_TEXT_ALIGNMENT
WINAPI
dwritetextformat_GetTextAlignment
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_TEXT_ALIGNMENT_LEADING
;
}
static
DWRITE_PARAGRAPH_ALIGNMENT
WINAPI
dwritetextformat_GetParagraphAlignment
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_PARAGRAPH_ALIGNMENT_NEAR
;
}
static
DWRITE_WORD_WRAPPING
WINAPI
dwritetextformat_GetWordWrapping
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_WORD_WRAPPING_NO_WRAP
;
}
static
DWRITE_READING_DIRECTION
WINAPI
dwritetextformat_GetReadingDirection
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_READING_DIRECTION_LEFT_TO_RIGHT
;
}
static
DWRITE_FLOW_DIRECTION
WINAPI
dwritetextformat_GetFlowDirection
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM
;
}
static
FLOAT
WINAPI
dwritetextformat_GetIncrementalTabStop
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
0
.
0
;
}
static
HRESULT
WINAPI
dwritetextformat_GetTrimming
(
IDWriteTextFormat
*
iface
,
DWRITE_TRIMMING
*
options
,
IDWriteInlineObject
**
trimming_sign
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%p %p): stub
\n
"
,
This
,
options
,
trimming_sign
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_GetLineSpacing
(
IDWriteTextFormat
*
iface
,
DWRITE_LINE_SPACING_METHOD
*
method
,
FLOAT
*
spacing
,
FLOAT
*
baseline
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%p %p %p): stub
\n
"
,
This
,
method
,
spacing
,
baseline
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
dwritetextformat_GetFontCollection
(
IDWriteTextFormat
*
iface
,
IDWriteFontCollection
**
collection
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%p): stub
\n
"
,
This
,
collection
);
return
E_NOTIMPL
;
}
static
UINT32
WINAPI
dwritetextformat_GetFontFamilyNameLength
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
0
;
}
static
HRESULT
WINAPI
dwritetextformat_GetFontFamilyName
(
IDWriteTextFormat
*
iface
,
WCHAR
*
name
,
UINT32
size
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%p %u): stub
\n
"
,
This
,
name
,
size
);
return
E_NOTIMPL
;
}
static
DWRITE_FONT_WEIGHT
WINAPI
dwritetextformat_GetFontWeight
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_FONT_WEIGHT_NORMAL
;
}
static
DWRITE_FONT_STYLE
WINAPI
dwritetextformat_GetFontStyle
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_FONT_STYLE_NORMAL
;
}
static
DWRITE_FONT_STRETCH
WINAPI
dwritetextformat_GetFontStretch
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
DWRITE_FONT_STRETCH_NORMAL
;
}
static
FLOAT
WINAPI
dwritetextformat_GetFontSize
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
0
.
0
;
}
static
UINT32
WINAPI
dwritetextformat_GetLocaleNameLength
(
IDWriteTextFormat
*
iface
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p): stub
\n
"
,
This
);
return
0
;
}
static
HRESULT
WINAPI
dwritetextformat_GetLocaleName
(
IDWriteTextFormat
*
iface
,
WCHAR
*
name
,
UINT32
size
)
{
struct
dwrite_textformat
*
This
=
impl_from_IDWriteTextFormat
(
iface
);
FIXME
(
"(%p)->(%p %u): stub
\n
"
,
This
,
name
,
size
);
return
E_NOTIMPL
;
}
static
const
IDWriteTextFormatVtbl
dwritetextformatvtbl
=
{
dwritetextformat_QueryInterface
,
dwritetextformat_AddRef
,
dwritetextformat_Release
,
dwritetextformat_SetTextAlignment
,
dwritetextformat_SetParagraphAlignment
,
dwritetextformat_SetWordWrapping
,
dwritetextformat_SetReadingDirection
,
dwritetextformat_SetFlowDirection
,
dwritetextformat_SetIncrementalTabStop
,
dwritetextformat_SetTrimming
,
dwritetextformat_SetLineSpacing
,
dwritetextformat_GetTextAlignment
,
dwritetextformat_GetParagraphAlignment
,
dwritetextformat_GetWordWrapping
,
dwritetextformat_GetReadingDirection
,
dwritetextformat_GetFlowDirection
,
dwritetextformat_GetIncrementalTabStop
,
dwritetextformat_GetTrimming
,
dwritetextformat_GetLineSpacing
,
dwritetextformat_GetFontCollection
,
dwritetextformat_GetFontFamilyNameLength
,
dwritetextformat_GetFontFamilyName
,
dwritetextformat_GetFontWeight
,
dwritetextformat_GetFontStyle
,
dwritetextformat_GetFontStretch
,
dwritetextformat_GetFontSize
,
dwritetextformat_GetLocaleNameLength
,
dwritetextformat_GetLocaleName
};
HRESULT
create_textformat
(
IDWriteTextFormat
**
format
)
{
struct
dwrite_textformat
*
This
;
This
=
heap_alloc
(
sizeof
(
struct
dwrite_textformat
));
if
(
!
This
)
return
E_OUTOFMEMORY
;
This
->
IDWriteTextFormat_iface
.
lpVtbl
=
&
dwritetextformatvtbl
;
This
->
ref
=
1
;
*
format
=
&
This
->
IDWriteTextFormat_iface
;
return
S_OK
;
}
dlls/dwrite/main.c
View file @
9a32882c
...
@@ -479,9 +479,9 @@ static HRESULT WINAPI dwritefactory_CreateTextFormat(IDWriteFactory *iface, WCHA
...
@@ -479,9 +479,9 @@ static HRESULT WINAPI dwritefactory_CreateTextFormat(IDWriteFactory *iface, WCHA
IDWriteFontCollection
*
collection
,
DWRITE_FONT_WEIGHT
weight
,
DWRITE_FONT_STYLE
style
,
IDWriteFontCollection
*
collection
,
DWRITE_FONT_WEIGHT
weight
,
DWRITE_FONT_STYLE
style
,
DWRITE_FONT_STRETCH
stretch
,
FLOAT
size
,
WCHAR
const
*
locale
,
IDWriteTextFormat
**
format
)
DWRITE_FONT_STRETCH
stretch
,
FLOAT
size
,
WCHAR
const
*
locale
,
IDWriteTextFormat
**
format
)
{
{
FIXME
(
"(%s %p %d %d %d %f %s %p): stub
\n
"
,
debugstr_w
(
family_name
),
collection
,
weight
,
style
,
stretch
,
FIXME
(
"(%s %p %d %d %d %f %s %p): s
emi-s
tub
\n
"
,
debugstr_w
(
family_name
),
collection
,
weight
,
style
,
stretch
,
size
,
debugstr_w
(
locale
),
format
);
size
,
debugstr_w
(
locale
),
format
);
return
E_NOTIMPL
;
return
create_textformat
(
format
)
;
}
}
static
HRESULT
WINAPI
dwritefactory_CreateTypography
(
IDWriteFactory
*
iface
,
IDWriteTypography
**
typography
)
static
HRESULT
WINAPI
dwritefactory_CreateTypography
(
IDWriteFactory
*
iface
,
IDWriteTypography
**
typography
)
...
...
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