From 1fe59521bfad3f8c1759e84423158eb7e04bf33d Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 19 Jul 2026 14:16:14 -0700 Subject: [PATCH] remove directwrite in favor of gdi --- CMakeLists.txt | 20 - NTMakefile | 5 +- WatMakefile | 7 +- configure | 22 +- examples/basic/example.c | 2 +- include/Mw/LowLevel.h | 4 +- pl/rules.pl | 4 +- src/core.c | 8 +- src/text/directwrite.c | 588 -- src/text/dwrite.h | 5398 ------------ src/text/dwrite_2.h | 3252 -------- src/text/dwrite_3.h | 15009 ---------------------------------- src/text/font/boldmonottf.c | 2 +- src/text/font/boldttf.c | 2 +- src/text/font/monottf.c | 2 +- src/text/font/ttf.c | 2 +- src/text/text.c | 5 +- 17 files changed, 21 insertions(+), 24311 deletions(-) delete mode 100644 src/text/directwrite.c delete mode 100644 src/text/dwrite.h delete mode 100644 src/text/dwrite_2.h delete mode 100644 src/text/dwrite_3.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 11c3390..a16283e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,19 +39,6 @@ else() endif() if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) - if(${CMAKE_CROSSCOMPILING}) - message(STATUS "DirectWrite support has been enabled") - option(MW_USE_DIRECTWRITE "Use DirectWrite" ON) - else() - # DirectWrite stuff can only be used on Win10+ - if(${CMAKE_SYSTEM_VERSION} GREATER_EQUAL 10) - message(STATUS "DirectWrite support has been enabled") - option(MW_USE_DIRECTWRITE "Use DirectWrite" ON) - else() - message(WARNING "DirectWrite support has been disabled (must be compiling on Win10+)") - option(MW_USE_DIRECTWRITE "Use DirectWrite" OFF) - endif() - endif() option(MW_USE_GDI_TEXT "Use GDI for text rendering" ON) endif() @@ -164,13 +151,6 @@ if(MW_USE_FREETYPE2) endif() endif() -if(MW_USE_DIRECTWRITE) - target_compile_definitions( - Mw - PRIVATE - USE_DIRECTWRITE - ) -endif() if(MW_USE_GDI_TEXT) target_compile_definitions( diff --git a/NTMakefile b/NTMakefile index aa8b199..47ef312 100644 --- a/NTMakefile +++ b/NTMakefile @@ -64,7 +64,6 @@ clean: del /f /q src\icon\warning.obj del /f /q src\lowlevel.obj del /f /q src\string.obj - del /f /q src\text\directwrite.obj del /f /q src\text\font\boldfont.obj del /f /q src\text\font\boldmonottf.obj del /f /q src\text\font\boldttf.obj @@ -321,8 +320,8 @@ examples\gldemos\tripaint.obj: examples/gldemos/tripaint.c $(CC) $(EXE_CFLAGS) /Fo$@ examples/gldemos/tripaint.c -src\Mw.dll: external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\directwrite.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj - $(LD) $(MW_LDFLAGS) /OUT:$@ external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\directwrite.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib winmm.lib user32.lib advapi32.lib +src\Mw.dll: external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj + $(LD) $(MW_LDFLAGS) /OUT:$@ external\libz\src\adler32.obj external\libz\src\compress.obj external\libz\src\crc32.obj external\libz\src\deflate.obj external\libz\src\gzclose.obj external\libz\src\gzlib.obj external\libz\src\gzread.obj external\libz\src\gzwrite.obj external\libz\src\infback.obj external\libz\src\inffast.obj external\libz\src\inflate.obj external\libz\src\inftrees.obj external\libz\src\trees.obj external\libz\src\uncompr.obj external\libz\src\zutil.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\charset.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldmonottf.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\monottf.obj src\text\font\ttf.obj src\text\ft2.obj src\text\gdi.obj src\text\stbtt.obj src\text\text.obj src\truetype.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\calendar.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\subwindow.obj src\widget\tab.obj src\widget\table.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib winmm.lib user32.lib advapi32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index 84c510b..5f3e000 100644 --- a/WatMakefile +++ b/WatMakefile @@ -63,7 +63,6 @@ clean: .SYMBOLIC %erase src/icon/warning.obj %erase src/lowlevel.obj %erase src/string.obj - %erase src/text/directwrite.obj %erase src/text/font/boldfont.obj %erase src/text/font/boldmonottf.obj %erase src/text/font/boldttf.obj @@ -320,8 +319,8 @@ examples/gldemos/tripaint.obj: examples/gldemos/tripaint.c $(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/tripaint.c -src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/directwrite.obj src/text/font/boldfont.obj src/text/font/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj - $(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/directwrite.obj file src/text/font/boldfont.obj file src/text/font/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library winmm.lib library user32.lib library advapi32.lib +src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj + $(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library winmm.lib library user32.lib library advapi32.lib @@ -433,8 +432,6 @@ src/lowlevel.obj: src/lowlevel.c $(CC) $(MW_CFLAGS) -fo=$@ src/lowlevel.c src/string.obj: src/string.c $(CC) $(MW_CFLAGS) -fo=$@ src/string.c -src/text/directwrite.obj: src/text/directwrite.c - $(CC) $(MW_CFLAGS) -fo=$@ src/text/directwrite.c src/text/font/boldfont.obj: src/text/font/boldfont.c $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/boldfont.c src/text/font/boldmonottf.obj: src/text/font/boldmonottf.c diff --git a/configure b/configure index f24e3ab..57df6d8 100755 --- a/configure +++ b/configure @@ -59,7 +59,7 @@ my %features = ( "stb-image" => "use stb_image, instead use libjpeg/libpng", "stb-truetype" => "use stb_truetype", "freetype2" => "use FreeType2", - "directwrite" => "(Windows only) use DirectWrite", + "gdi-text" => "(Windows only) use GDI Text", "xrender" => "(X11 only) use XRender", "opengl" => "build OpenGL widget", "vulkan" => "build Vulkan widget", @@ -73,7 +73,7 @@ my %features = ( ); my @features_keys = ( "1classic-theme", "1stb-image", - "1stb-truetype", "1freetype2", "1directwrite", + "1stb-truetype", "1freetype2", "1gdi-text", "1opengl", "2xrender", "1vulkan", "2vulkan-string-helper", "1shared", "1static", @@ -101,23 +101,9 @@ sub def_platform { param_set("x11", 1); } if($target eq "Windows") { - if ($^O eq "Win32") - { - require Win32; - Win32->import(); - my ( $osvername, $major, $minor, $id ) = Win32::GetOSVersion(); - - if($major >= 10) { - param_set("directwrite", 1); - } else { - param_set("directwrite", 0); - } - } else { - # assume cross compiling - param_set("directwrite", 1); - } + param_set("gdi-text", 1); } else { - param_set("directwrite", 0); + param_set("gdi-text", 0); } } diff --git a/examples/basic/example.c b/examples/basic/example.c index 8fe38da..fdf6027 100644 --- a/examples/basic/example.c +++ b/examples/basic/example.c @@ -112,7 +112,7 @@ int main() { MwNtext, "font", NULL); button4 = MwVaCreateWidget(MwButtonClass, "button", window, 50, 225, 100, 125, - MwNtext, "lorem ipsum", + MwNtext, "日本語の表記体系", MwNbackground, "#f66", MwNforeground, "#000", NULL); diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index efbc015..a2be271 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -344,9 +344,7 @@ MWDECL int MwFL_FT2Setup(void); #ifdef USE_STB_TRUETYPE MWDECL int MwFL_STBTTSetup(void); #endif -#ifdef USE_DIRECTWRITE -MWDECL int MwFL_DWSetup(void); -#endif + #ifdef USE_GDI_TEXT MWDECL int MwFL_GDISetup(void); #endif diff --git a/pl/rules.pl b/pl/rules.pl index 6f37482..986ee98 100644 --- a/pl/rules.pl +++ b/pl/rules.pl @@ -134,8 +134,8 @@ if (param_get("freetype2")) { } } -if (param_get("directwrite")) { - add_cflags("-DUSE_DIRECTWRITE"); +if (param_get("gdi-text")) { + add_cflags("-DUSE_GDI_TEXT"); } if (param_get("vulkan") && param_get("vulkan-string-helper")) { diff --git a/src/core.c b/src/core.c index 355097c..9b5242d 100644 --- a/src/core.c +++ b/src/core.c @@ -315,7 +315,7 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, MwAddTickList(h); } -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) if(IsFirstVisible(h)) { font_setup: h->root_font = MwFontLoad(MwTTFData, MwTTFDataSize); @@ -744,7 +744,7 @@ int MwGetInteger(MwWidget handle, const char* key) { return MwDEFAULT; } else { if(shgeti(handle->integer, key) == -1) { -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) if(strcmp(key, MwNbitmapFont) == 0) return inherit_integer(handle, key, 0); #else if(strcmp(key, MwNbitmapFont) == 0) return inherit_integer(handle, key, 1); @@ -795,7 +795,7 @@ const char* MwGetText(MwWidget handle, const char* key) { return shget(handle->text, key); } -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) static void* inherit_void(MwWidget handle, const char* key) { void* v; @@ -811,7 +811,7 @@ void* MwGetVoid(MwWidget handle, const char* key) { if(v != NULL) return v; -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) if(strcmp(key, MwNfont) == 0 || strcmp(key, MwNboldFont) == 0 || strcmp(key, MwNmonospaceFont) == 0 || strcmp(key, MwNboldMonospaceFont) == 0) { v = inherit_void(handle, key); diff --git a/src/text/directwrite.c b/src/text/directwrite.c deleted file mode 100644 index 75c707c..0000000 --- a/src/text/directwrite.c +++ /dev/null @@ -1,588 +0,0 @@ -/* - * DirectWrite Font backend - * - * This should dynamically load everything necessary and then gracefully fallback if the user isn't on Windows 10. - */ -#ifdef USE_DIRECTWRITE -#define INITGUID -#include - -#include -#include - -#ifndef WINBOOL -#define WINBOOL int -#endif - -/* dwrite is vendored because it's only mingw that gives us COBJMACRO */ -#include "dwrite.h" -#include "dwrite_3.h" - -typedef struct CustomTextRenderer { - IDWriteTextRendererVtbl* lpVtbl; - LONG refCount; - IDWriteFactory6* write_factory; - IDWriteBitmapRenderTarget* target; - int red, blue, green; - -} CustomTextRenderer; -static CustomTextRenderer* CustomTextRenderer_Create(IDWriteFactory6* write_factory, IDWriteBitmapRenderTarget* target, MwLLColor color); - -static struct dw { - HMODULE d2d1_lib; - HMODULE dwrite_lib; - - HRESULT (*D2D1CreateFactory)(D2D1_FACTORY_TYPE factoryType, const IID* const riid, const D2D1_FACTORY_OPTIONS* pFactoryOptions, void** ppIFactory); - HRESULT (*DWriteCreateFactory)(int factoryType, const IID* const iid, IUnknown** factory); - - HMODULE kernel32_lib; -} dw_table; - -struct _MwFLFont { - int px; - void* data; - MwBool valid; - - IDWriteFactory6* write_factory; - ID2D1Factory* d2dFactory; - IDWriteGdiInterop* gdiInterop; - IDWriteFontFile* file; - IDWriteFontFace* font_face; - IDWriteFontSetBuilder2* font_builder; - IDWriteFontSet* font_set; - IDWriteFontCollection1* font_collection; - IDWriteTextFormat* text_format; - - LOGFONTW logfont; - HFONT font; -}; - -static int unpack_ttf_data(WCHAR* temp_path_name, unsigned char* data, unsigned int size) { - WCHAR temp_path_dir[MAX_PATH]; - HANDLE tempFile; - int hr; - - hr = GetTempPathW(MAX_PATH, temp_path_dir); - if(hr == 0) { - printf("GetTempPathW failed for TTF, cannot use DirectWrite\n"); - return 1; - } - hr = GetTempFileNameW(temp_path_dir, TEXT(L"MILSKO"), 0, temp_path_name); - if(hr == 0) { - printf("GetTempFileName failed for TTF, cannot use DirectWrite\n"); - return 1; - } - - tempFile = CreateFileW(temp_path_name, - GENERIC_WRITE, - 0, - NULL, - CREATE_NEW, - FILE_ATTRIBUTE_NORMAL, - NULL); - if(tempFile == INVALID_HANDLE_VALUE) { - DWORD err = GetLastError(); - if(err == ERROR_FILE_EXISTS) { - tempFile = CreateFileW(temp_path_name, - GENERIC_WRITE, - 0, - NULL, - OPEN_ALWAYS, - FILE_ATTRIBUTE_NORMAL, - NULL); - if(tempFile != INVALID_HANDLE_VALUE) { - goto success; - } else { - err = GetLastError(); - } - } - printf("CreateFile failed for TTF (%ld), cannot use DirectWrite\n", err); - return 1; - } -success: - - hr = WriteFile(tempFile, data, size, NULL, NULL); - if(!hr) { - printf("WriteFile failed for TTF (%ld), cannot use DirectWrite\n", GetLastError()); - return 1; - } - - CloseHandle(tempFile); - - return 0; -} - -static void* dw_MwFontLoad(unsigned char* data, unsigned int size, int px) { - MwFLFont ttf = malloc(sizeof(*ttf)); - HRESULT hr; - WCHAR font_name[MAX_PATH]; - D2D1_FACTORY_OPTIONS d2d1_options; - - d2d1_options.debugLevel = D2D1_DEBUG_LEVEL_ERROR; - -#define INTERFACE_CHECK(x, factory) \ - do { \ - x* rsrc = NULL; \ - if(!SUCCEEDED((hr = x##_QueryInterface(factory, &IID_##x, (void**)&rsrc)))) { \ - printf("Query for interface " #x " failed (%08lX). Cannot use DirectWrite.\n", hr); \ - return NULL; \ - }; \ - } while(0); - - memset(ttf, 0, sizeof(*ttf)); - ttf->data = malloc(size); - memcpy(ttf->data, data, size); - - ttf->px = px; - - hr = dw_table.D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &IID_ID2D1Factory, &d2d1_options, (void**)&ttf->d2dFactory); - if(!SUCCEEDED(hr)) { - printf("D2D1CreateFactory failed for TTF (%08lX), cannot use DirectWrite\n", hr); - goto fail; - } - - INTERFACE_CHECK(ID2D1Factory, ttf->d2dFactory); - - hr = dw_table.DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, &IID_IDWriteFactory, (struct IUnknown**)&ttf->write_factory); - if(!SUCCEEDED(hr)) { - printf("DWriteCreateFactory failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteFactory6, ttf->write_factory); - - if(unpack_ttf_data(font_name, data, size) != 0) { - goto fail; - }; - - hr = IDWriteFactory6_CreateFontFileReference(ttf->write_factory, font_name, NULL, &ttf->file); - if(!SUCCEEDED(hr)) { - printf("CreateFontFileReference failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteFontFile, ttf->file); - - hr = IDWriteFactory_CreateFontFace(ttf->write_factory, DWRITE_FONT_FACE_TYPE_TRUETYPE, 1, &ttf->file, 0, DWRITE_FONT_SIMULATIONS_NONE, &ttf->font_face); - if(!SUCCEEDED(hr)) { - printf("IDWriteFactory_CreateFontFace failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteFontFace, ttf->font_face); - - hr = IDWriteFactory6_CreateFontSetBuilder(ttf->write_factory, &ttf->font_builder); - if(!SUCCEEDED(hr)) { - printf("IDWriteFactory6_CreateFontSetBuilder failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteFontSetBuilder2, ttf->font_builder); - - hr = IDWriteFontSetBuilder2_AddFontFile(ttf->font_builder, font_name); - if(!SUCCEEDED(hr)) { - printf("IDWriteFontSetBuilder2_AddFontFile failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - - hr = IDWriteFontSetBuilder_CreateFontSet(ttf->font_builder, &ttf->font_set); - if(!SUCCEEDED(hr)) { - printf("IDWriteFontSetBuilder_CreateFontSet failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteFontSet, ttf->font_set); - - hr = IDWriteFactory3_CreateFontCollectionFromFontSet(ttf->write_factory, ttf->font_set, &ttf->font_collection); - if(!SUCCEEDED(hr)) { - printf("IDWriteFactory3_CreateFontCollectionFromFontSet failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteFontCollection1, ttf->font_collection); - - hr = IDWriteFactory6_GetGdiInterop(ttf->write_factory, &ttf->gdiInterop); - if(!SUCCEEDED(hr)) { - printf("GetGdiInterop failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - INTERFACE_CHECK(IDWriteGdiInterop, ttf->gdiInterop); - - hr = IDWriteFactory_CreateTextFormat(ttf->write_factory, L"milsko font", (IDWriteFontCollection*)ttf->font_collection, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, px, L"en-US", &ttf->text_format); - if(!SUCCEEDED(hr)) { - printf("IDWriteFactory_CreateTextFormat failed for TTF (%08lx), cannot use DirectWrite\n", hr); - goto fail; - } - - ttf->valid = MwTRUE; - return ttf; - -fail: - ttf->valid = MwFALSE; - return NULL; -} - -static int dw_MwTextOffset(MwFLFont ttf, const char* text); - -static int dw_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, MwLLColor color) { - IDWriteTextLayout* text_layout; - IDWriteBitmapRenderTarget* target = NULL; - HRESULT hr; - RECT rc = {0}; - HDC memoryHDC = NULL; - DWRITE_FONT_METRICS metrics = {0}; - LONG width = 0, height = 0, offset = 0; - WCHAR* wtext = NULL; - CustomTextRenderer* texRenderer; - size_t wtext_len = MultiByteToWideChar(CP_UTF8, 0, text, -1, NULL, 0); - - wtext = malloc(wtext_len * 2); /* we get a weird buffer overflow when we try to free this later? allocate well above wtext_len then to prevent that. */ - memset(wtext, 0, wtext_len * 2); - MultiByteToWideChar(CP_UTF8, 0, text, -1, wtext, wtext_len); - - IDWriteFontFace_GetMetrics(ttf->font_face, &metrics); - - GetClientRect(handle->lowlevel->gdi.hWnd, &rc); - MapWindowPoints(handle->lowlevel->gdi.hWnd, GetParent(handle->lowlevel->gdi.hWnd), (LPPOINT)&rc, 2); - - width = MwTextWidth(handle, ttf, text); - height = MwTextHeight(handle, ttf, text); - offset = dw_MwTextOffset(ttf, text); - - hr = IDWriteFactory_CreateTextLayout(ttf->write_factory, wtext, wtext_len, ttf->text_format, width, height, &text_layout); - - IDWriteGdiInterop_CreateBitmapRenderTarget(ttf->gdiInterop, handle->lowlevel->gdi.hDC, width, height, &target); - - texRenderer = CustomTextRenderer_Create(ttf->write_factory, target, color); - - memoryHDC = IDWriteBitmapRenderTarget_GetMemoryDC(target); - - SetBkMode(handle->lowlevel->gdi.hDC, TRANSPARENT); - BitBlt(memoryHDC, 0, 0, width, height, handle->lowlevel->gdi.hDC, point->x, point->y - (height / 2), SRCCOPY); - - if(SUCCEEDED(hr)) { - IDWriteTextLayout_Draw(text_layout, target, (IDWriteTextRenderer*)texRenderer, offset, 0); - } - - BitBlt(handle->lowlevel->gdi.hDC, point->x, point->y - (height / 2), width, height, memoryHDC, 0, 0, SRCCOPY | NOMIRRORBITMAP); - - IDWriteBitmapRenderTarget_Release(target); - - free(wtext); - - return 0; -} - -static int dw_MwTextOffset(MwFLFont ttf, const char* text) { - IDWriteTextLayout* text_layout; - DWRITE_FONT_METRICS metrics = {0}; - WCHAR* wtext = NULL; - size_t wtext_len = MultiByteToWideChar(CP_UTF8, 0, text, -1, NULL, 0); - UINT32* codepoints = malloc(wtext_len * sizeof(UINT32)); - UINT16* glyphIndices = malloc(wtext_len * sizeof(UINT16)); - int i; - DWRITE_GLYPH_METRICS* gmetrics; - int tw = 0; - - wtext = malloc(wtext_len * 2); /* we get a weird buffer overflow when we try to free this later? allocate well above wtext_len then to prevent that. */ - memset(wtext, 0, wtext_len * 2); - MultiByteToWideChar(CP_UTF8, 0, text, -1, wtext, wtext_len); - - for(i = 0; i < wtext_len; i++) codepoints[i] = wtext[i]; - - IDWriteFontFace_GetMetrics(ttf->font_face, &metrics); - - IDWriteFactory_CreateTextLayout(ttf->write_factory, wtext, wtext_len, ttf->text_format, 0, 0, &text_layout); - - IDWriteFontFace_GetGlyphIndices(ttf->font_face, codepoints, wtext_len, glyphIndices); - - gmetrics = malloc(wtext_len * sizeof(DWRITE_GLYPH_METRICS)); - - IDWriteFontFace_GetDesignGlyphMetrics(ttf->font_face, glyphIndices, wtext_len, gmetrics, FALSE); - - for(i = 0; i < strlen(text); i++) { - int add = (gmetrics[i].leftSideBearing) * ((float)ttf->px / (float)metrics.designUnitsPerEm); - tw += add; - } - - free(wtext); - - return tw; -} - -static int dw_MwTextWidth(MwFLFont ttf, const char* text) { - IDWriteTextLayout* text_layout; - DWRITE_FONT_METRICS metrics = {0}; - WCHAR* wtext = NULL; - size_t wtext_len = MultiByteToWideChar(CP_UTF8, 0, text, -1, NULL, 0); - UINT32* codepoints = malloc(wtext_len * sizeof(UINT32)); - UINT16* glyphIndices = malloc(wtext_len * sizeof(UINT16)); - int i; - DWRITE_GLYPH_METRICS* gmetrics; - int tw = 0; - - wtext = malloc(wtext_len * 2); /* we get a weird buffer overflow when we try to free this later? allocate well above wtext_len then to prevent that. */ - memset(wtext, 0, wtext_len * 2); - MultiByteToWideChar(CP_UTF8, 0, text, -1, wtext, wtext_len); - - for(i = 0; i < wtext_len; i++) codepoints[i] = wtext[i]; - - IDWriteFontFace_GetMetrics(ttf->font_face, &metrics); - - IDWriteFactory_CreateTextLayout(ttf->write_factory, wtext, wtext_len, ttf->text_format, 0, 0, &text_layout); - - IDWriteFontFace_GetGlyphIndices(ttf->font_face, codepoints, wtext_len, glyphIndices); - - gmetrics = malloc(wtext_len * sizeof(DWRITE_GLYPH_METRICS)); - - IDWriteFontFace_GetDesignGlyphMetrics(ttf->font_face, glyphIndices, wtext_len, gmetrics, FALSE); - - for(i = 0; i < strlen(text); i++) { - int add = (gmetrics[i].advanceWidth + gmetrics[i].leftSideBearing) * ((float)ttf->px / (float)metrics.designUnitsPerEm); - tw += add; - } - - free(wtext); - - return tw; -} - -static int dw_MwTextHeight(MwFLFont ttf, int count) { - (void)count; - return (IDWriteTextFormat2_GetFontSize(ttf->text_format) / 72.0f) * GetDeviceCaps(GetDC(NULL), LOGPIXELSY); -} - -static void dw_MwFontFree(void* handle) { - MwFLFont ttf = handle; - - free(ttf->data); - free(ttf); -} - -/* ---- IUnknown ---- */ - -static HRESULT STDMETHODCALLTYPE CTR_QueryInterface( - IDWriteTextRenderer* iface, REFIID riid, void** ppvObject) { - if(!ppvObject) - return E_POINTER; - - if(IsEqualGUID(riid, &IID_IUnknown) || - IsEqualGUID(riid, &IID_IDWritePixelSnapping) || - IsEqualGUID(riid, &IID_IDWriteTextRenderer)) { - *ppvObject = iface; - iface->lpVtbl->AddRef(iface); - return S_OK; - } - - *ppvObject = NULL; - return E_NOINTERFACE; -} - -static ULONG STDMETHODCALLTYPE CTR_AddRef(IDWriteTextRenderer* iface) { - CustomTextRenderer* This = (CustomTextRenderer*)iface; - return InterlockedIncrement(&This->refCount); -} - -static ULONG STDMETHODCALLTYPE CTR_Release(IDWriteTextRenderer* iface) { - CustomTextRenderer* This = (CustomTextRenderer*)iface; - LONG ref = InterlockedDecrement(&This->refCount); - if(ref == 0) - HeapFree(GetProcessHeap(), 0, This); - return (ULONG)ref; -} - -/* ---- IDWritePixelSnapping (base interface, treated as "core") ---- */ - -static HRESULT STDMETHODCALLTYPE CTR_IsPixelSnappingDisabled( - IDWriteTextRenderer* iface, void* clientDrawingContext, BOOL* isDisabled) { - (void)iface; - (void)clientDrawingContext; - if(!isDisabled) - return E_POINTER; - *isDisabled = FALSE; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE CTR_GetCurrentTransform( - IDWriteTextRenderer* iface, void* clientDrawingContext, DWRITE_MATRIX* transform) { - (void)iface; - (void)clientDrawingContext; - if(!transform) - return E_POINTER; - - transform->m11 = 1.0f; - transform->m12 = 0.0f; - transform->m21 = 0.0f; - transform->m22 = 1.0f; - transform->dx = 0.0f; - transform->dy = 0.0f; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE CTR_GetPixelsPerDip( - IDWriteTextRenderer* iface, void* clientDrawingContext, FLOAT* pixelsPerDip) { - (void)iface; - (void)clientDrawingContext; - if(!pixelsPerDip) - return E_POINTER; - *pixelsPerDip = 1.0f; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE CTR_DrawGlyphRun( - IDWriteTextRenderer* iface, - void* clientDrawingContext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GLYPH_RUN const* glyphRun, - DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, - IUnknown* clientDrawingEffect) { - IDWriteRenderingParams* params; - CustomTextRenderer* This = (CustomTextRenderer*)iface; - - (void)clientDrawingContext; - (void)glyphRunDescription; - (void)clientDrawingEffect; - - IDWriteFactory6_CreateRenderingParams(This->write_factory, ¶ms); - - return IDWriteBitmapRenderTarget_DrawGlyphRun(This->target, baselineOriginX, baselineOriginY, measuringMode, glyphRun, params, RGB(This->red, This->green, This->blue), NULL); -} - -static HRESULT STDMETHODCALLTYPE CTR_DrawUnderline( - IDWriteTextRenderer* iface, - void* clientDrawingContext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_UNDERLINE const* underline, - IUnknown* clientDrawingEffect) { - (void)iface; - (void)clientDrawingContext; - (void)baselineOriginX; - (void)baselineOriginY; - (void)underline; - (void)clientDrawingEffect; - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE CTR_DrawStrikethrough( - IDWriteTextRenderer* iface, - void* clientDrawingContext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_STRIKETHROUGH const* strikethrough, - IUnknown* clientDrawingEffect) { - (void)iface; - (void)clientDrawingContext; - (void)baselineOriginX; - (void)baselineOriginY; - (void)strikethrough; - (void)clientDrawingEffect; - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE CTR_DrawInlineObject( - IDWriteTextRenderer* iface, - void* clientDrawingContext, - FLOAT originX, - FLOAT originY, - IDWriteInlineObject* inlineObject, - BOOL isSideways, - BOOL isRightToLeft, - IUnknown* clientDrawingEffect) { - (void)iface; - (void)clientDrawingContext; - (void)originX; - (void)originY; - (void)inlineObject; - (void)isSideways; - (void)isRightToLeft; - (void)clientDrawingEffect; - return E_NOTIMPL; -} - -/* ---- Vtable instance ---- */ - -static IDWriteTextRendererVtbl CTR_Vtbl = { - CTR_QueryInterface, - CTR_AddRef, - CTR_Release, - CTR_IsPixelSnappingDisabled, - CTR_GetCurrentTransform, - CTR_GetPixelsPerDip, - CTR_DrawGlyphRun, - CTR_DrawUnderline, - CTR_DrawStrikethrough, - CTR_DrawInlineObject}; - -/* ---- Constructor ---- */ - -static CustomTextRenderer* CustomTextRenderer_Create(IDWriteFactory6* write_factory, IDWriteBitmapRenderTarget* target, MwLLColor color) { - CustomTextRenderer* obj = - (CustomTextRenderer*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - sizeof(CustomTextRenderer)); - if(!obj) - return NULL; - - obj->lpVtbl = &CTR_Vtbl; - obj->refCount = 1; - obj->write_factory = write_factory; - obj->target = target; - obj->red = color->common.red; - obj->green = color->common.green; - obj->blue = color->common.blue; - - return obj; -} - -int MwFL_DWSetup(void) { - HRESULT hr; - HANDLE ole32lib; - /* CoInitialize, to my knowledge, is avaliable on every Windows version we actually support. But as of writing, CI fails because a specific mingw won't link to it by default. I'm not gonna waste my time chancing that it will properly link to ole32 either. */ - HRESULT (*CoInitialize)(LPVOID pvReserved); - - ole32lib = LoadLibrary("Ole32.dll"); - if(!ole32lib) { - printf("ole32lib not found, cannot use DirectWrite\n"); - return 1; - } - CoInitialize = (HRESULT(*)(LPVOID pvReserved))GetProcAddress(ole32lib, "CoInitialize"); - if(!CoInitialize) { - printf("CoInitialize not found, cannot use DirectWrite\n"); - return 1; - } - - CoInitialize(NULL); - - /* Try and load DirectWrite. If it fails, return 1, signifying we default to bitmap drawing. */ - dw_table.d2d1_lib = LoadLibrary("D2d1.dll"); - if(!dw_table.d2d1_lib) { - printf("D2d1.dll not found, cannot use DirectWrite\n"); - return 1; - } - dw_table.dwrite_lib = LoadLibrary("dwrite.dll"); - if(!dw_table.dwrite_lib) { - printf("dwrite.dll not found, cannot use DirectWrite\n"); - return 1; - } - -#define D2D1_LOAD(x) \ - dw_table.x = (typeof(dw_table.x))GetProcAddress(dw_table.d2d1_lib, #x); \ - if(!dw_table.x) { \ - printf("Can't use DirectWrite, " #x " not found."); \ - return 1; \ - } - -#define DWRITE_LOAD(x) \ - dw_table.x = (typeof(dw_table.x))GetProcAddress(dw_table.dwrite_lib, #x); \ - if(!dw_table.x) { \ - printf("Can't use DirectWrite, " #x " not found."); \ - return 1; \ - } - - D2D1_LOAD(D2D1CreateFactory); - DWRITE_LOAD(DWriteCreateFactory); - - MwFLDrawText = dw_MwDrawText; - MwFLTextWidth = dw_MwTextWidth; - MwFLTextHeight = dw_MwTextHeight; - MwFLFontLoad = dw_MwFontLoad; - MwFLFontFree = dw_MwFontFree; - return 0; -} -#endif diff --git a/src/text/dwrite.h b/src/text/dwrite.h deleted file mode 100644 index 81f87aa..0000000 --- a/src/text/dwrite.h +++ /dev/null @@ -1,5398 +0,0 @@ -/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite.idl - Do not edit ***/ - -#define COBJMACROS - -#ifdef _WIN32 -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif -#include -#include -#endif - -#ifndef COM_NO_WINDOWS_H -#include -#include -#endif - -#ifndef __dwrite_h__ -#define __dwrite_h__ - -/* Forward declarations */ - -#ifndef __IDWriteFontFileStream_FWD_DEFINED__ -#define __IDWriteFontFileStream_FWD_DEFINED__ -typedef interface IDWriteFontFileStream IDWriteFontFileStream; -#ifdef __cplusplus -interface IDWriteFontFileStream; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFileLoader_FWD_DEFINED__ -#define __IDWriteFontFileLoader_FWD_DEFINED__ -typedef interface IDWriteFontFileLoader IDWriteFontFileLoader; -#ifdef __cplusplus -interface IDWriteFontFileLoader; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteLocalFontFileLoader_FWD_DEFINED__ -#define __IDWriteLocalFontFileLoader_FWD_DEFINED__ -typedef interface IDWriteLocalFontFileLoader IDWriteLocalFontFileLoader; -#ifdef __cplusplus -interface IDWriteLocalFontFileLoader; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFile_FWD_DEFINED__ -#define __IDWriteFontFile_FWD_DEFINED__ -typedef interface IDWriteFontFile IDWriteFontFile; -#ifdef __cplusplus -interface IDWriteFontFile; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFileEnumerator_FWD_DEFINED__ -#define __IDWriteFontFileEnumerator_FWD_DEFINED__ -typedef interface IDWriteFontFileEnumerator IDWriteFontFileEnumerator; -#ifdef __cplusplus -interface IDWriteFontFileEnumerator; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontCollectionLoader_FWD_DEFINED__ -#define __IDWriteFontCollectionLoader_FWD_DEFINED__ -typedef interface IDWriteFontCollectionLoader IDWriteFontCollectionLoader; -#ifdef __cplusplus -interface IDWriteFontCollectionLoader; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteLocalizedStrings_FWD_DEFINED__ -#define __IDWriteLocalizedStrings_FWD_DEFINED__ -typedef interface IDWriteLocalizedStrings IDWriteLocalizedStrings; -#ifdef __cplusplus -interface IDWriteLocalizedStrings; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteRenderingParams_FWD_DEFINED__ -#define __IDWriteRenderingParams_FWD_DEFINED__ -typedef interface IDWriteRenderingParams IDWriteRenderingParams; -#ifdef __cplusplus -interface IDWriteRenderingParams; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace_FWD_DEFINED__ -#define __IDWriteFontFace_FWD_DEFINED__ -typedef interface IDWriteFontFace IDWriteFontFace; -#ifdef __cplusplus -interface IDWriteFontFace; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFont_FWD_DEFINED__ -#define __IDWriteFont_FWD_DEFINED__ -typedef interface IDWriteFont IDWriteFont; -#ifdef __cplusplus -interface IDWriteFont; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontList_FWD_DEFINED__ -#define __IDWriteFontList_FWD_DEFINED__ -typedef interface IDWriteFontList IDWriteFontList; -#ifdef __cplusplus -interface IDWriteFontList; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFamily_FWD_DEFINED__ -#define __IDWriteFontFamily_FWD_DEFINED__ -typedef interface IDWriteFontFamily IDWriteFontFamily; -#ifdef __cplusplus -interface IDWriteFontFamily; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontCollection_FWD_DEFINED__ -#define __IDWriteFontCollection_FWD_DEFINED__ -typedef interface IDWriteFontCollection IDWriteFontCollection; -#ifdef __cplusplus -interface IDWriteFontCollection; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWritePixelSnapping_FWD_DEFINED__ -#define __IDWritePixelSnapping_FWD_DEFINED__ -typedef interface IDWritePixelSnapping IDWritePixelSnapping; -#ifdef __cplusplus -interface IDWritePixelSnapping; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextRenderer_FWD_DEFINED__ -#define __IDWriteTextRenderer_FWD_DEFINED__ -typedef interface IDWriteTextRenderer IDWriteTextRenderer; -#ifdef __cplusplus -interface IDWriteTextRenderer; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteInlineObject_FWD_DEFINED__ -#define __IDWriteInlineObject_FWD_DEFINED__ -typedef interface IDWriteInlineObject IDWriteInlineObject; -#ifdef __cplusplus -interface IDWriteInlineObject; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextFormat_FWD_DEFINED__ -#define __IDWriteTextFormat_FWD_DEFINED__ -typedef interface IDWriteTextFormat IDWriteTextFormat; -#ifdef __cplusplus -interface IDWriteTextFormat; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTypography_FWD_DEFINED__ -#define __IDWriteTypography_FWD_DEFINED__ -typedef interface IDWriteTypography IDWriteTypography; -#ifdef __cplusplus -interface IDWriteTypography; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteBitmapRenderTarget_FWD_DEFINED__ -#define __IDWriteBitmapRenderTarget_FWD_DEFINED__ -typedef interface IDWriteBitmapRenderTarget IDWriteBitmapRenderTarget; -#ifdef __cplusplus -interface IDWriteBitmapRenderTarget; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteGdiInterop_FWD_DEFINED__ -#define __IDWriteGdiInterop_FWD_DEFINED__ -typedef interface IDWriteGdiInterop IDWriteGdiInterop; -#ifdef __cplusplus -interface IDWriteGdiInterop; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextLayout_FWD_DEFINED__ -#define __IDWriteTextLayout_FWD_DEFINED__ -typedef interface IDWriteTextLayout IDWriteTextLayout; -#ifdef __cplusplus -interface IDWriteTextLayout; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteNumberSubstitution_FWD_DEFINED__ -#define __IDWriteNumberSubstitution_FWD_DEFINED__ -typedef interface IDWriteNumberSubstitution IDWriteNumberSubstitution; -#ifdef __cplusplus -interface IDWriteNumberSubstitution; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextAnalysisSource_FWD_DEFINED__ -#define __IDWriteTextAnalysisSource_FWD_DEFINED__ -typedef interface IDWriteTextAnalysisSource IDWriteTextAnalysisSource; -#ifdef __cplusplus -interface IDWriteTextAnalysisSource; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextAnalysisSink_FWD_DEFINED__ -#define __IDWriteTextAnalysisSink_FWD_DEFINED__ -typedef interface IDWriteTextAnalysisSink IDWriteTextAnalysisSink; -#ifdef __cplusplus -interface IDWriteTextAnalysisSink; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextAnalyzer_FWD_DEFINED__ -#define __IDWriteTextAnalyzer_FWD_DEFINED__ -typedef interface IDWriteTextAnalyzer IDWriteTextAnalyzer; -#ifdef __cplusplus -interface IDWriteTextAnalyzer; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteGlyphRunAnalysis_FWD_DEFINED__ -#define __IDWriteGlyphRunAnalysis_FWD_DEFINED__ -typedef interface IDWriteGlyphRunAnalysis IDWriteGlyphRunAnalysis; -#ifdef __cplusplus -interface IDWriteGlyphRunAnalysis; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory_FWD_DEFINED__ -#define __IDWriteFactory_FWD_DEFINED__ -typedef interface IDWriteFactory IDWriteFactory; -#ifdef __cplusplus -interface IDWriteFactory; -#endif /* __cplusplus */ -#endif - -/* Headers for imported files */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __IDWriteFactory_FWD_DEFINED__ -#define __IDWriteFactory_FWD_DEFINED__ -typedef interface IDWriteFactory IDWriteFactory; -#ifdef __cplusplus -interface IDWriteFactory; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontCollection_FWD_DEFINED__ -#define __IDWriteFontCollection_FWD_DEFINED__ -typedef interface IDWriteFontCollection IDWriteFontCollection; -#ifdef __cplusplus -interface IDWriteFontCollection; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFamily_FWD_DEFINED__ -#define __IDWriteFontFamily_FWD_DEFINED__ -typedef interface IDWriteFontFamily IDWriteFontFamily; -#ifdef __cplusplus -interface IDWriteFontFamily; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace_FWD_DEFINED__ -#define __IDWriteFontFace_FWD_DEFINED__ -typedef interface IDWriteFontFace IDWriteFontFace; -#ifdef __cplusplus -interface IDWriteFontFace; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteInlineObject_FWD_DEFINED__ -#define __IDWriteInlineObject_FWD_DEFINED__ -typedef interface IDWriteInlineObject IDWriteInlineObject; -#ifdef __cplusplus -interface IDWriteInlineObject; -#endif /* __cplusplus */ -#endif - -#ifndef __ID2D1SimplifiedGeometrySink_FWD_DEFINED__ -#define __ID2D1SimplifiedGeometrySink_FWD_DEFINED__ -typedef interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink; -#ifdef __cplusplus -interface ID2D1SimplifiedGeometrySink; -#endif /* __cplusplus */ -#endif - -typedef ID2D1SimplifiedGeometrySink IDWriteGeometrySink; -#ifndef _WINDEF_ -typedef void* HMONITOR; -#endif /* _WINDEF_ */ -#ifdef WINE_NO_UNICODE_MACROS -#undef GetGlyphIndices -#endif -typedef enum DWRITE_FACTORY_TYPE { - DWRITE_FACTORY_TYPE_SHARED = 0, - DWRITE_FACTORY_TYPE_ISOLATED = 1 -} DWRITE_FACTORY_TYPE; -typedef enum DWRITE_FONT_FILE_TYPE { - DWRITE_FONT_FILE_TYPE_UNKNOWN = 0, - DWRITE_FONT_FILE_TYPE_CFF = 1, - DWRITE_FONT_FILE_TYPE_TRUETYPE = 2, - DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION = 3, - DWRITE_FONT_FILE_TYPE_TYPE1_PFM = 4, - DWRITE_FONT_FILE_TYPE_TYPE1_PFB = 5, - DWRITE_FONT_FILE_TYPE_VECTOR = 6, - DWRITE_FONT_FILE_TYPE_BITMAP = 7, - DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION -} DWRITE_FONT_FILE_TYPE; -typedef enum DWRITE_FONT_FACE_TYPE { - DWRITE_FONT_FACE_TYPE_CFF = 0, - DWRITE_FONT_FACE_TYPE_TRUETYPE = 1, - DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION = 2, - DWRITE_FONT_FACE_TYPE_TYPE1 = 3, - DWRITE_FONT_FACE_TYPE_VECTOR = 4, - DWRITE_FONT_FACE_TYPE_BITMAP = 5, - DWRITE_FONT_FACE_TYPE_UNKNOWN = 6, - DWRITE_FONT_FACE_TYPE_RAW_CFF = 7, - DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION -} 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_SEMI_LIGHT = 350, - 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 = 0, - DWRITE_FONT_STYLE_OBLIQUE = 1, - DWRITE_FONT_STYLE_ITALIC = 2 -} DWRITE_FONT_STYLE; -typedef enum DWRITE_INFORMATIONAL_STRING_ID { - DWRITE_INFORMATIONAL_STRING_NONE = 0, - DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE = 1, - DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS = 2, - DWRITE_INFORMATIONAL_STRING_TRADEMARK = 3, - DWRITE_INFORMATIONAL_STRING_MANUFACTURER = 4, - DWRITE_INFORMATIONAL_STRING_DESIGNER = 5, - DWRITE_INFORMATIONAL_STRING_DESIGNER_URL = 6, - DWRITE_INFORMATIONAL_STRING_DESCRIPTION = 7, - DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL = 8, - DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION = 9, - DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL = 10, - DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES = 11, - DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES = 12, - DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES = 13, - DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES = 14, - DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT = 15, - DWRITE_INFORMATIONAL_STRING_FULL_NAME = 16, - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME = 17, - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME = 18, - DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME = 19, - DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG = 20, - DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG = 21, - DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, - DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, - DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME = DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME -} DWRITE_INFORMATIONAL_STRING_ID; -typedef enum DWRITE_FONT_SIMULATIONS { - DWRITE_FONT_SIMULATIONS_NONE = 0, - DWRITE_FONT_SIMULATIONS_BOLD = 1, - DWRITE_FONT_SIMULATIONS_OBLIQUE = 2 -} DWRITE_FONT_SIMULATIONS; -DEFINE_ENUM_FLAG_OPERATORS(DWRITE_FONT_SIMULATIONS); -typedef enum DWRITE_PIXEL_GEOMETRY { - DWRITE_PIXEL_GEOMETRY_FLAT = 0, - DWRITE_PIXEL_GEOMETRY_RGB = 1, - DWRITE_PIXEL_GEOMETRY_BGR = 2 -} DWRITE_PIXEL_GEOMETRY; -typedef enum DWRITE_RENDERING_MODE { - DWRITE_RENDERING_MODE_DEFAULT = 0, - DWRITE_RENDERING_MODE_ALIASED = 1, - DWRITE_RENDERING_MODE_GDI_CLASSIC = 2, - DWRITE_RENDERING_MODE_GDI_NATURAL = 3, - DWRITE_RENDERING_MODE_NATURAL = 4, - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC = 5, - DWRITE_RENDERING_MODE_OUTLINE = 6, - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL, - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC -} DWRITE_RENDERING_MODE; -typedef enum DWRITE_TEXT_ALIGNMENT { - DWRITE_TEXT_ALIGNMENT_LEADING = 0, - DWRITE_TEXT_ALIGNMENT_TRAILING = 1, - DWRITE_TEXT_ALIGNMENT_CENTER = 2, - DWRITE_TEXT_ALIGNMENT_JUSTIFIED = 3 -} DWRITE_TEXT_ALIGNMENT; -typedef enum DWRITE_PARAGRAPH_ALIGNMENT { - DWRITE_PARAGRAPH_ALIGNMENT_NEAR = 0, - DWRITE_PARAGRAPH_ALIGNMENT_FAR = 1, - DWRITE_PARAGRAPH_ALIGNMENT_CENTER = 2 -} DWRITE_PARAGRAPH_ALIGNMENT; -typedef enum DWRITE_WORD_WRAPPING { - DWRITE_WORD_WRAPPING_WRAP = 0, - DWRITE_WORD_WRAPPING_NO_WRAP = 1, - DWRITE_WORD_WRAPPING_EMERGENCY_BREAK = 2, - DWRITE_WORD_WRAPPING_WHOLE_WORD = 3, - DWRITE_WORD_WRAPPING_CHARACTER = 4 -} DWRITE_WORD_WRAPPING; -typedef enum DWRITE_READING_DIRECTION { - DWRITE_READING_DIRECTION_LEFT_TO_RIGHT = 0, - DWRITE_READING_DIRECTION_RIGHT_TO_LEFT = 1, - DWRITE_READING_DIRECTION_TOP_TO_BOTTOM = 2, - DWRITE_READING_DIRECTION_BOTTOM_TO_TOP = 3 -} DWRITE_READING_DIRECTION; -typedef enum DWRITE_FLOW_DIRECTION { - DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM = 0, - DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP = 1, - DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT = 2, - DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT = 3 -} DWRITE_FLOW_DIRECTION; -typedef enum DWRITE_TRIMMING_GRANULARITY { - DWRITE_TRIMMING_GRANULARITY_NONE = 0, - DWRITE_TRIMMING_GRANULARITY_CHARACTER = 1, - DWRITE_TRIMMING_GRANULARITY_WORD = 2 -} DWRITE_TRIMMING_GRANULARITY; -typedef enum DWRITE_BREAK_CONDITION { - DWRITE_BREAK_CONDITION_NEUTRAL = 0, - DWRITE_BREAK_CONDITION_CAN_BREAK = 1, - DWRITE_BREAK_CONDITION_MAY_NOT_BREAK = 2, - DWRITE_BREAK_CONDITION_MUST_BREAK = 3 -} DWRITE_BREAK_CONDITION; -typedef enum DWRITE_LINE_SPACING_METHOD { - DWRITE_LINE_SPACING_METHOD_DEFAULT = 0, - DWRITE_LINE_SPACING_METHOD_UNIFORM = 1, - DWRITE_LINE_SPACING_METHOD_PROPORTIONAL = 2 -} DWRITE_LINE_SPACING_METHOD; -#define DWRITE_MAKE_OPENTYPE_TAG(a, b, c, d) ( \ - ((UINT32)(UINT8)(d) << 24) | \ - ((UINT32)(UINT8)(c) << 16) | \ - ((UINT32)(UINT8)(b) << 8) | \ - (UINT32)(UINT8)(a)) -typedef enum DWRITE_FONT_FEATURE_TAG { - DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = 0x63726661, - DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = 0x63703263, - DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = 0x63733263, - DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = 0x746c6163, - DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = 0x65736163, - DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, - DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = 0x67696c63, - DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = 0x70737063, - DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = 0x68777363, - DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = 0x73727563, - DWRITE_FONT_FEATURE_TAG_DEFAULT = 0x746c6664, - DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = 0x67696c64, - DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = 0x74707865, - DWRITE_FONT_FEATURE_TAG_FRACTIONS = 0x63617266, - DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = 0x64697766, - DWRITE_FONT_FEATURE_TAG_HALF_FORMS = 0x666c6168, - DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = 0x6e6c6168, - DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = 0x746c6168, - DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = 0x74736968, - DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = 0x616e6b68, - DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = 0x67696c68, - DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = 0x64697768, - DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = 0x6f6a6f68, - DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = 0x3430706a, - DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = 0x3837706a, - DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = 0x3338706a, - DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = 0x3039706a, - DWRITE_FONT_FEATURE_TAG_KERNING = 0x6e72656b, - DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = 0x6167696c, - DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = 0x6d756e6c, - DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = 0x6c636f6c, - DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = 0x6b72616d, - DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = 0x6b72676d, - DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = 0x6b6d6b6d, - DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = 0x746c616e, - DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = 0x6b636c6e, - DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = 0x6d756e6f, - DWRITE_FONT_FEATURE_TAG_ORDINALS = 0x6e64726f, - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = 0x746c6170, - DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = 0x70616370, - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = 0x6d756e70, - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = 0x64697770, - DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = 0x64697771, - DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = 0x67696c72, - DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = 0x79627572, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = 0x746c6173, - DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = 0x666e6973, - DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = 0x70636d73, - DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = 0x6c706d73, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = 0x31307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = 0x32307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = 0x33307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = 0x34307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = 0x35307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = 0x36307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = 0x37307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = 0x38307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = 0x39307373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = 0x30317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = 0x31317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = 0x32317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = 0x33317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = 0x34317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = 0x35317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = 0x36317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = 0x37317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = 0x38317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = 0x39317373, - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = 0x30327373, - DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = 0x73627573, - DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = 0x73707573, - DWRITE_FONT_FEATURE_TAG_SWASH = 0x68737773, - DWRITE_FONT_FEATURE_TAG_TITLING = 0x6c746974, - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = 0x6d616e74, - DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = 0x6d756e74, - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = 0x64617274, - DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = 0x64697774, - DWRITE_FONT_FEATURE_TAG_UNICASE = 0x63696e75, - DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING = 0x74726576, - DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION = 0x32747276, - DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = 0x6f72657a -} DWRITE_FONT_FEATURE_TAG; -typedef enum DWRITE_SCRIPT_SHAPES { - DWRITE_SCRIPT_SHAPES_DEFAULT = 0, - DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1 -} DWRITE_SCRIPT_SHAPES; -DEFINE_ENUM_FLAG_OPERATORS(DWRITE_SCRIPT_SHAPES); -typedef enum DWRITE_NUMBER_SUBSTITUTION_METHOD { - DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE = 0, - DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL = 1, - DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE = 2, - DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL = 3, - DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL = 4 -} DWRITE_NUMBER_SUBSTITUTION_METHOD; -#define DWRITE_ALPHA_MAX 255 -typedef enum DWRITE_TEXTURE_TYPE { - DWRITE_TEXTURE_ALIASED_1x1 = 0, - DWRITE_TEXTURE_CLEARTYPE_3x1 = 1 -} 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; -#ifndef __d2d1_h__ -typedef struct DWRITE_GLYPH_RUN DWRITE_GLYPH_RUN; -#endif /* __d2d1_h__ */ -struct DWRITE_GLYPH_RUN { - IDWriteFontFace* fontFace; - FLOAT fontEmSize; - UINT32 glyphCount; - const UINT16* glyphIndices; - const FLOAT* glyphAdvances; - const DWRITE_GLYPH_OFFSET* glyphOffsets; - WINBOOL isSideways; - UINT32 bidiLevel; -}; -#ifndef __d2d1_1_h__ -typedef struct DWRITE_GLYPH_RUN_DESCRIPTION DWRITE_GLYPH_RUN_DESCRIPTION; -#endif /* __d2d1_1_h__ */ -struct DWRITE_GLYPH_RUN_DESCRIPTION { - const WCHAR* localeName; - const WCHAR* string; - UINT32 stringLength; - const UINT16* clusterMap; - UINT32 textPosition; -}; -typedef struct DWRITE_UNDERLINE { - FLOAT width; - FLOAT thickness; - FLOAT offset; - FLOAT runHeight; - DWRITE_READING_DIRECTION readingDirection; - DWRITE_FLOW_DIRECTION flowDirection; - const WCHAR* 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; - const WCHAR* localeName; - DWRITE_MEASURING_MODE measuringMode; -} DWRITE_STRIKETHROUGH; -typedef struct DWRITE_INLINE_OBJECT_METRICS { - FLOAT width; - FLOAT height; - FLOAT baseline; - WINBOOL 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; - WINBOOL 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; - WINBOOL isText; - WINBOOL 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 reserved1 : 1; - UINT16 canBreakShapingAfter : 1; - UINT16 reserved : 13; -} 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; -/***************************************************************************** - * IDWriteFontFileStream interface - */ -#ifndef __IDWriteFontFileStream_INTERFACE_DEFINED__ -#define __IDWriteFontFileStream_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFileStream, 0x6d4865fe, 0x0ab8, 0x4d91, 0x8f, 0x62, 0x5d, 0xd6, 0xbe, 0x34, 0xa3, 0xe0); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0") -IDWriteFontFileStream : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE ReadFileFragment( - const void** fragment_start, - UINT64 offset, - UINT64 fragment_size, - void** fragment_context) = 0; - - virtual void STDMETHODCALLTYPE ReleaseFileFragment( - void* fragment_context) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFileSize( - UINT64 * size) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLastWriteTime( - UINT64 * last_writetime) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFileStream, 0x6d4865fe, 0x0ab8, 0x4d91, 0x8f, 0x62, 0x5d, 0xd6, 0xbe, 0x34, 0xa3, 0xe0) -#endif -#else -typedef struct IDWriteFontFileStreamVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFileStream* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFileStream* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFileStream* This); - - /*** IDWriteFontFileStream methods ***/ - HRESULT(STDMETHODCALLTYPE* ReadFileFragment)( - IDWriteFontFileStream* This, - const void** fragment_start, - UINT64 offset, - UINT64 fragment_size, - void** fragment_context); - - void(STDMETHODCALLTYPE* ReleaseFileFragment)( - IDWriteFontFileStream* This, - void* fragment_context); - - HRESULT(STDMETHODCALLTYPE* GetFileSize)( - IDWriteFontFileStream* This, - UINT64* size); - - HRESULT(STDMETHODCALLTYPE* GetLastWriteTime)( - IDWriteFontFileStream* This, - UINT64* last_writetime); - - END_INTERFACE -} IDWriteFontFileStreamVtbl; - -interface IDWriteFontFileStream { - CONST_VTBL IDWriteFontFileStreamVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFileStream_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFileStream_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileStream methods ***/ -#define IDWriteFontFileStream_ReadFileFragment(This, fragment_start, offset, fragment_size, fragment_context) (This)->lpVtbl->ReadFileFragment(This, fragment_start, offset, fragment_size, fragment_context) -#define IDWriteFontFileStream_ReleaseFileFragment(This, fragment_context) (This)->lpVtbl->ReleaseFileFragment(This, fragment_context) -#define IDWriteFontFileStream_GetFileSize(This, size) (This)->lpVtbl->GetFileSize(This, size) -#define IDWriteFontFileStream_GetLastWriteTime(This, last_writetime) (This)->lpVtbl->GetLastWriteTime(This, last_writetime) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFileStream_QueryInterface(IDWriteFontFileStream* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFileStream_AddRef(IDWriteFontFileStream* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFileStream_Release(IDWriteFontFileStream* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileStream methods ***/ -static inline HRESULT IDWriteFontFileStream_ReadFileFragment(IDWriteFontFileStream* This, const void** fragment_start, UINT64 offset, UINT64 fragment_size, void** fragment_context) { - return This->lpVtbl->ReadFileFragment(This, fragment_start, offset, fragment_size, fragment_context); -} -static inline void IDWriteFontFileStream_ReleaseFileFragment(IDWriteFontFileStream* This, void* fragment_context) { - This->lpVtbl->ReleaseFileFragment(This, fragment_context); -} -static inline HRESULT IDWriteFontFileStream_GetFileSize(IDWriteFontFileStream* This, UINT64* size) { - return This->lpVtbl->GetFileSize(This, size); -} -static inline HRESULT IDWriteFontFileStream_GetLastWriteTime(IDWriteFontFileStream* This, UINT64* last_writetime) { - return This->lpVtbl->GetLastWriteTime(This, last_writetime); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFileStream_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFileLoader interface - */ -#ifndef __IDWriteFontFileLoader_INTERFACE_DEFINED__ -#define __IDWriteFontFileLoader_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFileLoader, 0x727cad4e, 0xd6af, 0x4c9e, 0x8a, 0x08, 0xd6, 0x95, 0xb1, 0x1c, 0xaa, 0x49); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("727cad4e-d6af-4c9e-8a08-d695b11caa49") -IDWriteFontFileLoader : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE CreateStreamFromKey( - const void* key, - UINT32 key_size, - IDWriteFontFileStream** stream) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFileLoader, 0x727cad4e, 0xd6af, 0x4c9e, 0x8a, 0x08, 0xd6, 0x95, 0xb1, 0x1c, 0xaa, 0x49) -#endif -#else -typedef struct IDWriteFontFileLoaderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFileLoader* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFileLoader* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFileLoader* This); - - /*** IDWriteFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateStreamFromKey)( - IDWriteFontFileLoader* This, - const void* key, - UINT32 key_size, - IDWriteFontFileStream** stream); - - END_INTERFACE -} IDWriteFontFileLoaderVtbl; - -interface IDWriteFontFileLoader { - CONST_VTBL IDWriteFontFileLoaderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFileLoader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFileLoader_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileLoader methods ***/ -#define IDWriteFontFileLoader_CreateStreamFromKey(This, key, key_size, stream) (This)->lpVtbl->CreateStreamFromKey(This, key, key_size, stream) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFileLoader_QueryInterface(IDWriteFontFileLoader* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFileLoader_AddRef(IDWriteFontFileLoader* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFileLoader_Release(IDWriteFontFileLoader* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileLoader methods ***/ -static inline HRESULT IDWriteFontFileLoader_CreateStreamFromKey(IDWriteFontFileLoader* This, const void* key, UINT32 key_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->CreateStreamFromKey(This, key, key_size, stream); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFileLoader_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteLocalFontFileLoader interface - */ -#ifndef __IDWriteLocalFontFileLoader_INTERFACE_DEFINED__ -#define __IDWriteLocalFontFileLoader_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteLocalFontFileLoader, 0xb2d9f3ec, 0xc9fe, 0x4a11, 0xa2, 0xec, 0xd8, 0x62, 0x08, 0xf7, 0xc0, 0xa2); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2") -IDWriteLocalFontFileLoader : public IDWriteFontFileLoader { - virtual HRESULT STDMETHODCALLTYPE GetFilePathLengthFromKey( - const void* key, - UINT32 key_size, - UINT32* length) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilePathFromKey( - const void* key, - UINT32 key_size, - WCHAR* path, - UINT32 length) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLastWriteTimeFromKey( - const void* key, - UINT32 key_size, - FILETIME* writetime) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteLocalFontFileLoader, 0xb2d9f3ec, 0xc9fe, 0x4a11, 0xa2, 0xec, 0xd8, 0x62, 0x08, 0xf7, 0xc0, 0xa2) -#endif -#else -typedef struct IDWriteLocalFontFileLoaderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteLocalFontFileLoader* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteLocalFontFileLoader* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteLocalFontFileLoader* This); - - /*** IDWriteFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateStreamFromKey)( - IDWriteLocalFontFileLoader* This, - const void* key, - UINT32 key_size, - IDWriteFontFileStream** stream); - - /*** IDWriteLocalFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFilePathLengthFromKey)( - IDWriteLocalFontFileLoader* This, - const void* key, - UINT32 key_size, - UINT32* length); - - HRESULT(STDMETHODCALLTYPE* GetFilePathFromKey)( - IDWriteLocalFontFileLoader* This, - const void* key, - UINT32 key_size, - WCHAR* path, - UINT32 length); - - HRESULT(STDMETHODCALLTYPE* GetLastWriteTimeFromKey)( - IDWriteLocalFontFileLoader* This, - const void* key, - UINT32 key_size, - FILETIME* writetime); - - END_INTERFACE -} IDWriteLocalFontFileLoaderVtbl; - -interface IDWriteLocalFontFileLoader { - CONST_VTBL IDWriteLocalFontFileLoaderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteLocalFontFileLoader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteLocalFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteLocalFontFileLoader_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileLoader methods ***/ -#define IDWriteLocalFontFileLoader_CreateStreamFromKey(This, key, key_size, stream) (This)->lpVtbl->CreateStreamFromKey(This, key, key_size, stream) -/*** IDWriteLocalFontFileLoader methods ***/ -#define IDWriteLocalFontFileLoader_GetFilePathLengthFromKey(This, key, key_size, length) (This)->lpVtbl->GetFilePathLengthFromKey(This, key, key_size, length) -#define IDWriteLocalFontFileLoader_GetFilePathFromKey(This, key, key_size, path, length) (This)->lpVtbl->GetFilePathFromKey(This, key, key_size, path, length) -#define IDWriteLocalFontFileLoader_GetLastWriteTimeFromKey(This, key, key_size, writetime) (This)->lpVtbl->GetLastWriteTimeFromKey(This, key, key_size, writetime) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteLocalFontFileLoader_QueryInterface(IDWriteLocalFontFileLoader* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteLocalFontFileLoader_AddRef(IDWriteLocalFontFileLoader* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteLocalFontFileLoader_Release(IDWriteLocalFontFileLoader* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileLoader methods ***/ -static inline HRESULT IDWriteLocalFontFileLoader_CreateStreamFromKey(IDWriteLocalFontFileLoader* This, const void* key, UINT32 key_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->CreateStreamFromKey(This, key, key_size, stream); -} -/*** IDWriteLocalFontFileLoader methods ***/ -static inline HRESULT IDWriteLocalFontFileLoader_GetFilePathLengthFromKey(IDWriteLocalFontFileLoader* This, const void* key, UINT32 key_size, UINT32* length) { - return This->lpVtbl->GetFilePathLengthFromKey(This, key, key_size, length); -} -static inline HRESULT IDWriteLocalFontFileLoader_GetFilePathFromKey(IDWriteLocalFontFileLoader* This, const void* key, UINT32 key_size, WCHAR* path, UINT32 length) { - return This->lpVtbl->GetFilePathFromKey(This, key, key_size, path, length); -} -static inline HRESULT IDWriteLocalFontFileLoader_GetLastWriteTimeFromKey(IDWriteLocalFontFileLoader* This, const void* key, UINT32 key_size, FILETIME* writetime) { - return This->lpVtbl->GetLastWriteTimeFromKey(This, key, key_size, writetime); -} -#endif -#endif - -#endif - -#endif /* __IDWriteLocalFontFileLoader_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFile interface - */ -#ifndef __IDWriteFontFile_INTERFACE_DEFINED__ -#define __IDWriteFontFile_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFile, 0x739d886a, 0xcef5, 0x47dc, 0x87, 0x69, 0x1a, 0x8b, 0x41, 0xbe, 0xbb, 0xb0); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("739d886a-cef5-47dc-8769-1a8b41bebbb0") -IDWriteFontFile : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetReferenceKey( - const void** key, - UINT32* key_size) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLoader( - IDWriteFontFileLoader * *loader) = 0; - - virtual HRESULT STDMETHODCALLTYPE Analyze( - WINBOOL * is_supported_fonttype, - DWRITE_FONT_FILE_TYPE * file_type, - DWRITE_FONT_FACE_TYPE * face_type, - UINT32 * faces_num) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFile, 0x739d886a, 0xcef5, 0x47dc, 0x87, 0x69, 0x1a, 0x8b, 0x41, 0xbe, 0xbb, 0xb0) -#endif -#else -typedef struct IDWriteFontFileVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFile* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFile* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFile* This); - - /*** IDWriteFontFile methods ***/ - HRESULT(STDMETHODCALLTYPE* GetReferenceKey)( - IDWriteFontFile* This, - const void** key, - UINT32* key_size); - - HRESULT(STDMETHODCALLTYPE* GetLoader)( - IDWriteFontFile* This, - IDWriteFontFileLoader** loader); - - HRESULT(STDMETHODCALLTYPE* Analyze)( - IDWriteFontFile* This, - WINBOOL* is_supported_fonttype, - DWRITE_FONT_FILE_TYPE* file_type, - DWRITE_FONT_FACE_TYPE* face_type, - UINT32* faces_num); - - END_INTERFACE -} IDWriteFontFileVtbl; - -interface IDWriteFontFile { - CONST_VTBL IDWriteFontFileVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFile_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFile_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFile_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFile methods ***/ -#define IDWriteFontFile_GetReferenceKey(This, key, key_size) (This)->lpVtbl->GetReferenceKey(This, key, key_size) -#define IDWriteFontFile_GetLoader(This, loader) (This)->lpVtbl->GetLoader(This, loader) -#define IDWriteFontFile_Analyze(This, is_supported_fonttype, file_type, face_type, faces_num) (This)->lpVtbl->Analyze(This, is_supported_fonttype, file_type, face_type, faces_num) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFile_QueryInterface(IDWriteFontFile* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFile_AddRef(IDWriteFontFile* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFile_Release(IDWriteFontFile* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFile methods ***/ -static inline HRESULT IDWriteFontFile_GetReferenceKey(IDWriteFontFile* This, const void** key, UINT32* key_size) { - return This->lpVtbl->GetReferenceKey(This, key, key_size); -} -static inline HRESULT IDWriteFontFile_GetLoader(IDWriteFontFile* This, IDWriteFontFileLoader** loader) { - return This->lpVtbl->GetLoader(This, loader); -} -static inline HRESULT IDWriteFontFile_Analyze(IDWriteFontFile* This, WINBOOL* is_supported_fonttype, DWRITE_FONT_FILE_TYPE* file_type, DWRITE_FONT_FACE_TYPE* face_type, UINT32* faces_num) { - return This->lpVtbl->Analyze(This, is_supported_fonttype, file_type, face_type, faces_num); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFile_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFileEnumerator interface - */ -#ifndef __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ -#define __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFileEnumerator, 0x72755049, 0x5ff7, 0x435d, 0x83, 0x48, 0x4b, 0xe9, 0x7c, 0xfa, 0x6c, 0x7c); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("72755049-5ff7-435d-8348-4be97cfa6c7c") -IDWriteFontFileEnumerator : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE MoveNext( - WINBOOL * has_current_file) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentFontFile( - IDWriteFontFile * *font_file) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFileEnumerator, 0x72755049, 0x5ff7, 0x435d, 0x83, 0x48, 0x4b, 0xe9, 0x7c, 0xfa, 0x6c, 0x7c) -#endif -#else -typedef struct IDWriteFontFileEnumeratorVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFileEnumerator* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFileEnumerator* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFileEnumerator* This); - - /*** IDWriteFontFileEnumerator methods ***/ - HRESULT(STDMETHODCALLTYPE* MoveNext)( - IDWriteFontFileEnumerator* This, - WINBOOL* has_current_file); - - HRESULT(STDMETHODCALLTYPE* GetCurrentFontFile)( - IDWriteFontFileEnumerator* This, - IDWriteFontFile** font_file); - - END_INTERFACE -} IDWriteFontFileEnumeratorVtbl; - -interface IDWriteFontFileEnumerator { - CONST_VTBL IDWriteFontFileEnumeratorVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFileEnumerator_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFileEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFileEnumerator_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileEnumerator methods ***/ -#define IDWriteFontFileEnumerator_MoveNext(This, has_current_file) (This)->lpVtbl->MoveNext(This, has_current_file) -#define IDWriteFontFileEnumerator_GetCurrentFontFile(This, font_file) (This)->lpVtbl->GetCurrentFontFile(This, font_file) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFileEnumerator_QueryInterface(IDWriteFontFileEnumerator* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFileEnumerator_AddRef(IDWriteFontFileEnumerator* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFileEnumerator_Release(IDWriteFontFileEnumerator* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileEnumerator methods ***/ -static inline HRESULT IDWriteFontFileEnumerator_MoveNext(IDWriteFontFileEnumerator* This, WINBOOL* has_current_file) { - return This->lpVtbl->MoveNext(This, has_current_file); -} -static inline HRESULT IDWriteFontFileEnumerator_GetCurrentFontFile(IDWriteFontFileEnumerator* This, IDWriteFontFile** font_file) { - return This->lpVtbl->GetCurrentFontFile(This, font_file); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontCollectionLoader interface - */ -#ifndef __IDWriteFontCollectionLoader_INTERFACE_DEFINED__ -#define __IDWriteFontCollectionLoader_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontCollectionLoader, 0xcca920e4, 0x52f0, 0x492b, 0xbf, 0xa8, 0x29, 0xc7, 0x2e, 0xe0, 0xa4, 0x68); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("cca920e4-52f0-492b-bfa8-29c72ee0a468") -IDWriteFontCollectionLoader : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE CreateEnumeratorFromKey( - IDWriteFactory * factory, - const void* key, - UINT32 key_size, - IDWriteFontFileEnumerator** enumerator) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontCollectionLoader, 0xcca920e4, 0x52f0, 0x492b, 0xbf, 0xa8, 0x29, 0xc7, 0x2e, 0xe0, 0xa4, 0x68) -#endif -#else -typedef struct IDWriteFontCollectionLoaderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontCollectionLoader* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontCollectionLoader* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontCollectionLoader* This); - - /*** IDWriteFontCollectionLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateEnumeratorFromKey)( - IDWriteFontCollectionLoader* This, - IDWriteFactory* factory, - const void* key, - UINT32 key_size, - IDWriteFontFileEnumerator** enumerator); - - END_INTERFACE -} IDWriteFontCollectionLoaderVtbl; - -interface IDWriteFontCollectionLoader { - CONST_VTBL IDWriteFontCollectionLoaderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontCollectionLoader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontCollectionLoader_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontCollectionLoader_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontCollectionLoader methods ***/ -#define IDWriteFontCollectionLoader_CreateEnumeratorFromKey(This, factory, key, key_size, enumerator) (This)->lpVtbl->CreateEnumeratorFromKey(This, factory, key, key_size, enumerator) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontCollectionLoader_QueryInterface(IDWriteFontCollectionLoader* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontCollectionLoader_AddRef(IDWriteFontCollectionLoader* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontCollectionLoader_Release(IDWriteFontCollectionLoader* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontCollectionLoader methods ***/ -static inline HRESULT IDWriteFontCollectionLoader_CreateEnumeratorFromKey(IDWriteFontCollectionLoader* This, IDWriteFactory* factory, const void* key, UINT32 key_size, IDWriteFontFileEnumerator** enumerator) { - return This->lpVtbl->CreateEnumeratorFromKey(This, factory, key, key_size, enumerator); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontCollectionLoader_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteLocalizedStrings interface - */ -#ifndef __IDWriteLocalizedStrings_INTERFACE_DEFINED__ -#define __IDWriteLocalizedStrings_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteLocalizedStrings, 0x08256209, 0x099a, 0x4b34, 0xb8, 0x6d, 0xc2, 0x2b, 0x11, 0x0e, 0x77, 0x71); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("08256209-099a-4b34-b86d-c22b110e7771") -IDWriteLocalizedStrings : public IUnknown { - virtual UINT32 STDMETHODCALLTYPE GetCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE FindLocaleName( - const WCHAR* locale_name, - UINT32* index, - WINBOOL* exists) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( - UINT32 index, - UINT32 * length) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - UINT32 index, - WCHAR * locale_name, - UINT32 size) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStringLength( - UINT32 index, - UINT32 * length) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - UINT32 index, - WCHAR * buffer, - UINT32 size) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteLocalizedStrings, 0x08256209, 0x099a, 0x4b34, 0xb8, 0x6d, 0xc2, 0x2b, 0x11, 0x0e, 0x77, 0x71) -#endif -#else -typedef struct IDWriteLocalizedStringsVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteLocalizedStrings* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteLocalizedStrings* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteLocalizedStrings* This); - - /*** IDWriteLocalizedStrings methods ***/ - UINT32(STDMETHODCALLTYPE* GetCount)( - IDWriteLocalizedStrings* This); - - HRESULT(STDMETHODCALLTYPE* FindLocaleName)( - IDWriteLocalizedStrings* This, - const WCHAR* locale_name, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteLocalizedStrings* This, - UINT32 index, - UINT32* length); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteLocalizedStrings* This, - UINT32 index, - WCHAR* locale_name, - UINT32 size); - - HRESULT(STDMETHODCALLTYPE* GetStringLength)( - IDWriteLocalizedStrings* This, - UINT32 index, - UINT32* length); - - HRESULT(STDMETHODCALLTYPE* GetString)( - IDWriteLocalizedStrings* This, - UINT32 index, - WCHAR* buffer, - UINT32 size); - - END_INTERFACE -} IDWriteLocalizedStringsVtbl; - -interface IDWriteLocalizedStrings { - CONST_VTBL IDWriteLocalizedStringsVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteLocalizedStrings_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteLocalizedStrings_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteLocalizedStrings_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteLocalizedStrings methods ***/ -#define IDWriteLocalizedStrings_GetCount(This) (This)->lpVtbl->GetCount(This) -#define IDWriteLocalizedStrings_FindLocaleName(This, locale_name, index, exists) (This)->lpVtbl->FindLocaleName(This, locale_name, index, exists) -#define IDWriteLocalizedStrings_GetLocaleNameLength(This, index, length) (This)->lpVtbl->GetLocaleNameLength(This, index, length) -#define IDWriteLocalizedStrings_GetLocaleName(This, index, locale_name, size) (This)->lpVtbl->GetLocaleName(This, index, locale_name, size) -#define IDWriteLocalizedStrings_GetStringLength(This, index, length) (This)->lpVtbl->GetStringLength(This, index, length) -#define IDWriteLocalizedStrings_GetString(This, index, buffer, size) (This)->lpVtbl->GetString(This, index, buffer, size) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteLocalizedStrings_QueryInterface(IDWriteLocalizedStrings* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteLocalizedStrings_AddRef(IDWriteLocalizedStrings* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteLocalizedStrings_Release(IDWriteLocalizedStrings* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteLocalizedStrings methods ***/ -static inline UINT32 IDWriteLocalizedStrings_GetCount(IDWriteLocalizedStrings* This) { - return This->lpVtbl->GetCount(This); -} -static inline HRESULT IDWriteLocalizedStrings_FindLocaleName(IDWriteLocalizedStrings* This, const WCHAR* locale_name, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindLocaleName(This, locale_name, index, exists); -} -static inline HRESULT IDWriteLocalizedStrings_GetLocaleNameLength(IDWriteLocalizedStrings* This, UINT32 index, UINT32* length) { - return This->lpVtbl->GetLocaleNameLength(This, index, length); -} -static inline HRESULT IDWriteLocalizedStrings_GetLocaleName(IDWriteLocalizedStrings* This, UINT32 index, WCHAR* locale_name, UINT32 size) { - return This->lpVtbl->GetLocaleName(This, index, locale_name, size); -} -static inline HRESULT IDWriteLocalizedStrings_GetStringLength(IDWriteLocalizedStrings* This, UINT32 index, UINT32* length) { - return This->lpVtbl->GetStringLength(This, index, length); -} -static inline HRESULT IDWriteLocalizedStrings_GetString(IDWriteLocalizedStrings* This, UINT32 index, WCHAR* buffer, UINT32 size) { - return This->lpVtbl->GetString(This, index, buffer, size); -} -#endif -#endif - -#endif - -#endif /* __IDWriteLocalizedStrings_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteRenderingParams interface - */ -#ifndef __IDWriteRenderingParams_INTERFACE_DEFINED__ -#define __IDWriteRenderingParams_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteRenderingParams, 0x2f0da53a, 0x2add, 0x47cd, 0x82, 0xee, 0xd9, 0xec, 0x34, 0x68, 0x8e, 0x75); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("2f0da53a-2add-47cd-82ee-d9ec34688e75") -IDWriteRenderingParams : public IUnknown { - virtual FLOAT STDMETHODCALLTYPE GetGamma() = 0; - - virtual FLOAT STDMETHODCALLTYPE GetEnhancedContrast() = 0; - - virtual FLOAT STDMETHODCALLTYPE GetClearTypeLevel() = 0; - - virtual DWRITE_PIXEL_GEOMETRY STDMETHODCALLTYPE GetPixelGeometry() = 0; - - virtual DWRITE_RENDERING_MODE STDMETHODCALLTYPE GetRenderingMode() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteRenderingParams, 0x2f0da53a, 0x2add, 0x47cd, 0x82, 0xee, 0xd9, 0xec, 0x34, 0x68, 0x8e, 0x75) -#endif -#else -typedef struct IDWriteRenderingParamsVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteRenderingParams* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteRenderingParams* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteRenderingParams* This); - - /*** IDWriteRenderingParams methods ***/ - FLOAT(STDMETHODCALLTYPE* GetGamma)( - IDWriteRenderingParams* This); - - FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)( - IDWriteRenderingParams* This); - - FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)( - IDWriteRenderingParams* This); - - DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)( - IDWriteRenderingParams* This); - - DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)( - IDWriteRenderingParams* This); - - END_INTERFACE -} IDWriteRenderingParamsVtbl; - -interface IDWriteRenderingParams { - CONST_VTBL IDWriteRenderingParamsVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteRenderingParams_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteRenderingParams_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteRenderingParams_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteRenderingParams methods ***/ -#define IDWriteRenderingParams_GetGamma(This) (This)->lpVtbl->GetGamma(This) -#define IDWriteRenderingParams_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This) -#define IDWriteRenderingParams_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This) -#define IDWriteRenderingParams_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This) -#define IDWriteRenderingParams_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteRenderingParams_QueryInterface(IDWriteRenderingParams* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteRenderingParams_AddRef(IDWriteRenderingParams* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteRenderingParams_Release(IDWriteRenderingParams* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteRenderingParams methods ***/ -static inline FLOAT IDWriteRenderingParams_GetGamma(IDWriteRenderingParams* This) { - return This->lpVtbl->GetGamma(This); -} -static inline FLOAT IDWriteRenderingParams_GetEnhancedContrast(IDWriteRenderingParams* This) { - return This->lpVtbl->GetEnhancedContrast(This); -} -static inline FLOAT IDWriteRenderingParams_GetClearTypeLevel(IDWriteRenderingParams* This) { - return This->lpVtbl->GetClearTypeLevel(This); -} -static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams_GetPixelGeometry(IDWriteRenderingParams* This) { - return This->lpVtbl->GetPixelGeometry(This); -} -static inline DWRITE_RENDERING_MODE IDWriteRenderingParams_GetRenderingMode(IDWriteRenderingParams* This) { - return This->lpVtbl->GetRenderingMode(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteRenderingParams_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFace interface - */ -#ifndef __IDWriteFontFace_INTERFACE_DEFINED__ -#define __IDWriteFontFace_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace, 0x5f49804d, 0x7024, 0x4d43, 0xbf, 0xa9, 0xd2, 0x59, 0x84, 0xf5, 0x38, 0x49); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("5f49804d-7024-4d43-bfa9-d25984f53849") -IDWriteFontFace : public IUnknown { - virtual DWRITE_FONT_FACE_TYPE STDMETHODCALLTYPE GetType() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFiles( - UINT32 * number_of_files, - IDWriteFontFile * *fontfiles) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetIndex() = 0; - - virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations() = 0; - - virtual WINBOOL STDMETHODCALLTYPE IsSymbolFont() = 0; - - virtual void STDMETHODCALLTYPE GetMetrics( - DWRITE_FONT_METRICS * metrics) = 0; - - virtual UINT16 STDMETHODCALLTYPE GetGlyphCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDesignGlyphMetrics( - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways = FALSE) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGlyphIndices( - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices) = 0; - - virtual HRESULT STDMETHODCALLTYPE TryGetFontTable( - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists) = 0; - - virtual void STDMETHODCALLTYPE ReleaseFontTable( - void* table_context) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGlyphRunOutline( - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode( - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams * params, - DWRITE_RENDERING_MODE * rendering_mode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGdiCompatibleMetrics( - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGdiCompatibleGlyphMetrics( - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways = FALSE) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace, 0x5f49804d, 0x7024, 0x4d43, 0xbf, 0xa9, 0xd2, 0x59, 0x84, 0xf5, 0x38, 0x49) -#endif -#else -typedef struct IDWriteFontFaceVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - END_INTERFACE -} IDWriteFontFaceVtbl; - -interface IDWriteFontFace { - CONST_VTBL IDWriteFontFaceVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace_GetMetrics(This, metrics) (This)->lpVtbl->GetMetrics(This, metrics) -#define IDWriteFontFace_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace_GetRecommendedRenderingMode(This, emSize, pixels_per_dip, mode, params, rendering_mode) (This)->lpVtbl->GetRecommendedRenderingMode(This, emSize, pixels_per_dip, mode, params, rendering_mode) -#define IDWriteFontFace_GetGdiCompatibleMetrics(This, emSize, pixels_per_dip, transform, metrics) (This)->lpVtbl->GetGdiCompatibleMetrics(This, emSize, pixels_per_dip, transform, metrics) -#define IDWriteFontFace_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace_QueryInterface(IDWriteFontFace* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace_AddRef(IDWriteFontFace* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace_Release(IDWriteFontFace* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace_GetType(IDWriteFontFace* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace_GetFiles(IDWriteFontFace* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace_GetIndex(IDWriteFontFace* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace_GetSimulations(IDWriteFontFace* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace_IsSymbolFont(IDWriteFontFace* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline void IDWriteFontFace_GetMetrics(IDWriteFontFace* This, DWRITE_FONT_METRICS* metrics) { - This->lpVtbl->GetMetrics(This, metrics); -} -static inline UINT16 IDWriteFontFace_GetGlyphCount(IDWriteFontFace* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace_GetDesignGlyphMetrics(IDWriteFontFace* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace_GetGlyphIndices(IDWriteFontFace* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace_TryGetFontTable(IDWriteFontFace* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace_ReleaseFontTable(IDWriteFontFace* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace_GetGlyphRunOutline(IDWriteFontFace* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace_GetRecommendedRenderingMode(IDWriteFontFace* This, FLOAT emSize, FLOAT pixels_per_dip, DWRITE_MEASURING_MODE mode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE* rendering_mode) { - return This->lpVtbl->GetRecommendedRenderingMode(This, emSize, pixels_per_dip, mode, params, rendering_mode); -} -static inline HRESULT IDWriteFontFace_GetGdiCompatibleMetrics(IDWriteFontFace* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS* metrics) { - return This->lpVtbl->GetGdiCompatibleMetrics(This, emSize, pixels_per_dip, transform, metrics); -} -static inline HRESULT IDWriteFontFace_GetGdiCompatibleGlyphMetrics(IDWriteFontFace* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFont interface - */ -#ifndef __IDWriteFont_INTERFACE_DEFINED__ -#define __IDWriteFont_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFont, 0xacd16696, 0x8c14, 0x4f5d, 0x87, 0x7e, 0xfe, 0x3f, 0xc1, 0xd3, 0x27, 0x37); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("acd16696-8c14-4f5d-877e-fe3fc1d32737") -IDWriteFont : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetFontFamily( - IDWriteFontFamily * *family) = 0; - - virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight() = 0; - - virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch() = 0; - - virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle() = 0; - - virtual WINBOOL STDMETHODCALLTYPE IsSymbolFont() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFaceNames( - IDWriteLocalizedStrings * *names) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInformationalStrings( - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings * *strings, - WINBOOL * exists) = 0; - - virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations() = 0; - - virtual void STDMETHODCALLTYPE GetMetrics( - DWRITE_FONT_METRICS * metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE HasCharacter( - UINT32 value, - WINBOOL * exists) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - IDWriteFontFace * *face) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFont, 0xacd16696, 0x8c14, 0x4f5d, 0x87, 0x7e, 0xfe, 0x3f, 0xc1, 0xd3, 0x27, 0x37) -#endif -#else -typedef struct IDWriteFontVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFont* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFont* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFont* This); - - /*** IDWriteFont methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFont* This, - IDWriteFontFamily** family); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFont* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFont* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFont* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFont* This); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFont* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFont* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFont* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFont* This, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFont* This, - UINT32 value, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFont* This, - IDWriteFontFace** face); - - END_INTERFACE -} IDWriteFontVtbl; - -interface IDWriteFont { - CONST_VTBL IDWriteFontVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFont_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFont_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFont_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFont methods ***/ -#define IDWriteFont_GetFontFamily(This, family) (This)->lpVtbl->GetFontFamily(This, family) -#define IDWriteFont_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFont_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFont_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFont_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFont_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names) -#define IDWriteFont_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFont_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFont_GetMetrics(This, metrics) (This)->lpVtbl->GetMetrics(This, metrics) -#define IDWriteFont_HasCharacter(This, value, exists) (This)->lpVtbl->HasCharacter(This, value, exists) -#define IDWriteFont_CreateFontFace(This, face) (This)->lpVtbl->CreateFontFace(This, face) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFont_QueryInterface(IDWriteFont* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFont_AddRef(IDWriteFont* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFont_Release(IDWriteFont* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFont methods ***/ -static inline HRESULT IDWriteFont_GetFontFamily(IDWriteFont* This, IDWriteFontFamily** family) { - return This->lpVtbl->GetFontFamily(This, family); -} -static inline DWRITE_FONT_WEIGHT IDWriteFont_GetWeight(IDWriteFont* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFont_GetStretch(IDWriteFont* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFont_GetStyle(IDWriteFont* This) { - return This->lpVtbl->GetStyle(This); -} -static inline WINBOOL IDWriteFont_IsSymbolFont(IDWriteFont* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline HRESULT IDWriteFont_GetFaceNames(IDWriteFont* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFaceNames(This, names); -} -static inline HRESULT IDWriteFont_GetInformationalStrings(IDWriteFont* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFont_GetSimulations(IDWriteFont* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline void IDWriteFont_GetMetrics(IDWriteFont* This, DWRITE_FONT_METRICS* metrics) { - This->lpVtbl->GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFont_HasCharacter(IDWriteFont* This, UINT32 value, WINBOOL* exists) { - return This->lpVtbl->HasCharacter(This, value, exists); -} -static inline HRESULT IDWriteFont_CreateFontFace(IDWriteFont* This, IDWriteFontFace** face) { - return This->lpVtbl->CreateFontFace(This, face); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFont_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontList interface - */ -#ifndef __IDWriteFontList_INTERFACE_DEFINED__ -#define __IDWriteFontList_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontList, 0x1a0d8438, 0x1d97, 0x4ec1, 0xae, 0xf9, 0xa2, 0xfb, 0x86, 0xed, 0x6a, 0xcb); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb") -IDWriteFontList : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetFontCollection( - IDWriteFontCollection * *collection) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFont( - UINT32 index, - IDWriteFont * *font) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontList, 0x1a0d8438, 0x1d97, 0x4ec1, 0xae, 0xf9, 0xa2, 0xfb, 0x86, 0xed, 0x6a, 0xcb) -#endif -#else -typedef struct IDWriteFontListVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontList* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontList* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontList* This); - - /*** IDWriteFontList methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteFontList* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontList* This); - - HRESULT(STDMETHODCALLTYPE* GetFont)( - IDWriteFontList* This, - UINT32 index, - IDWriteFont** font); - - END_INTERFACE -} IDWriteFontListVtbl; - -interface IDWriteFontList { - CONST_VTBL IDWriteFontListVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontList_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontList_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontList_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontList methods ***/ -#define IDWriteFontList_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteFontList_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontList_GetFont(This, index, font) (This)->lpVtbl->GetFont(This, index, font) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontList_QueryInterface(IDWriteFontList* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontList_AddRef(IDWriteFontList* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontList_Release(IDWriteFontList* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontList methods ***/ -static inline HRESULT IDWriteFontList_GetFontCollection(IDWriteFontList* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteFontList_GetFontCount(IDWriteFontList* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontList_GetFont(IDWriteFontList* This, UINT32 index, IDWriteFont** font) { - return This->lpVtbl->GetFont(This, index, font); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontList_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFamily interface - */ -#ifndef __IDWriteFontFamily_INTERFACE_DEFINED__ -#define __IDWriteFontFamily_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFamily, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdd); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7add") -IDWriteFontFamily : public IDWriteFontList { - virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( - IDWriteLocalizedStrings * *names) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFirstMatchingFont( - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFont * *font) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontList * *fonts) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFamily, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdd) -#endif -#else -typedef struct IDWriteFontFamilyVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFamily* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFamily* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFamily* This); - - /*** IDWriteFontList methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteFontFamily* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontFamily* This); - - HRESULT(STDMETHODCALLTYPE* GetFont)( - IDWriteFontFamily* This, - UINT32 index, - IDWriteFont** font); - - /*** IDWriteFontFamily methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFamily* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFirstMatchingFont)( - IDWriteFontFamily* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFont** font); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontFamily* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontList** fonts); - - END_INTERFACE -} IDWriteFontFamilyVtbl; - -interface IDWriteFontFamily { - CONST_VTBL IDWriteFontFamilyVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFamily_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFamily_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFamily_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontList methods ***/ -#define IDWriteFontFamily_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteFontFamily_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontFamily_GetFont(This, index, font) (This)->lpVtbl->GetFont(This, index, font) -/*** IDWriteFontFamily methods ***/ -#define IDWriteFontFamily_GetFamilyNames(This, names) (This)->lpVtbl->GetFamilyNames(This, names) -#define IDWriteFontFamily_GetFirstMatchingFont(This, weight, stretch, style, font) (This)->lpVtbl->GetFirstMatchingFont(This, weight, stretch, style, font) -#define IDWriteFontFamily_GetMatchingFonts(This, weight, stretch, style, fonts) (This)->lpVtbl->GetMatchingFonts(This, weight, stretch, style, fonts) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFamily_QueryInterface(IDWriteFontFamily* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFamily_AddRef(IDWriteFontFamily* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFamily_Release(IDWriteFontFamily* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontList methods ***/ -static inline HRESULT IDWriteFontFamily_GetFontCollection(IDWriteFontFamily* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteFontFamily_GetFontCount(IDWriteFontFamily* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontFamily_GetFont(IDWriteFontFamily* This, UINT32 index, IDWriteFont** font) { - return This->lpVtbl->GetFont(This, index, font); -} -/*** IDWriteFontFamily methods ***/ -static inline HRESULT IDWriteFontFamily_GetFamilyNames(IDWriteFontFamily* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFamilyNames(This, names); -} -static inline HRESULT IDWriteFontFamily_GetFirstMatchingFont(IDWriteFontFamily* This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont** font) { - return This->lpVtbl->GetFirstMatchingFont(This, weight, stretch, style, font); -} -static inline HRESULT IDWriteFontFamily_GetMatchingFonts(IDWriteFontFamily* This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList** fonts) { - return This->lpVtbl->GetMatchingFonts(This, weight, stretch, style, fonts); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFamily_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontCollection interface - */ -#ifndef __IDWriteFontCollection_INTERFACE_DEFINED__ -#define __IDWriteFontCollection_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontCollection, 0xa84cee02, 0x3eea, 0x4eee, 0xa8, 0x27, 0x87, 0xc1, 0xa0, 0x2a, 0x0f, 0xcc); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("a84cee02-3eea-4eee-a827-87c1a02a0fcc") -IDWriteFontCollection : public IUnknown { - virtual UINT32 STDMETHODCALLTYPE GetFontFamilyCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFamily( - UINT32 index, - IDWriteFontFamily * *family) = 0; - - virtual HRESULT STDMETHODCALLTYPE FindFamilyName( - const WCHAR* name, - UINT32* index, - WINBOOL* exists) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFromFontFace( - IDWriteFontFace * face, - IDWriteFont * *font) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontCollection, 0xa84cee02, 0x3eea, 0x4eee, 0xa8, 0x27, 0x87, 0xc1, 0xa0, 0x2a, 0x0f, 0xcc) -#endif -#else -typedef struct IDWriteFontCollectionVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontCollection* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontCollection* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontCollection* This); - - /*** IDWriteFontCollection methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( - IDWriteFontCollection* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFontCollection* This, - UINT32 index, - IDWriteFontFamily** family); - - HRESULT(STDMETHODCALLTYPE* FindFamilyName)( - IDWriteFontCollection* This, - const WCHAR* name, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( - IDWriteFontCollection* This, - IDWriteFontFace* face, - IDWriteFont** font); - - END_INTERFACE -} IDWriteFontCollectionVtbl; - -interface IDWriteFontCollection { - CONST_VTBL IDWriteFontCollectionVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontCollection_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontCollection_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontCollection_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontCollection methods ***/ -#define IDWriteFontCollection_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) -#define IDWriteFontCollection_GetFontFamily(This, index, family) (This)->lpVtbl->GetFontFamily(This, index, family) -#define IDWriteFontCollection_FindFamilyName(This, name, index, exists) (This)->lpVtbl->FindFamilyName(This, name, index, exists) -#define IDWriteFontCollection_GetFontFromFontFace(This, face, font) (This)->lpVtbl->GetFontFromFontFace(This, face, font) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontCollection_QueryInterface(IDWriteFontCollection* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontCollection_AddRef(IDWriteFontCollection* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontCollection_Release(IDWriteFontCollection* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontCollection methods ***/ -static inline UINT32 IDWriteFontCollection_GetFontFamilyCount(IDWriteFontCollection* This) { - return This->lpVtbl->GetFontFamilyCount(This); -} -static inline HRESULT IDWriteFontCollection_GetFontFamily(IDWriteFontCollection* This, UINT32 index, IDWriteFontFamily** family) { - return This->lpVtbl->GetFontFamily(This, index, family); -} -static inline HRESULT IDWriteFontCollection_FindFamilyName(IDWriteFontCollection* This, const WCHAR* name, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFamilyName(This, name, index, exists); -} -static inline HRESULT IDWriteFontCollection_GetFontFromFontFace(IDWriteFontCollection* This, IDWriteFontFace* face, IDWriteFont** font) { - return This->lpVtbl->GetFontFromFontFace(This, face, font); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontCollection_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWritePixelSnapping interface - */ -#ifndef __IDWritePixelSnapping_INTERFACE_DEFINED__ -#define __IDWritePixelSnapping_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWritePixelSnapping, 0xeaf3a2da, 0xecf4, 0x4d24, 0xb6, 0x44, 0xb3, 0x4f, 0x68, 0x42, 0x02, 0x4b); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("eaf3a2da-ecf4-4d24-b644-b34f6842024b") -IDWritePixelSnapping : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE IsPixelSnappingDisabled( - void* client_drawingcontext, - WINBOOL* disabled) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentTransform( - void* client_drawingcontext, - DWRITE_MATRIX* transform) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPixelsPerDip( - void* client_drawingcontext, - FLOAT* pixels_per_dip) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWritePixelSnapping, 0xeaf3a2da, 0xecf4, 0x4d24, 0xb6, 0x44, 0xb3, 0x4f, 0x68, 0x42, 0x02, 0x4b) -#endif -#else -typedef struct IDWritePixelSnappingVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWritePixelSnapping* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWritePixelSnapping* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWritePixelSnapping* This); - - /*** IDWritePixelSnapping methods ***/ - HRESULT(STDMETHODCALLTYPE* IsPixelSnappingDisabled)( - IDWritePixelSnapping* This, - void* client_drawingcontext, - WINBOOL* disabled); - - HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( - IDWritePixelSnapping* This, - void* client_drawingcontext, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetPixelsPerDip)( - IDWritePixelSnapping* This, - void* client_drawingcontext, - FLOAT* pixels_per_dip); - - END_INTERFACE -} IDWritePixelSnappingVtbl; - -interface IDWritePixelSnapping { - CONST_VTBL IDWritePixelSnappingVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWritePixelSnapping_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWritePixelSnapping_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWritePixelSnapping_Release(This) (This)->lpVtbl->Release(This) -/*** IDWritePixelSnapping methods ***/ -#define IDWritePixelSnapping_IsPixelSnappingDisabled(This, client_drawingcontext, disabled) (This)->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled) -#define IDWritePixelSnapping_GetCurrentTransform(This, client_drawingcontext, transform) (This)->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform) -#define IDWritePixelSnapping_GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) (This)->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWritePixelSnapping_QueryInterface(IDWritePixelSnapping* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWritePixelSnapping_AddRef(IDWritePixelSnapping* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWritePixelSnapping_Release(IDWritePixelSnapping* This) { - return This->lpVtbl->Release(This); -} -/*** IDWritePixelSnapping methods ***/ -static inline HRESULT IDWritePixelSnapping_IsPixelSnappingDisabled(IDWritePixelSnapping* This, void* client_drawingcontext, WINBOOL* disabled) { - return This->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled); -} -static inline HRESULT IDWritePixelSnapping_GetCurrentTransform(IDWritePixelSnapping* This, void* client_drawingcontext, DWRITE_MATRIX* transform) { - return This->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform); -} -static inline HRESULT IDWritePixelSnapping_GetPixelsPerDip(IDWritePixelSnapping* This, void* client_drawingcontext, FLOAT* pixels_per_dip) { - return This->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip); -} -#endif -#endif - -#endif - -#endif /* __IDWritePixelSnapping_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextRenderer interface - */ -#ifndef __IDWriteTextRenderer_INTERFACE_DEFINED__ -#define __IDWriteTextRenderer_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextRenderer, 0xef8a8135, 0x5cc6, 0x45fe, 0x88, 0x25, 0xc5, 0xa0, 0x72, 0x4e, 0xb8, 0x19); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("ef8a8135-5cc6-45fe-8825-c5a0724eb819") -IDWriteTextRenderer : public IDWritePixelSnapping { - virtual HRESULT STDMETHODCALLTYPE DrawGlyphRun( - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE mode, - const DWRITE_GLYPH_RUN* glyph_run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_descr, - IUnknown* drawing_effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawUnderline( - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - const DWRITE_UNDERLINE* underline, - IUnknown* drawing_effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawStrikethrough( - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - const DWRITE_STRIKETHROUGH* strikethrough, - IUnknown* drawing_effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawInlineObject( - void* client_drawingcontext, - FLOAT originX, - FLOAT originY, - IDWriteInlineObject* object, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* drawing_effect) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextRenderer, 0xef8a8135, 0x5cc6, 0x45fe, 0x88, 0x25, 0xc5, 0xa0, 0x72, 0x4e, 0xb8, 0x19) -#endif -#else -typedef struct IDWriteTextRendererVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextRenderer* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextRenderer* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextRenderer* This); - - /*** IDWritePixelSnapping methods ***/ - HRESULT(STDMETHODCALLTYPE* IsPixelSnappingDisabled)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - WINBOOL* disabled); - - HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetPixelsPerDip)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - FLOAT* pixels_per_dip); - - /*** IDWriteTextRenderer methods ***/ - HRESULT(STDMETHODCALLTYPE* DrawGlyphRun)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE mode, - const DWRITE_GLYPH_RUN* glyph_run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_descr, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* DrawUnderline)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - const DWRITE_UNDERLINE* underline, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* DrawStrikethrough)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - const DWRITE_STRIKETHROUGH* strikethrough, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* DrawInlineObject)( - IDWriteTextRenderer* This, - void* client_drawingcontext, - FLOAT originX, - FLOAT originY, - IDWriteInlineObject* object, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* drawing_effect); - - END_INTERFACE -} IDWriteTextRendererVtbl; - -interface IDWriteTextRenderer { - CONST_VTBL IDWriteTextRendererVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextRenderer_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextRenderer_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextRenderer_Release(This) (This)->lpVtbl->Release(This) -/*** IDWritePixelSnapping methods ***/ -#define IDWriteTextRenderer_IsPixelSnappingDisabled(This, client_drawingcontext, disabled) (This)->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled) -#define IDWriteTextRenderer_GetCurrentTransform(This, client_drawingcontext, transform) (This)->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform) -#define IDWriteTextRenderer_GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) (This)->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) -/*** IDWriteTextRenderer methods ***/ -#define IDWriteTextRenderer_DrawGlyphRun(This, client_drawingcontext, baselineOriginX, baselineOriginY, mode, glyph_run, run_descr, drawing_effect) (This)->lpVtbl->DrawGlyphRun(This, client_drawingcontext, baselineOriginX, baselineOriginY, mode, glyph_run, run_descr, drawing_effect) -#define IDWriteTextRenderer_DrawUnderline(This, client_drawingcontext, baselineOriginX, baselineOriginY, underline, drawing_effect) (This)->lpVtbl->DrawUnderline(This, client_drawingcontext, baselineOriginX, baselineOriginY, underline, drawing_effect) -#define IDWriteTextRenderer_DrawStrikethrough(This, client_drawingcontext, baselineOriginX, baselineOriginY, strikethrough, drawing_effect) (This)->lpVtbl->DrawStrikethrough(This, client_drawingcontext, baselineOriginX, baselineOriginY, strikethrough, drawing_effect) -#define IDWriteTextRenderer_DrawInlineObject(This, client_drawingcontext, originX, originY, object, is_sideways, is_rtl, drawing_effect) (This)->lpVtbl->DrawInlineObject(This, client_drawingcontext, originX, originY, object, is_sideways, is_rtl, drawing_effect) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextRenderer_QueryInterface(IDWriteTextRenderer* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextRenderer_AddRef(IDWriteTextRenderer* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextRenderer_Release(IDWriteTextRenderer* This) { - return This->lpVtbl->Release(This); -} -/*** IDWritePixelSnapping methods ***/ -static inline HRESULT IDWriteTextRenderer_IsPixelSnappingDisabled(IDWriteTextRenderer* This, void* client_drawingcontext, WINBOOL* disabled) { - return This->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled); -} -static inline HRESULT IDWriteTextRenderer_GetCurrentTransform(IDWriteTextRenderer* This, void* client_drawingcontext, DWRITE_MATRIX* transform) { - return This->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform); -} -static inline HRESULT IDWriteTextRenderer_GetPixelsPerDip(IDWriteTextRenderer* This, void* client_drawingcontext, FLOAT* pixels_per_dip) { - return This->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip); -} -/*** IDWriteTextRenderer methods ***/ -static inline HRESULT IDWriteTextRenderer_DrawGlyphRun(IDWriteTextRenderer* This, void* client_drawingcontext, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE mode, const DWRITE_GLYPH_RUN* glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION* run_descr, IUnknown* drawing_effect) { - return This->lpVtbl->DrawGlyphRun(This, client_drawingcontext, baselineOriginX, baselineOriginY, mode, glyph_run, run_descr, drawing_effect); -} -static inline HRESULT IDWriteTextRenderer_DrawUnderline(IDWriteTextRenderer* This, void* client_drawingcontext, FLOAT baselineOriginX, FLOAT baselineOriginY, const DWRITE_UNDERLINE* underline, IUnknown* drawing_effect) { - return This->lpVtbl->DrawUnderline(This, client_drawingcontext, baselineOriginX, baselineOriginY, underline, drawing_effect); -} -static inline HRESULT IDWriteTextRenderer_DrawStrikethrough(IDWriteTextRenderer* This, void* client_drawingcontext, FLOAT baselineOriginX, FLOAT baselineOriginY, const DWRITE_STRIKETHROUGH* strikethrough, IUnknown* drawing_effect) { - return This->lpVtbl->DrawStrikethrough(This, client_drawingcontext, baselineOriginX, baselineOriginY, strikethrough, drawing_effect); -} -static inline HRESULT IDWriteTextRenderer_DrawInlineObject(IDWriteTextRenderer* This, void* client_drawingcontext, FLOAT originX, FLOAT originY, IDWriteInlineObject* object, WINBOOL is_sideways, WINBOOL is_rtl, IUnknown* drawing_effect) { - return This->lpVtbl->DrawInlineObject(This, client_drawingcontext, originX, originY, object, is_sideways, is_rtl, drawing_effect); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextRenderer_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteInlineObject interface - */ -#ifndef __IDWriteInlineObject_INTERFACE_DEFINED__ -#define __IDWriteInlineObject_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteInlineObject, 0x8339fde3, 0x106f, 0x47ab, 0x83, 0x73, 0x1c, 0x62, 0x95, 0xeb, 0x10, 0xb3); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("8339fde3-106f-47ab-8373-1c6295eb10b3") -IDWriteInlineObject : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE Draw( - void* client_drawingontext, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* drawing_effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMetrics( - DWRITE_INLINE_OBJECT_METRICS * metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetOverhangMetrics( - DWRITE_OVERHANG_METRICS * overhangs) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBreakConditions( - DWRITE_BREAK_CONDITION * condition_before, - DWRITE_BREAK_CONDITION * condition_after) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteInlineObject, 0x8339fde3, 0x106f, 0x47ab, 0x83, 0x73, 0x1c, 0x62, 0x95, 0xeb, 0x10, 0xb3) -#endif -#else -typedef struct IDWriteInlineObjectVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteInlineObject* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteInlineObject* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteInlineObject* This); - - /*** IDWriteInlineObject methods ***/ - HRESULT(STDMETHODCALLTYPE* Draw)( - IDWriteInlineObject* This, - void* client_drawingontext, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* GetMetrics)( - IDWriteInlineObject* This, - DWRITE_INLINE_OBJECT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)( - IDWriteInlineObject* This, - DWRITE_OVERHANG_METRICS* overhangs); - - HRESULT(STDMETHODCALLTYPE* GetBreakConditions)( - IDWriteInlineObject* This, - DWRITE_BREAK_CONDITION* condition_before, - DWRITE_BREAK_CONDITION* condition_after); - - END_INTERFACE -} IDWriteInlineObjectVtbl; - -interface IDWriteInlineObject { - CONST_VTBL IDWriteInlineObjectVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteInlineObject_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteInlineObject_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteInlineObject_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteInlineObject methods ***/ -#define IDWriteInlineObject_Draw(This, client_drawingontext, renderer, originX, originY, is_sideways, is_rtl, drawing_effect) (This)->lpVtbl->Draw(This, client_drawingontext, renderer, originX, originY, is_sideways, is_rtl, drawing_effect) -#define IDWriteInlineObject_GetMetrics(This, metrics) (This)->lpVtbl->GetMetrics(This, metrics) -#define IDWriteInlineObject_GetOverhangMetrics(This, overhangs) (This)->lpVtbl->GetOverhangMetrics(This, overhangs) -#define IDWriteInlineObject_GetBreakConditions(This, condition_before, condition_after) (This)->lpVtbl->GetBreakConditions(This, condition_before, condition_after) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteInlineObject_QueryInterface(IDWriteInlineObject* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteInlineObject_AddRef(IDWriteInlineObject* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteInlineObject_Release(IDWriteInlineObject* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteInlineObject methods ***/ -static inline HRESULT IDWriteInlineObject_Draw(IDWriteInlineObject* This, void* client_drawingontext, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY, WINBOOL is_sideways, WINBOOL is_rtl, IUnknown* drawing_effect) { - return This->lpVtbl->Draw(This, client_drawingontext, renderer, originX, originY, is_sideways, is_rtl, drawing_effect); -} -static inline HRESULT IDWriteInlineObject_GetMetrics(IDWriteInlineObject* This, DWRITE_INLINE_OBJECT_METRICS* metrics) { - return This->lpVtbl->GetMetrics(This, metrics); -} -static inline HRESULT IDWriteInlineObject_GetOverhangMetrics(IDWriteInlineObject* This, DWRITE_OVERHANG_METRICS* overhangs) { - return This->lpVtbl->GetOverhangMetrics(This, overhangs); -} -static inline HRESULT IDWriteInlineObject_GetBreakConditions(IDWriteInlineObject* This, DWRITE_BREAK_CONDITION* condition_before, DWRITE_BREAK_CONDITION* condition_after) { - return This->lpVtbl->GetBreakConditions(This, condition_before, condition_after); -} -#endif -#endif - -#endif - -#endif /* __IDWriteInlineObject_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextFormat interface - */ -#ifndef __IDWriteTextFormat_INTERFACE_DEFINED__ -#define __IDWriteTextFormat_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextFormat, 0x9c906818, 0x31d7, 0x4fd3, 0xa1, 0x51, 0x7c, 0x5e, 0x22, 0x5d, 0xb5, 0x5a); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("9c906818-31d7-4fd3-a151-7c5e225db55a") -IDWriteTextFormat : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE SetTextAlignment( - DWRITE_TEXT_ALIGNMENT alignment) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetParagraphAlignment( - DWRITE_PARAGRAPH_ALIGNMENT alignment) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetWordWrapping( - DWRITE_WORD_WRAPPING wrapping) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetReadingDirection( - DWRITE_READING_DIRECTION direction) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFlowDirection( - DWRITE_FLOW_DIRECTION direction) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetIncrementalTabStop( - FLOAT tabstop) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTrimming( - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline) = 0; - - virtual DWRITE_TEXT_ALIGNMENT STDMETHODCALLTYPE GetTextAlignment() = 0; - - virtual DWRITE_PARAGRAPH_ALIGNMENT STDMETHODCALLTYPE GetParagraphAlignment() = 0; - - virtual DWRITE_WORD_WRAPPING STDMETHODCALLTYPE GetWordWrapping() = 0; - - virtual DWRITE_READING_DIRECTION STDMETHODCALLTYPE GetReadingDirection() = 0; - - virtual DWRITE_FLOW_DIRECTION STDMETHODCALLTYPE GetFlowDirection() = 0; - - virtual FLOAT STDMETHODCALLTYPE GetIncrementalTabStop() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTrimming( - DWRITE_TRIMMING * options, - IDWriteInlineObject * *trimming_sign) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( - DWRITE_LINE_SPACING_METHOD * method, - FLOAT * spacing, - FLOAT * baseline) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontCollection( - IDWriteFontCollection * *collection) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontFamilyNameLength() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFamilyName( - WCHAR * name, - UINT32 size) = 0; - - virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetFontWeight() = 0; - - virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetFontStyle() = 0; - - virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetFontStretch() = 0; - - virtual FLOAT STDMETHODCALLTYPE GetFontSize() = 0; - - virtual UINT32 STDMETHODCALLTYPE GetLocaleNameLength() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - WCHAR * name, - UINT32 size) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextFormat, 0x9c906818, 0x31d7, 0x4fd3, 0xa1, 0x51, 0x7c, 0x5e, 0x22, 0x5d, 0xb5, 0x5a) -#endif -#else -typedef struct IDWriteTextFormatVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextFormat* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextFormat* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextFormat* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextFormat* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextFormat* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextFormat* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextFormat* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextFormat* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextFormat* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextFormat* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextFormat* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextFormat* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextFormat* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextFormat* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextFormat* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextFormat* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextFormat* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextFormat* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextFormat* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextFormat* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextFormat* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextFormat* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextFormat* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextFormat* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextFormat* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextFormat* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextFormat* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextFormat* This, - WCHAR* name, - UINT32 size); - - END_INTERFACE -} IDWriteTextFormatVtbl; - -interface IDWriteTextFormat { - CONST_VTBL IDWriteTextFormatVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextFormat_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextFormat_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextFormat_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextFormat_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextFormat_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextFormat_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextFormat_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextFormat_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextFormat_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextFormat_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextFormat_SetLineSpacing(This, spacing, line_spacing, baseline) (This)->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline) -#define IDWriteTextFormat_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextFormat_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextFormat_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextFormat_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextFormat_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextFormat_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextFormat_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -#define IDWriteTextFormat_GetLineSpacing(This, method, spacing, baseline) (This)->lpVtbl->GetLineSpacing(This, method, spacing, baseline) -#define IDWriteTextFormat_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteTextFormat_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) -#define IDWriteTextFormat_GetFontFamilyName(This, name, size) (This)->lpVtbl->GetFontFamilyName(This, name, size) -#define IDWriteTextFormat_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) -#define IDWriteTextFormat_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) -#define IDWriteTextFormat_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) -#define IDWriteTextFormat_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) -#define IDWriteTextFormat_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) -#define IDWriteTextFormat_GetLocaleName(This, name, size) (This)->lpVtbl->GetLocaleName(This, name, size) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextFormat_QueryInterface(IDWriteTextFormat* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextFormat_AddRef(IDWriteTextFormat* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextFormat_Release(IDWriteTextFormat* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextFormat_SetTextAlignment(IDWriteTextFormat* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat_SetParagraphAlignment(IDWriteTextFormat* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat_SetWordWrapping(IDWriteTextFormat* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextFormat_SetReadingDirection(IDWriteTextFormat* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat_SetFlowDirection(IDWriteTextFormat* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat_SetIncrementalTabStop(IDWriteTextFormat* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextFormat_SetTrimming(IDWriteTextFormat* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline HRESULT IDWriteTextFormat_SetLineSpacing(IDWriteTextFormat* This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline) { - return This->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat_GetTextAlignment(IDWriteTextFormat* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat_GetParagraphAlignment(IDWriteTextFormat* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextFormat_GetWordWrapping(IDWriteTextFormat* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextFormat_GetReadingDirection(IDWriteTextFormat* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat_GetFlowDirection(IDWriteTextFormat* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextFormat_GetIncrementalTabStop(IDWriteTextFormat* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextFormat_GetTrimming(IDWriteTextFormat* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -static inline HRESULT IDWriteTextFormat_GetLineSpacing(IDWriteTextFormat* This, DWRITE_LINE_SPACING_METHOD* method, FLOAT* spacing, FLOAT* baseline) { - return This->lpVtbl->GetLineSpacing(This, method, spacing, baseline); -} -static inline HRESULT IDWriteTextFormat_GetFontCollection(IDWriteTextFormat* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteTextFormat_GetFontFamilyNameLength(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontFamilyNameLength(This); -} -static inline HRESULT IDWriteTextFormat_GetFontFamilyName(IDWriteTextFormat* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetFontFamilyName(This, name, size); -} -static inline DWRITE_FONT_WEIGHT IDWriteTextFormat_GetFontWeight(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontWeight(This); -} -static inline DWRITE_FONT_STYLE IDWriteTextFormat_GetFontStyle(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontStyle(This); -} -static inline DWRITE_FONT_STRETCH IDWriteTextFormat_GetFontStretch(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontStretch(This); -} -static inline FLOAT IDWriteTextFormat_GetFontSize(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontSize(This); -} -static inline UINT32 IDWriteTextFormat_GetLocaleNameLength(IDWriteTextFormat* This) { - return This->lpVtbl->GetLocaleNameLength(This); -} -static inline HRESULT IDWriteTextFormat_GetLocaleName(IDWriteTextFormat* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetLocaleName(This, name, size); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextFormat_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTypography interface - */ -#ifndef __IDWriteTypography_INTERFACE_DEFINED__ -#define __IDWriteTypography_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTypography, 0x55f1112b, 0x1dc2, 0x4b3c, 0x95, 0x41, 0xf4, 0x68, 0x94, 0xed, 0x85, 0xb6); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("55f1112b-1dc2-4b3c-9541-f46894ed85b6") -IDWriteTypography : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE AddFontFeature( - DWRITE_FONT_FEATURE feature) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontFeatureCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFeature( - UINT32 index, - DWRITE_FONT_FEATURE * feature) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTypography, 0x55f1112b, 0x1dc2, 0x4b3c, 0x95, 0x41, 0xf4, 0x68, 0x94, 0xed, 0x85, 0xb6) -#endif -#else -typedef struct IDWriteTypographyVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTypography* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTypography* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTypography* This); - - /*** IDWriteTypography methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFontFeature)( - IDWriteTypography* This, - DWRITE_FONT_FEATURE feature); - - UINT32(STDMETHODCALLTYPE* GetFontFeatureCount)( - IDWriteTypography* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFeature)( - IDWriteTypography* This, - UINT32 index, - DWRITE_FONT_FEATURE* feature); - - END_INTERFACE -} IDWriteTypographyVtbl; - -interface IDWriteTypography { - CONST_VTBL IDWriteTypographyVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTypography_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTypography_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTypography_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTypography methods ***/ -#define IDWriteTypography_AddFontFeature(This, feature) (This)->lpVtbl->AddFontFeature(This, feature) -#define IDWriteTypography_GetFontFeatureCount(This) (This)->lpVtbl->GetFontFeatureCount(This) -#define IDWriteTypography_GetFontFeature(This, index, feature) (This)->lpVtbl->GetFontFeature(This, index, feature) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTypography_QueryInterface(IDWriteTypography* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTypography_AddRef(IDWriteTypography* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTypography_Release(IDWriteTypography* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTypography methods ***/ -static inline HRESULT IDWriteTypography_AddFontFeature(IDWriteTypography* This, DWRITE_FONT_FEATURE feature) { - return This->lpVtbl->AddFontFeature(This, feature); -} -static inline UINT32 IDWriteTypography_GetFontFeatureCount(IDWriteTypography* This) { - return This->lpVtbl->GetFontFeatureCount(This); -} -static inline HRESULT IDWriteTypography_GetFontFeature(IDWriteTypography* This, UINT32 index, DWRITE_FONT_FEATURE* feature) { - return This->lpVtbl->GetFontFeature(This, index, feature); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTypography_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteBitmapRenderTarget interface - */ -#ifndef __IDWriteBitmapRenderTarget_INTERFACE_DEFINED__ -#define __IDWriteBitmapRenderTarget_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteBitmapRenderTarget, 0x5e5a32a3, 0x8dff, 0x4773, 0x9f, 0xf6, 0x06, 0x96, 0xea, 0xb7, 0x72, 0x67); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("5e5a32a3-8dff-4773-9ff6-0696eab77267") -IDWriteBitmapRenderTarget : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE DrawGlyphRun( - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* glyph_run, - IDWriteRenderingParams* params, - COLORREF textColor, - RECT* blackbox_rect = 0) = 0; - - virtual HDC STDMETHODCALLTYPE GetMemoryDC() = 0; - - virtual FLOAT STDMETHODCALLTYPE GetPixelsPerDip() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPixelsPerDip( - FLOAT pixels_per_dip) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentTransform( - DWRITE_MATRIX * transform) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCurrentTransform( - const DWRITE_MATRIX* transform) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( - SIZE * size) = 0; - - virtual HRESULT STDMETHODCALLTYPE Resize( - UINT32 width, - UINT32 height) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteBitmapRenderTarget, 0x5e5a32a3, 0x8dff, 0x4773, 0x9f, 0xf6, 0x06, 0x96, 0xea, 0xb7, 0x72, 0x67) -#endif -#else -typedef struct IDWriteBitmapRenderTargetVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteBitmapRenderTarget* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteBitmapRenderTarget* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteBitmapRenderTarget* This); - - /*** IDWriteBitmapRenderTarget methods ***/ - HRESULT(STDMETHODCALLTYPE* DrawGlyphRun)( - IDWriteBitmapRenderTarget* This, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* glyph_run, - IDWriteRenderingParams* params, - COLORREF textColor, - RECT* blackbox_rect); - - HDC(STDMETHODCALLTYPE* GetMemoryDC)( - IDWriteBitmapRenderTarget* This); - - FLOAT(STDMETHODCALLTYPE* GetPixelsPerDip)( - IDWriteBitmapRenderTarget* This); - - HRESULT(STDMETHODCALLTYPE* SetPixelsPerDip)( - IDWriteBitmapRenderTarget* This, - FLOAT pixels_per_dip); - - HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( - IDWriteBitmapRenderTarget* This, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* SetCurrentTransform)( - IDWriteBitmapRenderTarget* This, - const DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetSize)( - IDWriteBitmapRenderTarget* This, - SIZE* size); - - HRESULT(STDMETHODCALLTYPE* Resize)( - IDWriteBitmapRenderTarget* This, - UINT32 width, - UINT32 height); - - END_INTERFACE -} IDWriteBitmapRenderTargetVtbl; - -interface IDWriteBitmapRenderTarget { - CONST_VTBL IDWriteBitmapRenderTargetVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteBitmapRenderTarget_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteBitmapRenderTarget_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteBitmapRenderTarget_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteBitmapRenderTarget methods ***/ -#define IDWriteBitmapRenderTarget_DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect) -#define IDWriteBitmapRenderTarget_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) -#define IDWriteBitmapRenderTarget_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) -#define IDWriteBitmapRenderTarget_SetPixelsPerDip(This, pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This, pixels_per_dip) -#define IDWriteBitmapRenderTarget_GetCurrentTransform(This, transform) (This)->lpVtbl->GetCurrentTransform(This, transform) -#define IDWriteBitmapRenderTarget_SetCurrentTransform(This, transform) (This)->lpVtbl->SetCurrentTransform(This, transform) -#define IDWriteBitmapRenderTarget_GetSize(This, size) (This)->lpVtbl->GetSize(This, size) -#define IDWriteBitmapRenderTarget_Resize(This, width, height) (This)->lpVtbl->Resize(This, width, height) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget_QueryInterface(IDWriteBitmapRenderTarget* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteBitmapRenderTarget_AddRef(IDWriteBitmapRenderTarget* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteBitmapRenderTarget_Release(IDWriteBitmapRenderTarget* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteBitmapRenderTarget methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget_DrawGlyphRun(IDWriteBitmapRenderTarget* This, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_GLYPH_RUN* glyph_run, IDWriteRenderingParams* params, COLORREF textColor, RECT* blackbox_rect) { - return This->lpVtbl->DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect); -} -static inline HDC IDWriteBitmapRenderTarget_GetMemoryDC(IDWriteBitmapRenderTarget* This) { - return This->lpVtbl->GetMemoryDC(This); -} -static inline FLOAT IDWriteBitmapRenderTarget_GetPixelsPerDip(IDWriteBitmapRenderTarget* This) { - return This->lpVtbl->GetPixelsPerDip(This); -} -static inline HRESULT IDWriteBitmapRenderTarget_SetPixelsPerDip(IDWriteBitmapRenderTarget* This, FLOAT pixels_per_dip) { - return This->lpVtbl->SetPixelsPerDip(This, pixels_per_dip); -} -static inline HRESULT IDWriteBitmapRenderTarget_GetCurrentTransform(IDWriteBitmapRenderTarget* This, DWRITE_MATRIX* transform) { - return This->lpVtbl->GetCurrentTransform(This, transform); -} -static inline HRESULT IDWriteBitmapRenderTarget_SetCurrentTransform(IDWriteBitmapRenderTarget* This, const DWRITE_MATRIX* transform) { - return This->lpVtbl->SetCurrentTransform(This, transform); -} -static inline HRESULT IDWriteBitmapRenderTarget_GetSize(IDWriteBitmapRenderTarget* This, SIZE* size) { - return This->lpVtbl->GetSize(This, size); -} -static inline HRESULT IDWriteBitmapRenderTarget_Resize(IDWriteBitmapRenderTarget* This, UINT32 width, UINT32 height) { - return This->lpVtbl->Resize(This, width, height); -} -#endif -#endif - -#endif - -#endif /* __IDWriteBitmapRenderTarget_INTERFACE_DEFINED__ */ - -#ifndef _WINGDI_ -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[32]; -} LOGFONTW; -typedef struct tagLOGFONTW* PLOGFONTW; -typedef struct tagLOGFONTW* LPLOGFONTW; -#endif /* _WINGDI_ */ -/***************************************************************************** - * IDWriteGdiInterop interface - */ -#ifndef __IDWriteGdiInterop_INTERFACE_DEFINED__ -#define __IDWriteGdiInterop_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteGdiInterop, 0x1edd9491, 0x9853, 0x4299, 0x89, 0x8f, 0x64, 0x32, 0x98, 0x3b, 0x6f, 0x3a); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("1edd9491-9853-4299-898f-6432983b6f3a") -IDWriteGdiInterop : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE CreateFontFromLOGFONT( - const LOGFONTW* logfont, - IDWriteFont** font) = 0; - - virtual HRESULT STDMETHODCALLTYPE ConvertFontToLOGFONT( - IDWriteFont * font, - LOGFONTW * logfont, - WINBOOL * is_systemfont) = 0; - - virtual HRESULT STDMETHODCALLTYPE ConvertFontFaceToLOGFONT( - IDWriteFontFace * font, - LOGFONTW * logfont) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceFromHdc( - HDC hdc, - IDWriteFontFace * *fontface) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateBitmapRenderTarget( - HDC hdc, - UINT32 width, - UINT32 height, - IDWriteBitmapRenderTarget * *target) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteGdiInterop, 0x1edd9491, 0x9853, 0x4299, 0x89, 0x8f, 0x64, 0x32, 0x98, 0x3b, 0x6f, 0x3a) -#endif -#else -typedef struct IDWriteGdiInteropVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteGdiInterop* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteGdiInterop* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteGdiInterop* This); - - /*** IDWriteGdiInterop methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateFontFromLOGFONT)( - IDWriteGdiInterop* This, - const LOGFONTW* logfont, - IDWriteFont** font); - - HRESULT(STDMETHODCALLTYPE* ConvertFontToLOGFONT)( - IDWriteGdiInterop* This, - IDWriteFont* font, - LOGFONTW* logfont, - WINBOOL* is_systemfont); - - HRESULT(STDMETHODCALLTYPE* ConvertFontFaceToLOGFONT)( - IDWriteGdiInterop* This, - IDWriteFontFace* font, - LOGFONTW* logfont); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceFromHdc)( - IDWriteGdiInterop* This, - HDC hdc, - IDWriteFontFace** fontface); - - HRESULT(STDMETHODCALLTYPE* CreateBitmapRenderTarget)( - IDWriteGdiInterop* This, - HDC hdc, - UINT32 width, - UINT32 height, - IDWriteBitmapRenderTarget** target); - - END_INTERFACE -} IDWriteGdiInteropVtbl; - -interface IDWriteGdiInterop { - CONST_VTBL IDWriteGdiInteropVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteGdiInterop_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteGdiInterop_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteGdiInterop_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteGdiInterop methods ***/ -#define IDWriteGdiInterop_CreateFontFromLOGFONT(This, logfont, font) (This)->lpVtbl->CreateFontFromLOGFONT(This, logfont, font) -#define IDWriteGdiInterop_ConvertFontToLOGFONT(This, font, logfont, is_systemfont) (This)->lpVtbl->ConvertFontToLOGFONT(This, font, logfont, is_systemfont) -#define IDWriteGdiInterop_ConvertFontFaceToLOGFONT(This, font, logfont) (This)->lpVtbl->ConvertFontFaceToLOGFONT(This, font, logfont) -#define IDWriteGdiInterop_CreateFontFaceFromHdc(This, hdc, fontface) (This)->lpVtbl->CreateFontFaceFromHdc(This, hdc, fontface) -#define IDWriteGdiInterop_CreateBitmapRenderTarget(This, hdc, width, height, target) (This)->lpVtbl->CreateBitmapRenderTarget(This, hdc, width, height, target) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteGdiInterop_QueryInterface(IDWriteGdiInterop* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteGdiInterop_AddRef(IDWriteGdiInterop* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteGdiInterop_Release(IDWriteGdiInterop* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteGdiInterop methods ***/ -static inline HRESULT IDWriteGdiInterop_CreateFontFromLOGFONT(IDWriteGdiInterop* This, const LOGFONTW* logfont, IDWriteFont** font) { - return This->lpVtbl->CreateFontFromLOGFONT(This, logfont, font); -} -static inline HRESULT IDWriteGdiInterop_ConvertFontToLOGFONT(IDWriteGdiInterop* This, IDWriteFont* font, LOGFONTW* logfont, WINBOOL* is_systemfont) { - return This->lpVtbl->ConvertFontToLOGFONT(This, font, logfont, is_systemfont); -} -static inline HRESULT IDWriteGdiInterop_ConvertFontFaceToLOGFONT(IDWriteGdiInterop* This, IDWriteFontFace* font, LOGFONTW* logfont) { - return This->lpVtbl->ConvertFontFaceToLOGFONT(This, font, logfont); -} -static inline HRESULT IDWriteGdiInterop_CreateFontFaceFromHdc(IDWriteGdiInterop* This, HDC hdc, IDWriteFontFace** fontface) { - return This->lpVtbl->CreateFontFaceFromHdc(This, hdc, fontface); -} -static inline HRESULT IDWriteGdiInterop_CreateBitmapRenderTarget(IDWriteGdiInterop* This, HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget** target) { - return This->lpVtbl->CreateBitmapRenderTarget(This, hdc, width, height, target); -} -#endif -#endif - -#endif - -#endif /* __IDWriteGdiInterop_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextLayout interface - */ -#ifndef __IDWriteTextLayout_INTERFACE_DEFINED__ -#define __IDWriteTextLayout_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextLayout, 0x53737037, 0x6d14, 0x410b, 0x9b, 0xfe, 0x0b, 0x18, 0x2b, 0xb7, 0x09, 0x61); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("53737037-6d14-410b-9bfe-0b182bb70961") -IDWriteTextLayout : public IDWriteTextFormat { - virtual HRESULT STDMETHODCALLTYPE SetMaxWidth( - FLOAT maxWidth) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetMaxHeight( - FLOAT maxHeight) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontCollection( - IDWriteFontCollection * collection, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontFamilyName( - const WCHAR* name, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontWeight( - DWRITE_FONT_WEIGHT weight, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontStyle( - DWRITE_FONT_STYLE style, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontStretch( - DWRITE_FONT_STRETCH stretch, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontSize( - FLOAT size, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetUnderline( - WINBOOL underline, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetStrikethrough( - WINBOOL strikethrough, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDrawingEffect( - IUnknown * effect, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInlineObject( - IDWriteInlineObject * object, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTypography( - IDWriteTypography * typography, - DWRITE_TEXT_RANGE range) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLocaleName( - const WCHAR* locale, - DWRITE_TEXT_RANGE range) = 0; - - virtual FLOAT STDMETHODCALLTYPE GetMaxWidth() = 0; - - virtual FLOAT STDMETHODCALLTYPE GetMaxHeight() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontCollection( - UINT32 pos, - IDWriteFontCollection * *collection, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFamilyNameLength( - UINT32 pos, - UINT32 * len, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFamilyName( - UINT32 position, - WCHAR * name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontWeight( - UINT32 position, - DWRITE_FONT_WEIGHT * weight, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontStyle( - UINT32 currentPosition, - DWRITE_FONT_STYLE * style, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontStretch( - UINT32 position, - DWRITE_FONT_STRETCH * stretch, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontSize( - UINT32 position, - FLOAT * size, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetUnderline( - UINT32 position, - WINBOOL * has_underline, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStrikethrough( - UINT32 position, - WINBOOL * has_strikethrough, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDrawingEffect( - UINT32 position, - IUnknown * *effect, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInlineObject( - UINT32 position, - IDWriteInlineObject * *object, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypography( - UINT32 position, - IDWriteTypography * *typography, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( - UINT32 position, - UINT32 * length, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - UINT32 position, - WCHAR * name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE Draw( - void* context, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLineMetrics( - DWRITE_LINE_METRICS * metrics, - UINT32 max_count, - UINT32 * actual_count) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMetrics( - DWRITE_TEXT_METRICS * metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetOverhangMetrics( - DWRITE_OVERHANG_METRICS * overhangs) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClusterMetrics( - DWRITE_CLUSTER_METRICS * metrics, - UINT32 max_count, - UINT32 * act_count) = 0; - - virtual HRESULT STDMETHODCALLTYPE DetermineMinWidth( - FLOAT * min_width) = 0; - - virtual HRESULT STDMETHODCALLTYPE HitTestPoint( - FLOAT pointX, - FLOAT pointY, - WINBOOL * is_trailinghit, - WINBOOL * is_inside, - DWRITE_HIT_TEST_METRICS * metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE HitTestTextPosition( - UINT32 textPosition, - WINBOOL is_trailinghit, - FLOAT * pointX, - FLOAT * pointY, - DWRITE_HIT_TEST_METRICS * metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE HitTestTextRange( - UINT32 textPosition, - UINT32 textLength, - FLOAT originX, - FLOAT originY, - DWRITE_HIT_TEST_METRICS * metrics, - UINT32 max_metricscount, - UINT32 * actual_metricscount) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextLayout, 0x53737037, 0x6d14, 0x410b, 0x9b, 0xfe, 0x0b, 0x18, 0x2b, 0xb7, 0x09, 0x61) -#endif -#else -typedef struct IDWriteTextLayoutVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextLayout* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextLayout* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextLayout* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextLayout* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextLayout* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextLayout* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextLayout* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextLayout* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextLayout* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextLayout* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextLayout* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextLayout* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextLayout* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextLayout* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextLayout* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextLayout* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextLayout* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextLayout* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextLayout* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextLayout* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextLayout* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextLayout* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextLayout* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextLayout* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextLayout* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextLayout* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextLayout* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextLayout* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextLayout methods ***/ - HRESULT(STDMETHODCALLTYPE* SetMaxWidth)( - IDWriteTextLayout* This, - FLOAT maxWidth); - - HRESULT(STDMETHODCALLTYPE* SetMaxHeight)( - IDWriteTextLayout* This, - FLOAT maxHeight); - - HRESULT(STDMETHODCALLTYPE* SetFontCollection)( - IDWriteTextLayout* This, - IDWriteFontCollection* collection, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontFamilyName)( - IDWriteTextLayout* This, - const WCHAR* name, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontWeight)( - IDWriteTextLayout* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStyle)( - IDWriteTextLayout* This, - DWRITE_FONT_STYLE style, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStretch)( - IDWriteTextLayout* This, - DWRITE_FONT_STRETCH stretch, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontSize)( - IDWriteTextLayout* This, - FLOAT size, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetUnderline)( - IDWriteTextLayout* This, - WINBOOL underline, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetStrikethrough)( - IDWriteTextLayout* This, - WINBOOL strikethrough, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetDrawingEffect)( - IDWriteTextLayout* This, - IUnknown* effect, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetInlineObject)( - IDWriteTextLayout* This, - IDWriteInlineObject* object, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetTypography)( - IDWriteTextLayout* This, - IDWriteTypography* typography, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetLocaleName)( - IDWriteTextLayout* This, - const WCHAR* locale, - DWRITE_TEXT_RANGE range); - - FLOAT(STDMETHODCALLTYPE* GetMaxWidth)( - IDWriteTextLayout* This); - - FLOAT(STDMETHODCALLTYPE* GetMaxHeight)( - IDWriteTextLayout* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontCollection)( - IDWriteTextLayout* This, - UINT32 pos, - IDWriteFontCollection** collection, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyNameLength)( - IDWriteTextLayout* This, - UINT32 pos, - UINT32* len, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyName)( - IDWriteTextLayout* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontWeight)( - IDWriteTextLayout* This, - UINT32 position, - DWRITE_FONT_WEIGHT* weight, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStyle)( - IDWriteTextLayout* This, - UINT32 currentPosition, - DWRITE_FONT_STYLE* style, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStretch)( - IDWriteTextLayout* This, - UINT32 position, - DWRITE_FONT_STRETCH* stretch, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontSize)( - IDWriteTextLayout* This, - UINT32 position, - FLOAT* size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetUnderline)( - IDWriteTextLayout* This, - UINT32 position, - WINBOOL* has_underline, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetStrikethrough)( - IDWriteTextLayout* This, - UINT32 position, - WINBOOL* has_strikethrough, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetDrawingEffect)( - IDWriteTextLayout* This, - UINT32 position, - IUnknown** effect, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetInlineObject)( - IDWriteTextLayout* This, - UINT32 position, - IDWriteInlineObject** object, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetTypography)( - IDWriteTextLayout* This, - UINT32 position, - IDWriteTypography** typography, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleNameLength)( - IDWriteTextLayout* This, - UINT32 position, - UINT32* length, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleName)( - IDWriteTextLayout* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* Draw)( - IDWriteTextLayout* This, - void* context, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY); - - HRESULT(STDMETHODCALLTYPE* GetLineMetrics)( - IDWriteTextLayout* This, - DWRITE_LINE_METRICS* metrics, - UINT32 max_count, - UINT32* actual_count); - - HRESULT(STDMETHODCALLTYPE* GetMetrics)( - IDWriteTextLayout* This, - DWRITE_TEXT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)( - IDWriteTextLayout* This, - DWRITE_OVERHANG_METRICS* overhangs); - - HRESULT(STDMETHODCALLTYPE* GetClusterMetrics)( - IDWriteTextLayout* This, - DWRITE_CLUSTER_METRICS* metrics, - UINT32 max_count, - UINT32* act_count); - - HRESULT(STDMETHODCALLTYPE* DetermineMinWidth)( - IDWriteTextLayout* This, - FLOAT* min_width); - - HRESULT(STDMETHODCALLTYPE* HitTestPoint)( - IDWriteTextLayout* This, - FLOAT pointX, - FLOAT pointY, - WINBOOL* is_trailinghit, - WINBOOL* is_inside, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextPosition)( - IDWriteTextLayout* This, - UINT32 textPosition, - WINBOOL is_trailinghit, - FLOAT* pointX, - FLOAT* pointY, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextRange)( - IDWriteTextLayout* This, - UINT32 textPosition, - UINT32 textLength, - FLOAT originX, - FLOAT originY, - DWRITE_HIT_TEST_METRICS* metrics, - UINT32 max_metricscount, - UINT32* actual_metricscount); - - END_INTERFACE -} IDWriteTextLayoutVtbl; - -interface IDWriteTextLayout { - CONST_VTBL IDWriteTextLayoutVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextLayout_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextLayout_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextLayout_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextLayout_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextLayout_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextLayout_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextLayout_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextLayout_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextLayout_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextLayout_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextLayout_SetLineSpacing(This, spacing, line_spacing, baseline) (This)->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline) -#define IDWriteTextLayout_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextLayout_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextLayout_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextLayout_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextLayout_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextLayout_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextLayout_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -#define IDWriteTextLayout_GetLineSpacing(This, method, spacing, baseline) (This)->lpVtbl->GetLineSpacing(This, method, spacing, baseline) -/*** IDWriteTextLayout methods ***/ -#define IDWriteTextLayout_SetMaxWidth(This, maxWidth) (This)->lpVtbl->SetMaxWidth(This, maxWidth) -#define IDWriteTextLayout_SetMaxHeight(This, maxHeight) (This)->lpVtbl->SetMaxHeight(This, maxHeight) -#define IDWriteTextLayout_SetFontCollection(This, collection, range) (This)->lpVtbl->SetFontCollection(This, collection, range) -#define IDWriteTextLayout_SetFontFamilyName(This, name, range) (This)->lpVtbl->SetFontFamilyName(This, name, range) -#define IDWriteTextLayout_SetFontWeight(This, weight, range) (This)->lpVtbl->SetFontWeight(This, weight, range) -#define IDWriteTextLayout_SetFontStyle(This, style, range) (This)->lpVtbl->SetFontStyle(This, style, range) -#define IDWriteTextLayout_SetFontStretch(This, stretch, range) (This)->lpVtbl->SetFontStretch(This, stretch, range) -#define IDWriteTextLayout_SetFontSize(This, size, range) (This)->lpVtbl->SetFontSize(This, size, range) -#define IDWriteTextLayout_SetUnderline(This, underline, range) (This)->lpVtbl->SetUnderline(This, underline, range) -#define IDWriteTextLayout_SetStrikethrough(This, strikethrough, range) (This)->lpVtbl->SetStrikethrough(This, strikethrough, range) -#define IDWriteTextLayout_SetDrawingEffect(This, effect, range) (This)->lpVtbl->SetDrawingEffect(This, effect, range) -#define IDWriteTextLayout_SetInlineObject(This, object, range) (This)->lpVtbl->SetInlineObject(This, object, range) -#define IDWriteTextLayout_SetTypography(This, typography, range) (This)->lpVtbl->SetTypography(This, typography, range) -#define IDWriteTextLayout_SetLocaleName(This, locale, range) (This)->lpVtbl->SetLocaleName(This, locale, range) -#define IDWriteTextLayout_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) -#define IDWriteTextLayout_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) -#define IDWriteTextLayout_GetFontCollection(This, pos, collection, range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range) -#define IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range) -#define IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range) -#define IDWriteTextLayout_GetFontWeight(This, position, weight, range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range) -#define IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range) -#define IDWriteTextLayout_GetFontStretch(This, position, stretch, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range) -#define IDWriteTextLayout_GetFontSize(This, position, size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range) -#define IDWriteTextLayout_GetUnderline(This, position, has_underline, range) (This)->lpVtbl->GetUnderline(This, position, has_underline, range) -#define IDWriteTextLayout_GetStrikethrough(This, position, has_strikethrough, range) (This)->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range) -#define IDWriteTextLayout_GetDrawingEffect(This, position, effect, range) (This)->lpVtbl->GetDrawingEffect(This, position, effect, range) -#define IDWriteTextLayout_GetInlineObject(This, position, object, range) (This)->lpVtbl->GetInlineObject(This, position, object, range) -#define IDWriteTextLayout_GetTypography(This, position, typography, range) (This)->lpVtbl->GetTypography(This, position, typography, range) -#define IDWriteTextLayout_GetLocaleNameLength(This, position, length, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range) -#define IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range) -#define IDWriteTextLayout_Draw(This, context, renderer, originX, originY) (This)->lpVtbl->Draw(This, context, renderer, originX, originY) -#define IDWriteTextLayout_GetLineMetrics(This, metrics, max_count, actual_count) (This)->lpVtbl->GetLineMetrics(This, metrics, max_count, actual_count) -#define IDWriteTextLayout_GetMetrics(This, metrics) (This)->lpVtbl->GetMetrics(This, metrics) -#define IDWriteTextLayout_GetOverhangMetrics(This, overhangs) (This)->lpVtbl->GetOverhangMetrics(This, overhangs) -#define IDWriteTextLayout_GetClusterMetrics(This, metrics, max_count, act_count) (This)->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count) -#define IDWriteTextLayout_DetermineMinWidth(This, min_width) (This)->lpVtbl->DetermineMinWidth(This, min_width) -#define IDWriteTextLayout_HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) (This)->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) -#define IDWriteTextLayout_HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) (This)->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) -#define IDWriteTextLayout_HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) (This)->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextLayout_QueryInterface(IDWriteTextLayout* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextLayout_AddRef(IDWriteTextLayout* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextLayout_Release(IDWriteTextLayout* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextLayout_SetTextAlignment(IDWriteTextLayout* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout_SetParagraphAlignment(IDWriteTextLayout* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout_SetWordWrapping(IDWriteTextLayout* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextLayout_SetReadingDirection(IDWriteTextLayout* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout_SetFlowDirection(IDWriteTextLayout* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout_SetIncrementalTabStop(IDWriteTextLayout* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextLayout_SetTrimming(IDWriteTextLayout* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline HRESULT IDWriteTextLayout_SetLineSpacing(IDWriteTextLayout* This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline) { - return This->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout_GetTextAlignment(IDWriteTextLayout* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout_GetParagraphAlignment(IDWriteTextLayout* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextLayout_GetWordWrapping(IDWriteTextLayout* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextLayout_GetReadingDirection(IDWriteTextLayout* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout_GetFlowDirection(IDWriteTextLayout* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextLayout_GetIncrementalTabStop(IDWriteTextLayout* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextLayout_GetTrimming(IDWriteTextLayout* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -static inline HRESULT IDWriteTextLayout_GetLineSpacing(IDWriteTextLayout* This, DWRITE_LINE_SPACING_METHOD* method, FLOAT* spacing, FLOAT* baseline) { - return This->lpVtbl->GetLineSpacing(This, method, spacing, baseline); -} -/*** IDWriteTextLayout methods ***/ -static inline HRESULT IDWriteTextLayout_SetMaxWidth(IDWriteTextLayout* This, FLOAT maxWidth) { - return This->lpVtbl->SetMaxWidth(This, maxWidth); -} -static inline HRESULT IDWriteTextLayout_SetMaxHeight(IDWriteTextLayout* This, FLOAT maxHeight) { - return This->lpVtbl->SetMaxHeight(This, maxHeight); -} -static inline HRESULT IDWriteTextLayout_SetFontCollection(IDWriteTextLayout* This, IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontCollection(This, collection, range); -} -static inline HRESULT IDWriteTextLayout_SetFontFamilyName(IDWriteTextLayout* This, const WCHAR* name, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontFamilyName(This, name, range); -} -static inline HRESULT IDWriteTextLayout_SetFontWeight(IDWriteTextLayout* This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontWeight(This, weight, range); -} -static inline HRESULT IDWriteTextLayout_SetFontStyle(IDWriteTextLayout* This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStyle(This, style, range); -} -static inline HRESULT IDWriteTextLayout_SetFontStretch(IDWriteTextLayout* This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStretch(This, stretch, range); -} -static inline HRESULT IDWriteTextLayout_SetFontSize(IDWriteTextLayout* This, FLOAT size, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontSize(This, size, range); -} -static inline HRESULT IDWriteTextLayout_SetUnderline(IDWriteTextLayout* This, WINBOOL underline, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetUnderline(This, underline, range); -} -static inline HRESULT IDWriteTextLayout_SetStrikethrough(IDWriteTextLayout* This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetStrikethrough(This, strikethrough, range); -} -static inline HRESULT IDWriteTextLayout_SetDrawingEffect(IDWriteTextLayout* This, IUnknown* effect, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetDrawingEffect(This, effect, range); -} -static inline HRESULT IDWriteTextLayout_SetInlineObject(IDWriteTextLayout* This, IDWriteInlineObject* object, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetInlineObject(This, object, range); -} -static inline HRESULT IDWriteTextLayout_SetTypography(IDWriteTextLayout* This, IDWriteTypography* typography, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetTypography(This, typography, range); -} -static inline HRESULT IDWriteTextLayout_SetLocaleName(IDWriteTextLayout* This, const WCHAR* locale, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetLocaleName(This, locale, range); -} -static inline FLOAT IDWriteTextLayout_GetMaxWidth(IDWriteTextLayout* This) { - return This->lpVtbl->GetMaxWidth(This); -} -static inline FLOAT IDWriteTextLayout_GetMaxHeight(IDWriteTextLayout* This) { - return This->lpVtbl->GetMaxHeight(This); -} -static inline HRESULT IDWriteTextLayout_GetFontCollection(IDWriteTextLayout* This, UINT32 pos, IDWriteFontCollection** collection, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range); -} -static inline HRESULT IDWriteTextLayout_GetFontFamilyNameLength(IDWriteTextLayout* This, UINT32 pos, UINT32* len, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range); -} -static inline HRESULT IDWriteTextLayout_GetFontFamilyName(IDWriteTextLayout* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout_GetFontWeight(IDWriteTextLayout* This, UINT32 position, DWRITE_FONT_WEIGHT* weight, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range); -} -static inline HRESULT IDWriteTextLayout_GetFontStyle(IDWriteTextLayout* This, UINT32 currentPosition, DWRITE_FONT_STYLE* style, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range); -} -static inline HRESULT IDWriteTextLayout_GetFontStretch(IDWriteTextLayout* This, UINT32 position, DWRITE_FONT_STRETCH* stretch, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range); -} -static inline HRESULT IDWriteTextLayout_GetFontSize(IDWriteTextLayout* This, UINT32 position, FLOAT* size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range); -} -static inline HRESULT IDWriteTextLayout_GetUnderline(IDWriteTextLayout* This, UINT32 position, WINBOOL* has_underline, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetUnderline(This, position, has_underline, range); -} -static inline HRESULT IDWriteTextLayout_GetStrikethrough(IDWriteTextLayout* This, UINT32 position, WINBOOL* has_strikethrough, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range); -} -static inline HRESULT IDWriteTextLayout_GetDrawingEffect(IDWriteTextLayout* This, UINT32 position, IUnknown** effect, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetDrawingEffect(This, position, effect, range); -} -static inline HRESULT IDWriteTextLayout_GetInlineObject(IDWriteTextLayout* This, UINT32 position, IDWriteInlineObject** object, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetInlineObject(This, position, object, range); -} -static inline HRESULT IDWriteTextLayout_GetTypography(IDWriteTextLayout* This, UINT32 position, IDWriteTypography** typography, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetTypography(This, position, typography, range); -} -static inline HRESULT IDWriteTextLayout_GetLocaleNameLength(IDWriteTextLayout* This, UINT32 position, UINT32* length, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range); -} -static inline HRESULT IDWriteTextLayout_GetLocaleName(IDWriteTextLayout* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout_Draw(IDWriteTextLayout* This, void* context, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY) { - return This->lpVtbl->Draw(This, context, renderer, originX, originY); -} -static inline HRESULT IDWriteTextLayout_GetLineMetrics(IDWriteTextLayout* This, DWRITE_LINE_METRICS* metrics, UINT32 max_count, UINT32* actual_count) { - return This->lpVtbl->GetLineMetrics(This, metrics, max_count, actual_count); -} -static inline HRESULT IDWriteTextLayout_GetMetrics(IDWriteTextLayout* This, DWRITE_TEXT_METRICS* metrics) { - return This->lpVtbl->GetMetrics(This, metrics); -} -static inline HRESULT IDWriteTextLayout_GetOverhangMetrics(IDWriteTextLayout* This, DWRITE_OVERHANG_METRICS* overhangs) { - return This->lpVtbl->GetOverhangMetrics(This, overhangs); -} -static inline HRESULT IDWriteTextLayout_GetClusterMetrics(IDWriteTextLayout* This, DWRITE_CLUSTER_METRICS* metrics, UINT32 max_count, UINT32* act_count) { - return This->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count); -} -static inline HRESULT IDWriteTextLayout_DetermineMinWidth(IDWriteTextLayout* This, FLOAT* min_width) { - return This->lpVtbl->DetermineMinWidth(This, min_width); -} -static inline HRESULT IDWriteTextLayout_HitTestPoint(IDWriteTextLayout* This, FLOAT pointX, FLOAT pointY, WINBOOL* is_trailinghit, WINBOOL* is_inside, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics); -} -static inline HRESULT IDWriteTextLayout_HitTestTextPosition(IDWriteTextLayout* This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics); -} -static inline HRESULT IDWriteTextLayout_HitTestTextRange(IDWriteTextLayout* This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* metrics, UINT32 max_metricscount, UINT32* actual_metricscount) { - return This->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextLayout_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteNumberSubstitution interface - */ -#ifndef __IDWriteNumberSubstitution_INTERFACE_DEFINED__ -#define __IDWriteNumberSubstitution_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteNumberSubstitution, 0x14885cc9, 0xbab0, 0x4f90, 0xb6, 0xed, 0x5c, 0x36, 0x6a, 0x2c, 0xd0, 0x3d); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("14885cc9-bab0-4f90-b6ed-5c366a2cd03d") -IDWriteNumberSubstitution : public IUnknown{}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteNumberSubstitution, 0x14885cc9, 0xbab0, 0x4f90, 0xb6, 0xed, 0x5c, 0x36, 0x6a, 0x2c, 0xd0, 0x3d) -#endif -#else -typedef struct IDWriteNumberSubstitutionVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteNumberSubstitution* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteNumberSubstitution* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteNumberSubstitution* This); - - END_INTERFACE -} IDWriteNumberSubstitutionVtbl; - -interface IDWriteNumberSubstitution { - CONST_VTBL IDWriteNumberSubstitutionVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteNumberSubstitution_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteNumberSubstitution_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteNumberSubstitution_Release(This) (This)->lpVtbl->Release(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteNumberSubstitution_QueryInterface(IDWriteNumberSubstitution* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteNumberSubstitution_AddRef(IDWriteNumberSubstitution* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteNumberSubstitution_Release(IDWriteNumberSubstitution* This) { - return This->lpVtbl->Release(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteNumberSubstitution_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextAnalysisSource interface - */ -#ifndef __IDWriteTextAnalysisSource_INTERFACE_DEFINED__ -#define __IDWriteTextAnalysisSource_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextAnalysisSource, 0x688e1a58, 0x5094, 0x47c8, 0xad, 0xc8, 0xfb, 0xce, 0xa6, 0x0a, 0xe9, 0x2b); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("688e1a58-5094-47c8-adc8-fbcea60ae92b") -IDWriteTextAnalysisSource : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetTextAtPosition( - UINT32 position, - const WCHAR** text, - UINT32* text_len) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTextBeforePosition( - UINT32 position, - const WCHAR** text, - UINT32* text_len) = 0; - - virtual DWRITE_READING_DIRECTION STDMETHODCALLTYPE GetParagraphReadingDirection() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - UINT32 position, - UINT32 * text_len, - const WCHAR** locale) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetNumberSubstitution( - UINT32 position, - UINT32 * text_len, - IDWriteNumberSubstitution * *substitution) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextAnalysisSource, 0x688e1a58, 0x5094, 0x47c8, 0xad, 0xc8, 0xfb, 0xce, 0xa6, 0x0a, 0xe9, 0x2b) -#endif -#else -typedef struct IDWriteTextAnalysisSourceVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextAnalysisSource* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextAnalysisSource* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextAnalysisSource* This); - - /*** IDWriteTextAnalysisSource methods ***/ - HRESULT(STDMETHODCALLTYPE* GetTextAtPosition)( - IDWriteTextAnalysisSource* This, - UINT32 position, - const WCHAR** text, - UINT32* text_len); - - HRESULT(STDMETHODCALLTYPE* GetTextBeforePosition)( - IDWriteTextAnalysisSource* This, - UINT32 position, - const WCHAR** text, - UINT32* text_len); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetParagraphReadingDirection)( - IDWriteTextAnalysisSource* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextAnalysisSource* This, - UINT32 position, - UINT32* text_len, - const WCHAR** locale); - - HRESULT(STDMETHODCALLTYPE* GetNumberSubstitution)( - IDWriteTextAnalysisSource* This, - UINT32 position, - UINT32* text_len, - IDWriteNumberSubstitution** substitution); - - END_INTERFACE -} IDWriteTextAnalysisSourceVtbl; - -interface IDWriteTextAnalysisSource { - CONST_VTBL IDWriteTextAnalysisSourceVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextAnalysisSource_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextAnalysisSource_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextAnalysisSource_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextAnalysisSource methods ***/ -#define IDWriteTextAnalysisSource_GetTextAtPosition(This, position, text, text_len) (This)->lpVtbl->GetTextAtPosition(This, position, text, text_len) -#define IDWriteTextAnalysisSource_GetTextBeforePosition(This, position, text, text_len) (This)->lpVtbl->GetTextBeforePosition(This, position, text, text_len) -#define IDWriteTextAnalysisSource_GetParagraphReadingDirection(This) (This)->lpVtbl->GetParagraphReadingDirection(This) -#define IDWriteTextAnalysisSource_GetLocaleName(This, position, text_len, locale) (This)->lpVtbl->GetLocaleName(This, position, text_len, locale) -#define IDWriteTextAnalysisSource_GetNumberSubstitution(This, position, text_len, substitution) (This)->lpVtbl->GetNumberSubstitution(This, position, text_len, substitution) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextAnalysisSource_QueryInterface(IDWriteTextAnalysisSource* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextAnalysisSource_AddRef(IDWriteTextAnalysisSource* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextAnalysisSource_Release(IDWriteTextAnalysisSource* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextAnalysisSource methods ***/ -static inline HRESULT IDWriteTextAnalysisSource_GetTextAtPosition(IDWriteTextAnalysisSource* This, UINT32 position, const WCHAR** text, UINT32* text_len) { - return This->lpVtbl->GetTextAtPosition(This, position, text, text_len); -} -static inline HRESULT IDWriteTextAnalysisSource_GetTextBeforePosition(IDWriteTextAnalysisSource* This, UINT32 position, const WCHAR** text, UINT32* text_len) { - return This->lpVtbl->GetTextBeforePosition(This, position, text, text_len); -} -static inline DWRITE_READING_DIRECTION IDWriteTextAnalysisSource_GetParagraphReadingDirection(IDWriteTextAnalysisSource* This) { - return This->lpVtbl->GetParagraphReadingDirection(This); -} -static inline HRESULT IDWriteTextAnalysisSource_GetLocaleName(IDWriteTextAnalysisSource* This, UINT32 position, UINT32* text_len, const WCHAR** locale) { - return This->lpVtbl->GetLocaleName(This, position, text_len, locale); -} -static inline HRESULT IDWriteTextAnalysisSource_GetNumberSubstitution(IDWriteTextAnalysisSource* This, UINT32 position, UINT32* text_len, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->GetNumberSubstitution(This, position, text_len, substitution); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextAnalysisSource_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextAnalysisSink interface - */ -#ifndef __IDWriteTextAnalysisSink_INTERFACE_DEFINED__ -#define __IDWriteTextAnalysisSink_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextAnalysisSink, 0x5810cd44, 0x0ca0, 0x4701, 0xb3, 0xfa, 0xbe, 0xc5, 0x18, 0x2a, 0xe4, 0xf6); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("5810cd44-0ca0-4701-b3fa-bec5182ae4f6") -IDWriteTextAnalysisSink : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE SetScriptAnalysis( - UINT32 position, - UINT32 length, - const DWRITE_SCRIPT_ANALYSIS* scriptanalysis) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLineBreakpoints( - UINT32 position, - UINT32 length, - const DWRITE_LINE_BREAKPOINT* breakpoints) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBidiLevel( - UINT32 position, - UINT32 length, - UINT8 explicitLevel, - UINT8 resolvedLevel) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetNumberSubstitution( - UINT32 position, - UINT32 length, - IDWriteNumberSubstitution * substitution) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextAnalysisSink, 0x5810cd44, 0x0ca0, 0x4701, 0xb3, 0xfa, 0xbe, 0xc5, 0x18, 0x2a, 0xe4, 0xf6) -#endif -#else -typedef struct IDWriteTextAnalysisSinkVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextAnalysisSink* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextAnalysisSink* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextAnalysisSink* This); - - /*** IDWriteTextAnalysisSink methods ***/ - HRESULT(STDMETHODCALLTYPE* SetScriptAnalysis)( - IDWriteTextAnalysisSink* This, - UINT32 position, - UINT32 length, - const DWRITE_SCRIPT_ANALYSIS* scriptanalysis); - - HRESULT(STDMETHODCALLTYPE* SetLineBreakpoints)( - IDWriteTextAnalysisSink* This, - UINT32 position, - UINT32 length, - const DWRITE_LINE_BREAKPOINT* breakpoints); - - HRESULT(STDMETHODCALLTYPE* SetBidiLevel)( - IDWriteTextAnalysisSink* This, - UINT32 position, - UINT32 length, - UINT8 explicitLevel, - UINT8 resolvedLevel); - - HRESULT(STDMETHODCALLTYPE* SetNumberSubstitution)( - IDWriteTextAnalysisSink* This, - UINT32 position, - UINT32 length, - IDWriteNumberSubstitution* substitution); - - END_INTERFACE -} IDWriteTextAnalysisSinkVtbl; - -interface IDWriteTextAnalysisSink { - CONST_VTBL IDWriteTextAnalysisSinkVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextAnalysisSink_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextAnalysisSink_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextAnalysisSink_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextAnalysisSink methods ***/ -#define IDWriteTextAnalysisSink_SetScriptAnalysis(This, position, length, scriptanalysis) (This)->lpVtbl->SetScriptAnalysis(This, position, length, scriptanalysis) -#define IDWriteTextAnalysisSink_SetLineBreakpoints(This, position, length, breakpoints) (This)->lpVtbl->SetLineBreakpoints(This, position, length, breakpoints) -#define IDWriteTextAnalysisSink_SetBidiLevel(This, position, length, explicitLevel, resolvedLevel) (This)->lpVtbl->SetBidiLevel(This, position, length, explicitLevel, resolvedLevel) -#define IDWriteTextAnalysisSink_SetNumberSubstitution(This, position, length, substitution) (This)->lpVtbl->SetNumberSubstitution(This, position, length, substitution) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextAnalysisSink_QueryInterface(IDWriteTextAnalysisSink* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextAnalysisSink_AddRef(IDWriteTextAnalysisSink* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextAnalysisSink_Release(IDWriteTextAnalysisSink* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextAnalysisSink methods ***/ -static inline HRESULT IDWriteTextAnalysisSink_SetScriptAnalysis(IDWriteTextAnalysisSink* This, UINT32 position, UINT32 length, const DWRITE_SCRIPT_ANALYSIS* scriptanalysis) { - return This->lpVtbl->SetScriptAnalysis(This, position, length, scriptanalysis); -} -static inline HRESULT IDWriteTextAnalysisSink_SetLineBreakpoints(IDWriteTextAnalysisSink* This, UINT32 position, UINT32 length, const DWRITE_LINE_BREAKPOINT* breakpoints) { - return This->lpVtbl->SetLineBreakpoints(This, position, length, breakpoints); -} -static inline HRESULT IDWriteTextAnalysisSink_SetBidiLevel(IDWriteTextAnalysisSink* This, UINT32 position, UINT32 length, UINT8 explicitLevel, UINT8 resolvedLevel) { - return This->lpVtbl->SetBidiLevel(This, position, length, explicitLevel, resolvedLevel); -} -static inline HRESULT IDWriteTextAnalysisSink_SetNumberSubstitution(IDWriteTextAnalysisSink* This, UINT32 position, UINT32 length, IDWriteNumberSubstitution* substitution) { - return This->lpVtbl->SetNumberSubstitution(This, position, length, substitution); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextAnalysisSink_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextAnalyzer interface - */ -#ifndef __IDWriteTextAnalyzer_INTERFACE_DEFINED__ -#define __IDWriteTextAnalyzer_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextAnalyzer, 0xb7e6163e, 0x7f46, 0x43b4, 0x84, 0xb3, 0xe4, 0xe6, 0x24, 0x9c, 0x36, 0x5d); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("b7e6163e-7f46-43b4-84b3-e4e6249c365d") -IDWriteTextAnalyzer : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE AnalyzeScript( - IDWriteTextAnalysisSource * source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink * sink) = 0; - - virtual HRESULT STDMETHODCALLTYPE AnalyzeBidi( - IDWriteTextAnalysisSource * source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink * sink) = 0; - - virtual HRESULT STDMETHODCALLTYPE AnalyzeNumberSubstitution( - IDWriteTextAnalysisSource * source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink * sink) = 0; - - virtual HRESULT STDMETHODCALLTYPE AnalyzeLineBreakpoints( - IDWriteTextAnalysisSource * source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink * sink) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGlyphs( - const WCHAR* text, - UINT32 length, - IDWriteFontFace* font_face, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - IDWriteNumberSubstitution* substitution, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* 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) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGlyphPlacements( - const WCHAR* text, - const UINT16* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - const UINT16* glyph_indices, - const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, - UINT32 glyph_count, - IDWriteFontFace* font_face, - FLOAT fontEmSize, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* feature_range_len, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGdiCompatibleGlyphPlacements( - const WCHAR* text, - const UINT16* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - const UINT16* glyph_indices, - const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, - UINT32 glyph_count, - IDWriteFontFace* font_face, - FLOAT fontEmSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* feature_range_lengths, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextAnalyzer, 0xb7e6163e, 0x7f46, 0x43b4, 0x84, 0xb3, 0xe4, 0xe6, 0x24, 0x9c, 0x36, 0x5d) -#endif -#else -typedef struct IDWriteTextAnalyzerVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextAnalyzer* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextAnalyzer* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextAnalyzer* This); - - /*** IDWriteTextAnalyzer methods ***/ - HRESULT(STDMETHODCALLTYPE* AnalyzeScript)( - IDWriteTextAnalyzer* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* AnalyzeBidi)( - IDWriteTextAnalyzer* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* AnalyzeNumberSubstitution)( - IDWriteTextAnalyzer* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* AnalyzeLineBreakpoints)( - IDWriteTextAnalyzer* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* GetGlyphs)( - IDWriteTextAnalyzer* This, - const WCHAR* text, - UINT32 length, - IDWriteFontFace* font_face, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - IDWriteNumberSubstitution* substitution, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* 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(STDMETHODCALLTYPE* GetGlyphPlacements)( - IDWriteTextAnalyzer* This, - const WCHAR* text, - const UINT16* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - const UINT16* glyph_indices, - const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, - UINT32 glyph_count, - IDWriteFontFace* font_face, - FLOAT fontEmSize, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* feature_range_len, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphPlacements)( - IDWriteTextAnalyzer* This, - const WCHAR* text, - const UINT16* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - const UINT16* glyph_indices, - const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, - UINT32 glyph_count, - IDWriteFontFace* font_face, - FLOAT fontEmSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* feature_range_lengths, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets); - - END_INTERFACE -} IDWriteTextAnalyzerVtbl; - -interface IDWriteTextAnalyzer { - CONST_VTBL IDWriteTextAnalyzerVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextAnalyzer_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextAnalyzer_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextAnalyzer_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextAnalyzer methods ***/ -#define IDWriteTextAnalyzer_AnalyzeScript(This, source, position, length, sink) (This)->lpVtbl->AnalyzeScript(This, source, position, length, sink) -#define IDWriteTextAnalyzer_AnalyzeBidi(This, source, position, length, sink) (This)->lpVtbl->AnalyzeBidi(This, source, position, length, sink) -#define IDWriteTextAnalyzer_AnalyzeNumberSubstitution(This, source, position, length, sink) (This)->lpVtbl->AnalyzeNumberSubstitution(This, source, position, length, sink) -#define IDWriteTextAnalyzer_AnalyzeLineBreakpoints(This, source, position, length, sink) (This)->lpVtbl->AnalyzeLineBreakpoints(This, source, position, length, sink) -#define IDWriteTextAnalyzer_GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count) (This)->lpVtbl->GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count) -#define IDWriteTextAnalyzer_GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets) (This)->lpVtbl->GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets) -#define IDWriteTextAnalyzer_GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets) (This)->lpVtbl->GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextAnalyzer_QueryInterface(IDWriteTextAnalyzer* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextAnalyzer_AddRef(IDWriteTextAnalyzer* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextAnalyzer_Release(IDWriteTextAnalyzer* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextAnalyzer methods ***/ -static inline HRESULT IDWriteTextAnalyzer_AnalyzeScript(IDWriteTextAnalyzer* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeScript(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer_AnalyzeBidi(IDWriteTextAnalyzer* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeBidi(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer_AnalyzeNumberSubstitution(IDWriteTextAnalyzer* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeNumberSubstitution(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer_AnalyzeLineBreakpoints(IDWriteTextAnalyzer* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeLineBreakpoints(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer_GetGlyphs(IDWriteTextAnalyzer* This, const WCHAR* text, UINT32 length, IDWriteFontFace* font_face, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, IDWriteNumberSubstitution* substitution, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* 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) { - return This->lpVtbl->GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count); -} -static inline HRESULT IDWriteTextAnalyzer_GetGlyphPlacements(IDWriteTextAnalyzer* This, const WCHAR* text, const UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* props, UINT32 text_len, const UINT16* glyph_indices, const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32 glyph_count, IDWriteFontFace* font_face, FLOAT fontEmSize, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_len, UINT32 feature_ranges, FLOAT* glyph_advances, DWRITE_GLYPH_OFFSET* glyph_offsets) { - return This->lpVtbl->GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets); -} -static inline HRESULT IDWriteTextAnalyzer_GetGdiCompatibleGlyphPlacements(IDWriteTextAnalyzer* This, const WCHAR* text, const UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* props, UINT32 text_len, const UINT16* glyph_indices, const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32 glyph_count, IDWriteFontFace* font_face, FLOAT fontEmSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_lengths, UINT32 feature_ranges, FLOAT* glyph_advances, DWRITE_GLYPH_OFFSET* glyph_offsets) { - return This->lpVtbl->GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextAnalyzer_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteGlyphRunAnalysis interface - */ -#ifndef __IDWriteGlyphRunAnalysis_INTERFACE_DEFINED__ -#define __IDWriteGlyphRunAnalysis_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteGlyphRunAnalysis, 0x7d97dbf7, 0xe085, 0x42d4, 0x81, 0xe3, 0x6a, 0x88, 0x3b, 0xde, 0xd1, 0x18); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("7d97dbf7-e085-42d4-81e3-6a883bded118") -IDWriteGlyphRunAnalysis : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetAlphaTextureBounds( - DWRITE_TEXTURE_TYPE type, - RECT * bounds) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateAlphaTexture( - DWRITE_TEXTURE_TYPE type, - const RECT* bounds, - BYTE* alphaValues, - UINT32 bufferSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAlphaBlendParams( - IDWriteRenderingParams * renderingParams, - FLOAT * blendGamma, - FLOAT * blendEnhancedContrast, - FLOAT * blendClearTypeLevel) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteGlyphRunAnalysis, 0x7d97dbf7, 0xe085, 0x42d4, 0x81, 0xe3, 0x6a, 0x88, 0x3b, 0xde, 0xd1, 0x18) -#endif -#else -typedef struct IDWriteGlyphRunAnalysisVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteGlyphRunAnalysis* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteGlyphRunAnalysis* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteGlyphRunAnalysis* This); - - /*** IDWriteGlyphRunAnalysis methods ***/ - HRESULT(STDMETHODCALLTYPE* GetAlphaTextureBounds)( - IDWriteGlyphRunAnalysis* This, - DWRITE_TEXTURE_TYPE type, - RECT* bounds); - - HRESULT(STDMETHODCALLTYPE* CreateAlphaTexture)( - IDWriteGlyphRunAnalysis* This, - DWRITE_TEXTURE_TYPE type, - const RECT* bounds, - BYTE* alphaValues, - UINT32 bufferSize); - - HRESULT(STDMETHODCALLTYPE* GetAlphaBlendParams)( - IDWriteGlyphRunAnalysis* This, - IDWriteRenderingParams* renderingParams, - FLOAT* blendGamma, - FLOAT* blendEnhancedContrast, - FLOAT* blendClearTypeLevel); - - END_INTERFACE -} IDWriteGlyphRunAnalysisVtbl; - -interface IDWriteGlyphRunAnalysis { - CONST_VTBL IDWriteGlyphRunAnalysisVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteGlyphRunAnalysis_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteGlyphRunAnalysis_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteGlyphRunAnalysis_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteGlyphRunAnalysis methods ***/ -#define IDWriteGlyphRunAnalysis_GetAlphaTextureBounds(This, type, bounds) (This)->lpVtbl->GetAlphaTextureBounds(This, type, bounds) -#define IDWriteGlyphRunAnalysis_CreateAlphaTexture(This, type, bounds, alphaValues, bufferSize) (This)->lpVtbl->CreateAlphaTexture(This, type, bounds, alphaValues, bufferSize) -#define IDWriteGlyphRunAnalysis_GetAlphaBlendParams(This, renderingParams, blendGamma, blendEnhancedContrast, blendClearTypeLevel) (This)->lpVtbl->GetAlphaBlendParams(This, renderingParams, blendGamma, blendEnhancedContrast, blendClearTypeLevel) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteGlyphRunAnalysis_QueryInterface(IDWriteGlyphRunAnalysis* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteGlyphRunAnalysis_AddRef(IDWriteGlyphRunAnalysis* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteGlyphRunAnalysis_Release(IDWriteGlyphRunAnalysis* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteGlyphRunAnalysis methods ***/ -static inline HRESULT IDWriteGlyphRunAnalysis_GetAlphaTextureBounds(IDWriteGlyphRunAnalysis* This, DWRITE_TEXTURE_TYPE type, RECT* bounds) { - return This->lpVtbl->GetAlphaTextureBounds(This, type, bounds); -} -static inline HRESULT IDWriteGlyphRunAnalysis_CreateAlphaTexture(IDWriteGlyphRunAnalysis* This, DWRITE_TEXTURE_TYPE type, const RECT* bounds, BYTE* alphaValues, UINT32 bufferSize) { - return This->lpVtbl->CreateAlphaTexture(This, type, bounds, alphaValues, bufferSize); -} -static inline HRESULT IDWriteGlyphRunAnalysis_GetAlphaBlendParams(IDWriteGlyphRunAnalysis* This, IDWriteRenderingParams* renderingParams, FLOAT* blendGamma, FLOAT* blendEnhancedContrast, FLOAT* blendClearTypeLevel) { - return This->lpVtbl->GetAlphaBlendParams(This, renderingParams, blendGamma, blendEnhancedContrast, blendClearTypeLevel); -} -#endif -#endif - -#endif - -#endif /* __IDWriteGlyphRunAnalysis_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory interface - */ -#ifndef __IDWriteFactory_INTERFACE_DEFINED__ -#define __IDWriteFactory_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory, 0xb859ee5a, 0xd838, 0x4b5b, 0xa2, 0xe8, 0x1a, 0xdc, 0x7d, 0x93, 0xdb, 0x48); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("b859ee5a-d838-4b5b-a2e8-1adc7d93db48") -IDWriteFactory : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( - IDWriteFontCollection * *collection, - WINBOOL check_for_updates = FALSE) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateCustomFontCollection( - IDWriteFontCollectionLoader * loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection) = 0; - - virtual HRESULT STDMETHODCALLTYPE RegisterFontCollectionLoader( - IDWriteFontCollectionLoader * loader) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnregisterFontCollectionLoader( - IDWriteFontCollectionLoader * loader) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFileReference( - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateCustomFontFileReference( - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateRenderingParams( - IDWriteRenderingParams * *params) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateMonitorRenderingParams( - HMONITOR monitor, - IDWriteRenderingParams * *params) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams( - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams * *params) = 0; - - virtual HRESULT STDMETHODCALLTYPE RegisterFontFileLoader( - IDWriteFontFileLoader * loader) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnregisterFontFileLoader( - IDWriteFontFileLoader * loader) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateTextFormat( - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateTypography( - IDWriteTypography * *typography) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGdiInterop( - IDWriteGdiInterop * *gdi_interop) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateTextLayout( - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateGdiCompatibleTextLayout( - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateEllipsisTrimmingSign( - IDWriteTextFormat * format, - IDWriteInlineObject * *trimming_sign) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateTextAnalyzer( - IDWriteTextAnalyzer * *analyzer) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateNumberSubstitution( - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis( - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory, 0xb859ee5a, 0xd838, 0x4b5b, 0xa2, 0xe8, 0x1a, 0xdc, 0x7d, 0x93, 0xdb, 0x48) -#endif -#else -typedef struct IDWriteFactoryVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - END_INTERFACE -} IDWriteFactoryVtbl; - -interface IDWriteFactory { - CONST_VTBL IDWriteFactoryVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory_GetSystemFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetSystemFontCollection(This, collection, check_for_updates) -#define IDWriteFactory_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory_CreateCustomRenderingParams(This, gamma, enhancedContrast, cleartype_level, geometry, mode, params) (This)->lpVtbl->CreateCustomRenderingParams(This, gamma, enhancedContrast, cleartype_level, geometry, mode, params) -#define IDWriteFactory_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory_CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) (This)->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) -#define IDWriteFactory_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -#define IDWriteFactory_CreateGlyphRunAnalysis(This, glyph_run, pixels_per_dip, transform, rendering_mode, measuring_mode, baseline_x, baseline_y, analysis) (This)->lpVtbl->CreateGlyphRunAnalysis(This, glyph_run, pixels_per_dip, transform, rendering_mode, measuring_mode, baseline_x, baseline_y, analysis) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory_QueryInterface(IDWriteFactory* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory_AddRef(IDWriteFactory* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory_Release(IDWriteFactory* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory_GetSystemFontCollection(IDWriteFactory* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetSystemFontCollection(This, collection, check_for_updates); -} -static inline HRESULT IDWriteFactory_CreateCustomFontCollection(IDWriteFactory* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory_RegisterFontCollectionLoader(IDWriteFactory* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory_UnregisterFontCollectionLoader(IDWriteFactory* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory_CreateFontFileReference(IDWriteFactory* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory_CreateCustomFontFileReference(IDWriteFactory* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory_CreateFontFace(IDWriteFactory* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory_CreateRenderingParams(IDWriteFactory* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory_CreateMonitorRenderingParams(IDWriteFactory* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory_CreateCustomRenderingParams(IDWriteFactory* This, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateCustomRenderingParams(This, gamma, enhancedContrast, cleartype_level, geometry, mode, params); -} -static inline HRESULT IDWriteFactory_RegisterFontFileLoader(IDWriteFactory* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory_UnregisterFontFileLoader(IDWriteFactory* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory_CreateTextFormat(IDWriteFactory* This, const WCHAR* family_name, IDWriteFontCollection* collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, const WCHAR* locale, IDWriteTextFormat** format) { - return This->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format); -} -static inline HRESULT IDWriteFactory_CreateTypography(IDWriteFactory* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory_GetGdiInterop(IDWriteFactory* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory_CreateTextLayout(IDWriteFactory* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory_CreateGdiCompatibleTextLayout(IDWriteFactory* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory_CreateEllipsisTrimmingSign(IDWriteFactory* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory_CreateTextAnalyzer(IDWriteFactory* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory_CreateNumberSubstitution(IDWriteFactory* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -static inline HRESULT IDWriteFactory_CreateGlyphRunAnalysis(IDWriteFactory* This, const DWRITE_GLYPH_RUN* glyph_run, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->CreateGlyphRunAnalysis(This, glyph_run, pixels_per_dip, transform, rendering_mode, measuring_mode, baseline_x, baseline_y, analysis); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory_INTERFACE_DEFINED__ */ - -HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE, REFIID, IUnknown**); -#define FACILITY_DWRITE 0x898 -#define DWRITE_ERR_BASE 0x5000 -#define MAKE_DWRITE_HR(severity, code) MAKE_HRESULT(severity, FACILITY_DWRITE, (DWRITE_ERR_BASE + code)) -#define MAKE_DWRITE_HR_ERR(code) MAKE_DWRITE_HR(SEVERITY_ERROR, code) -/* Begin additional prototypes for all interfaces */ - -/* End additional prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif /* __dwrite_h__ */ diff --git a/src/text/dwrite_2.h b/src/text/dwrite_2.h deleted file mode 100644 index 049da56..0000000 --- a/src/text/dwrite_2.h +++ /dev/null @@ -1,3252 +0,0 @@ -/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite_2.idl - Do not edit ***/ - -#define COBJMACROS - -#ifdef _WIN32 -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif -#include -#include -#endif - -#ifndef COM_NO_WINDOWS_H -#include -#include -#endif - -#ifndef __dwrite_2_h__ -#define __dwrite_2_h__ - -/* Forward declarations */ - -#ifndef __IDWriteTextRenderer1_FWD_DEFINED__ -#define __IDWriteTextRenderer1_FWD_DEFINED__ -typedef interface IDWriteTextRenderer1 IDWriteTextRenderer1; -#ifdef __cplusplus -interface IDWriteTextRenderer1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFallback_FWD_DEFINED__ -#define __IDWriteFontFallback_FWD_DEFINED__ -typedef interface IDWriteFontFallback IDWriteFontFallback; -#ifdef __cplusplus -interface IDWriteFontFallback; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextFormat1_FWD_DEFINED__ -#define __IDWriteTextFormat1_FWD_DEFINED__ -typedef interface IDWriteTextFormat1 IDWriteTextFormat1; -#ifdef __cplusplus -interface IDWriteTextFormat1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextLayout2_FWD_DEFINED__ -#define __IDWriteTextLayout2_FWD_DEFINED__ -typedef interface IDWriteTextLayout2 IDWriteTextLayout2; -#ifdef __cplusplus -interface IDWriteTextLayout2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextAnalyzer2_FWD_DEFINED__ -#define __IDWriteTextAnalyzer2_FWD_DEFINED__ -typedef interface IDWriteTextAnalyzer2 IDWriteTextAnalyzer2; -#ifdef __cplusplus -interface IDWriteTextAnalyzer2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFallbackBuilder_FWD_DEFINED__ -#define __IDWriteFontFallbackBuilder_FWD_DEFINED__ -typedef interface IDWriteFontFallbackBuilder IDWriteFontFallbackBuilder; -#ifdef __cplusplus -interface IDWriteFontFallbackBuilder; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFont2_FWD_DEFINED__ -#define __IDWriteFont2_FWD_DEFINED__ -typedef interface IDWriteFont2 IDWriteFont2; -#ifdef __cplusplus -interface IDWriteFont2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace2_FWD_DEFINED__ -#define __IDWriteFontFace2_FWD_DEFINED__ -typedef interface IDWriteFontFace2 IDWriteFontFace2; -#ifdef __cplusplus -interface IDWriteFontFace2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteColorGlyphRunEnumerator_FWD_DEFINED__ -#define __IDWriteColorGlyphRunEnumerator_FWD_DEFINED__ -typedef interface IDWriteColorGlyphRunEnumerator IDWriteColorGlyphRunEnumerator; -#ifdef __cplusplus -interface IDWriteColorGlyphRunEnumerator; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteRenderingParams2_FWD_DEFINED__ -#define __IDWriteRenderingParams2_FWD_DEFINED__ -typedef interface IDWriteRenderingParams2 IDWriteRenderingParams2; -#ifdef __cplusplus -interface IDWriteRenderingParams2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory2_FWD_DEFINED__ -#define __IDWriteFactory2_FWD_DEFINED__ -typedef interface IDWriteFactory2 IDWriteFactory2; -#ifdef __cplusplus -interface IDWriteFactory2; -#endif /* __cplusplus */ -#endif - -/* Headers for imported files */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum DWRITE_OPTICAL_ALIGNMENT { - DWRITE_OPTICAL_ALIGNMENT_NONE = 0, - DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS = 1 -} DWRITE_OPTICAL_ALIGNMENT; -typedef enum DWRITE_GRID_FIT_MODE { - DWRITE_GRID_FIT_MODE_DEFAULT = 0, - DWRITE_GRID_FIT_MODE_DISABLED = 1, - DWRITE_GRID_FIT_MODE_ENABLED = 2 -} DWRITE_GRID_FIT_MODE; -typedef struct DWRITE_TEXT_METRICS1 { - FLOAT left; - FLOAT top; - FLOAT width; - FLOAT widthIncludingTrailingWhitespace; - FLOAT height; - FLOAT layoutWidth; - FLOAT layoutHeight; - UINT32 maxBidiReorderingDepth; - UINT32 lineCount; - FLOAT heightIncludingTrailingWhitespace; -} DWRITE_TEXT_METRICS1; -#ifndef D3DCOLORVALUE_DEFINED -typedef struct _D3DCOLORVALUE { - __C89_NAMELESS union { - FLOAT r; - FLOAT dvR; - } __C89_NAMELESSUNIONNAME1; - __C89_NAMELESS union { - FLOAT g; - FLOAT dvG; - } __C89_NAMELESSUNIONNAME2; - __C89_NAMELESS union { - FLOAT b; - FLOAT dvB; - } __C89_NAMELESSUNIONNAME3; - __C89_NAMELESS union { - FLOAT a; - FLOAT dvA; - } __C89_NAMELESSUNIONNAME4; -} D3DCOLORVALUE; -#define D3DCOLORVALUE_DEFINED -#endif -typedef D3DCOLORVALUE DWRITE_COLOR_F; -typedef struct DWRITE_COLOR_GLYPH_RUN { - DWRITE_GLYPH_RUN glyphRun; - DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription; - FLOAT baselineOriginX; - FLOAT baselineOriginY; - DWRITE_COLOR_F runColor; - UINT16 paletteIndex; -} DWRITE_COLOR_GLYPH_RUN; -/***************************************************************************** - * IDWriteTextRenderer1 interface - */ -#ifndef __IDWriteTextRenderer1_INTERFACE_DEFINED__ -#define __IDWriteTextRenderer1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextRenderer1, 0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("d3e0e934-22a0-427e-aae4-7d9574b59db1") -IDWriteTextRenderer1 : public IDWriteTextRenderer { - virtual HRESULT STDMETHODCALLTYPE DrawGlyphRun( - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - DWRITE_MEASURING_MODE mode, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - IUnknown* effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawUnderline( - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - const DWRITE_UNDERLINE* underline, - IUnknown* effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawStrikethrough( - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - const DWRITE_STRIKETHROUGH* strikethrough, - IUnknown* effect) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawInlineObject( - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - IDWriteInlineObject* inlineObject, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* effect) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextRenderer1, 0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1) -#endif -#else -typedef struct IDWriteTextRenderer1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextRenderer1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextRenderer1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextRenderer1* This); - - /*** IDWritePixelSnapping methods ***/ - HRESULT(STDMETHODCALLTYPE* IsPixelSnappingDisabled)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - WINBOOL* disabled); - - HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetPixelsPerDip)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - FLOAT* pixels_per_dip); - - /*** IDWriteTextRenderer methods ***/ - HRESULT(STDMETHODCALLTYPE* DrawGlyphRun)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE mode, - const DWRITE_GLYPH_RUN* glyph_run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_descr, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* DrawUnderline)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - const DWRITE_UNDERLINE* underline, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* DrawStrikethrough)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - const DWRITE_STRIKETHROUGH* strikethrough, - IUnknown* drawing_effect); - - HRESULT(STDMETHODCALLTYPE* DrawInlineObject)( - IDWriteTextRenderer1* This, - void* client_drawingcontext, - FLOAT originX, - FLOAT originY, - IDWriteInlineObject* object, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* drawing_effect); - - /*** IDWriteTextRenderer1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawGlyphRun)( - IDWriteTextRenderer1* This, - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - DWRITE_MEASURING_MODE mode, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - IUnknown* effect); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawUnderline)( - IDWriteTextRenderer1* This, - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - const DWRITE_UNDERLINE* underline, - IUnknown* effect); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawStrikethrough)( - IDWriteTextRenderer1* This, - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - const DWRITE_STRIKETHROUGH* strikethrough, - IUnknown* effect); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextRenderer1_DrawInlineObject)( - IDWriteTextRenderer1* This, - void* context, - FLOAT originX, - FLOAT originY, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - IDWriteInlineObject* inlineObject, - WINBOOL is_sideways, - WINBOOL is_rtl, - IUnknown* effect); - - END_INTERFACE -} IDWriteTextRenderer1Vtbl; - -interface IDWriteTextRenderer1 { - CONST_VTBL IDWriteTextRenderer1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextRenderer1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextRenderer1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextRenderer1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWritePixelSnapping methods ***/ -#define IDWriteTextRenderer1_IsPixelSnappingDisabled(This, client_drawingcontext, disabled) (This)->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled) -#define IDWriteTextRenderer1_GetCurrentTransform(This, client_drawingcontext, transform) (This)->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform) -#define IDWriteTextRenderer1_GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) (This)->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip) -/*** IDWriteTextRenderer methods ***/ -/*** IDWriteTextRenderer1 methods ***/ -#define IDWriteTextRenderer1_DrawGlyphRun(This, context, originX, originY, angle, mode, run, rundescr, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawGlyphRun(This, context, originX, originY, angle, mode, run, rundescr, effect) -#define IDWriteTextRenderer1_DrawUnderline(This, context, originX, originY, angle, underline, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawUnderline(This, context, originX, originY, angle, underline, effect) -#define IDWriteTextRenderer1_DrawStrikethrough(This, context, originX, originY, angle, strikethrough, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawStrikethrough(This, context, originX, originY, angle, strikethrough, effect) -#define IDWriteTextRenderer1_DrawInlineObject(This, context, originX, originY, angle, inlineObject, is_sideways, is_rtl, effect) (This)->lpVtbl->IDWriteTextRenderer1_DrawInlineObject(This, context, originX, originY, angle, inlineObject, is_sideways, is_rtl, effect) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextRenderer1_QueryInterface(IDWriteTextRenderer1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextRenderer1_AddRef(IDWriteTextRenderer1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextRenderer1_Release(IDWriteTextRenderer1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWritePixelSnapping methods ***/ -static inline HRESULT IDWriteTextRenderer1_IsPixelSnappingDisabled(IDWriteTextRenderer1* This, void* client_drawingcontext, WINBOOL* disabled) { - return This->lpVtbl->IsPixelSnappingDisabled(This, client_drawingcontext, disabled); -} -static inline HRESULT IDWriteTextRenderer1_GetCurrentTransform(IDWriteTextRenderer1* This, void* client_drawingcontext, DWRITE_MATRIX* transform) { - return This->lpVtbl->GetCurrentTransform(This, client_drawingcontext, transform); -} -static inline HRESULT IDWriteTextRenderer1_GetPixelsPerDip(IDWriteTextRenderer1* This, void* client_drawingcontext, FLOAT* pixels_per_dip) { - return This->lpVtbl->GetPixelsPerDip(This, client_drawingcontext, pixels_per_dip); -} -/*** IDWriteTextRenderer methods ***/ -/*** IDWriteTextRenderer1 methods ***/ -static inline HRESULT IDWriteTextRenderer1_DrawGlyphRun(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, DWRITE_MEASURING_MODE mode, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, IUnknown* effect) { - return This->lpVtbl->IDWriteTextRenderer1_DrawGlyphRun(This, context, originX, originY, angle, mode, run, rundescr, effect); -} -static inline HRESULT IDWriteTextRenderer1_DrawUnderline(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, const DWRITE_UNDERLINE* underline, IUnknown* effect) { - return This->lpVtbl->IDWriteTextRenderer1_DrawUnderline(This, context, originX, originY, angle, underline, effect); -} -static inline HRESULT IDWriteTextRenderer1_DrawStrikethrough(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, const DWRITE_STRIKETHROUGH* strikethrough, IUnknown* effect) { - return This->lpVtbl->IDWriteTextRenderer1_DrawStrikethrough(This, context, originX, originY, angle, strikethrough, effect); -} -static inline HRESULT IDWriteTextRenderer1_DrawInlineObject(IDWriteTextRenderer1* This, void* context, FLOAT originX, FLOAT originY, DWRITE_GLYPH_ORIENTATION_ANGLE angle, IDWriteInlineObject* inlineObject, WINBOOL is_sideways, WINBOOL is_rtl, IUnknown* effect) { - return This->lpVtbl->IDWriteTextRenderer1_DrawInlineObject(This, context, originX, originY, angle, inlineObject, is_sideways, is_rtl, effect); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextRenderer1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFallback interface - */ -#ifndef __IDWriteFontFallback_INTERFACE_DEFINED__ -#define __IDWriteFontFallback_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFallback, 0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("efa008f9-f7a1-48bf-b05c-f224713cc0ff") -IDWriteFontFallback : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE MapCharacters( - IDWriteTextAnalysisSource * source, - UINT32 position, - UINT32 length, - IDWriteFontCollection * basecollection, - const WCHAR* baseFamilyName, - DWRITE_FONT_WEIGHT baseWeight, - DWRITE_FONT_STYLE baseStyle, - DWRITE_FONT_STRETCH baseStretch, - UINT32* mappedLength, - IDWriteFont** mappedFont, - FLOAT* scale) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFallback, 0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff) -#endif -#else -typedef struct IDWriteFontFallbackVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFallback* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFallback* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFallback* This); - - /*** IDWriteFontFallback methods ***/ - HRESULT(STDMETHODCALLTYPE* MapCharacters)( - IDWriteFontFallback* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteFontCollection* basecollection, - const WCHAR* baseFamilyName, - DWRITE_FONT_WEIGHT baseWeight, - DWRITE_FONT_STYLE baseStyle, - DWRITE_FONT_STRETCH baseStretch, - UINT32* mappedLength, - IDWriteFont** mappedFont, - FLOAT* scale); - - END_INTERFACE -} IDWriteFontFallbackVtbl; - -interface IDWriteFontFallback { - CONST_VTBL IDWriteFontFallbackVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFallback_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFallback_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFallback_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFallback methods ***/ -#define IDWriteFontFallback_MapCharacters(This, source, position, length, basecollection, baseFamilyName, baseWeight, baseStyle, baseStretch, mappedLength, mappedFont, scale) (This)->lpVtbl->MapCharacters(This, source, position, length, basecollection, baseFamilyName, baseWeight, baseStyle, baseStretch, mappedLength, mappedFont, scale) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFallback_QueryInterface(IDWriteFontFallback* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFallback_AddRef(IDWriteFontFallback* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFallback_Release(IDWriteFontFallback* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFallback methods ***/ -static inline HRESULT IDWriteFontFallback_MapCharacters(IDWriteFontFallback* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteFontCollection* basecollection, const WCHAR* baseFamilyName, DWRITE_FONT_WEIGHT baseWeight, DWRITE_FONT_STYLE baseStyle, DWRITE_FONT_STRETCH baseStretch, UINT32* mappedLength, IDWriteFont** mappedFont, FLOAT* scale) { - return This->lpVtbl->MapCharacters(This, source, position, length, basecollection, baseFamilyName, baseWeight, baseStyle, baseStretch, mappedLength, mappedFont, scale); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFallback_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextFormat1 interface - */ -#ifndef __IDWriteTextFormat1_INTERFACE_DEFINED__ -#define __IDWriteTextFormat1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextFormat1, 0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("5f174b49-0d8b-4cfb-8bca-f1cce9d06c67") -IDWriteTextFormat1 : public IDWriteTextFormat { - virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation( - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0; - - virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping( - WINBOOL lastline_wrapping_enabled) = 0; - - virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment( - DWRITE_OPTICAL_ALIGNMENT alignment) = 0; - - virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontFallback( - IDWriteFontFallback * fallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFallback( - IDWriteFontFallback * *fallback) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextFormat1, 0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67) -#endif -#else -typedef struct IDWriteTextFormat1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextFormat1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextFormat1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextFormat1* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextFormat1* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextFormat1* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextFormat1* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextFormat1* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextFormat1* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextFormat1* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextFormat1* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextFormat1* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextFormat1* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextFormat1* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextFormat1* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextFormat1* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextFormat1* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextFormat1* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextFormat1* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextFormat1* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextFormat1* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextFormat1* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextFormat1* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextFormat1* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextFormat1* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextFormat1* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextFormat1* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextFormat1* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextFormat1* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextFormat1 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( - IDWriteTextFormat1* This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - - DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( - IDWriteTextFormat1* This); - - HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( - IDWriteTextFormat1* This, - WINBOOL lastline_wrapping_enabled); - - WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( - IDWriteTextFormat1* This); - - HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( - IDWriteTextFormat1* This, - DWRITE_OPTICAL_ALIGNMENT alignment); - - DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( - IDWriteTextFormat1* This); - - HRESULT(STDMETHODCALLTYPE* SetFontFallback)( - IDWriteTextFormat1* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* GetFontFallback)( - IDWriteTextFormat1* This, - IDWriteFontFallback** fallback); - - END_INTERFACE -} IDWriteTextFormat1Vtbl; - -interface IDWriteTextFormat1 { - CONST_VTBL IDWriteTextFormat1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextFormat1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextFormat1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextFormat1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextFormat1_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextFormat1_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextFormat1_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextFormat1_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextFormat1_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextFormat1_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextFormat1_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextFormat1_SetLineSpacing(This, spacing, line_spacing, baseline) (This)->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline) -#define IDWriteTextFormat1_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextFormat1_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextFormat1_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextFormat1_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextFormat1_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextFormat1_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextFormat1_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -#define IDWriteTextFormat1_GetLineSpacing(This, method, spacing, baseline) (This)->lpVtbl->GetLineSpacing(This, method, spacing, baseline) -#define IDWriteTextFormat1_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteTextFormat1_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) -#define IDWriteTextFormat1_GetFontFamilyName(This, name, size) (This)->lpVtbl->GetFontFamilyName(This, name, size) -#define IDWriteTextFormat1_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) -#define IDWriteTextFormat1_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) -#define IDWriteTextFormat1_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) -#define IDWriteTextFormat1_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) -#define IDWriteTextFormat1_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) -#define IDWriteTextFormat1_GetLocaleName(This, name, size) (This)->lpVtbl->GetLocaleName(This, name, size) -/*** IDWriteTextFormat1 methods ***/ -#define IDWriteTextFormat1_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation) -#define IDWriteTextFormat1_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) -#define IDWriteTextFormat1_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled) -#define IDWriteTextFormat1_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) -#define IDWriteTextFormat1_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment) -#define IDWriteTextFormat1_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) -#define IDWriteTextFormat1_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback) -#define IDWriteTextFormat1_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextFormat1_QueryInterface(IDWriteTextFormat1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextFormat1_AddRef(IDWriteTextFormat1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextFormat1_Release(IDWriteTextFormat1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextFormat1_SetTextAlignment(IDWriteTextFormat1* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat1_SetParagraphAlignment(IDWriteTextFormat1* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat1_SetWordWrapping(IDWriteTextFormat1* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextFormat1_SetReadingDirection(IDWriteTextFormat1* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat1_SetFlowDirection(IDWriteTextFormat1* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat1_SetIncrementalTabStop(IDWriteTextFormat1* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextFormat1_SetTrimming(IDWriteTextFormat1* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline HRESULT IDWriteTextFormat1_SetLineSpacing(IDWriteTextFormat1* This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline) { - return This->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat1_GetTextAlignment(IDWriteTextFormat1* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat1_GetParagraphAlignment(IDWriteTextFormat1* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextFormat1_GetWordWrapping(IDWriteTextFormat1* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextFormat1_GetReadingDirection(IDWriteTextFormat1* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat1_GetFlowDirection(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextFormat1_GetIncrementalTabStop(IDWriteTextFormat1* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextFormat1_GetTrimming(IDWriteTextFormat1* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -static inline HRESULT IDWriteTextFormat1_GetLineSpacing(IDWriteTextFormat1* This, DWRITE_LINE_SPACING_METHOD* method, FLOAT* spacing, FLOAT* baseline) { - return This->lpVtbl->GetLineSpacing(This, method, spacing, baseline); -} -static inline HRESULT IDWriteTextFormat1_GetFontCollection(IDWriteTextFormat1* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteTextFormat1_GetFontFamilyNameLength(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontFamilyNameLength(This); -} -static inline HRESULT IDWriteTextFormat1_GetFontFamilyName(IDWriteTextFormat1* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetFontFamilyName(This, name, size); -} -static inline DWRITE_FONT_WEIGHT IDWriteTextFormat1_GetFontWeight(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontWeight(This); -} -static inline DWRITE_FONT_STYLE IDWriteTextFormat1_GetFontStyle(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontStyle(This); -} -static inline DWRITE_FONT_STRETCH IDWriteTextFormat1_GetFontStretch(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontStretch(This); -} -static inline FLOAT IDWriteTextFormat1_GetFontSize(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontSize(This); -} -static inline UINT32 IDWriteTextFormat1_GetLocaleNameLength(IDWriteTextFormat1* This) { - return This->lpVtbl->GetLocaleNameLength(This); -} -static inline HRESULT IDWriteTextFormat1_GetLocaleName(IDWriteTextFormat1* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetLocaleName(This, name, size); -} -/*** IDWriteTextFormat1 methods ***/ -static inline HRESULT IDWriteTextFormat1_SetVerticalGlyphOrientation(IDWriteTextFormat1* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { - return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation); -} -static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat1_GetVerticalGlyphOrientation(IDWriteTextFormat1* This) { - return This->lpVtbl->GetVerticalGlyphOrientation(This); -} -static inline HRESULT IDWriteTextFormat1_SetLastLineWrapping(IDWriteTextFormat1* This, WINBOOL lastline_wrapping_enabled) { - return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled); -} -static inline WINBOOL IDWriteTextFormat1_GetLastLineWrapping(IDWriteTextFormat1* This) { - return This->lpVtbl->GetLastLineWrapping(This); -} -static inline HRESULT IDWriteTextFormat1_SetOpticalAlignment(IDWriteTextFormat1* This, DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This, alignment); -} -static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat1_GetOpticalAlignment(IDWriteTextFormat1* This) { - return This->lpVtbl->GetOpticalAlignment(This); -} -static inline HRESULT IDWriteTextFormat1_SetFontFallback(IDWriteTextFormat1* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->SetFontFallback(This, fallback); -} -static inline HRESULT IDWriteTextFormat1_GetFontFallback(IDWriteTextFormat1* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetFontFallback(This, fallback); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextFormat1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextLayout2 interface - */ -#ifndef __IDWriteTextLayout2_INTERFACE_DEFINED__ -#define __IDWriteTextLayout2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextLayout2, 0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("1093c18f-8d5e-43f0-b064-0917311b525e") -IDWriteTextLayout2 : public IDWriteTextLayout1 { - virtual HRESULT STDMETHODCALLTYPE GetMetrics( - DWRITE_TEXT_METRICS1 * metrics) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation( - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0; - - virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping( - WINBOOL lastline_wrapping_enabled) = 0; - - virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment( - DWRITE_OPTICAL_ALIGNMENT alignment) = 0; - - virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFontFallback( - IDWriteFontFallback * fallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFallback( - IDWriteFontFallback * *fallback) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextLayout2, 0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e) -#endif -#else -typedef struct IDWriteTextLayout2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextLayout2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextLayout2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextLayout2* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextLayout2* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextLayout2* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextLayout2* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextLayout2* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextLayout2* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextLayout2* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextLayout2* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextLayout2* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextLayout2* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextLayout2* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextLayout2* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextLayout2* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextLayout2* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextLayout2* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextLayout2* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextLayout2* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextLayout2* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextLayout2* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextLayout2* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextLayout2* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextLayout2* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextLayout2* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextLayout methods ***/ - HRESULT(STDMETHODCALLTYPE* SetMaxWidth)( - IDWriteTextLayout2* This, - FLOAT maxWidth); - - HRESULT(STDMETHODCALLTYPE* SetMaxHeight)( - IDWriteTextLayout2* This, - FLOAT maxHeight); - - HRESULT(STDMETHODCALLTYPE* SetFontCollection)( - IDWriteTextLayout2* This, - IDWriteFontCollection* collection, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontFamilyName)( - IDWriteTextLayout2* This, - const WCHAR* name, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontWeight)( - IDWriteTextLayout2* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStyle)( - IDWriteTextLayout2* This, - DWRITE_FONT_STYLE style, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStretch)( - IDWriteTextLayout2* This, - DWRITE_FONT_STRETCH stretch, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontSize)( - IDWriteTextLayout2* This, - FLOAT size, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetUnderline)( - IDWriteTextLayout2* This, - WINBOOL underline, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetStrikethrough)( - IDWriteTextLayout2* This, - WINBOOL strikethrough, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetDrawingEffect)( - IDWriteTextLayout2* This, - IUnknown* effect, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetInlineObject)( - IDWriteTextLayout2* This, - IDWriteInlineObject* object, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetTypography)( - IDWriteTextLayout2* This, - IDWriteTypography* typography, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetLocaleName)( - IDWriteTextLayout2* This, - const WCHAR* locale, - DWRITE_TEXT_RANGE range); - - FLOAT(STDMETHODCALLTYPE* GetMaxWidth)( - IDWriteTextLayout2* This); - - FLOAT(STDMETHODCALLTYPE* GetMaxHeight)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontCollection)( - IDWriteTextLayout2* This, - UINT32 pos, - IDWriteFontCollection** collection, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyNameLength)( - IDWriteTextLayout2* This, - UINT32 pos, - UINT32* len, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyName)( - IDWriteTextLayout2* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontWeight)( - IDWriteTextLayout2* This, - UINT32 position, - DWRITE_FONT_WEIGHT* weight, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStyle)( - IDWriteTextLayout2* This, - UINT32 currentPosition, - DWRITE_FONT_STYLE* style, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStretch)( - IDWriteTextLayout2* This, - UINT32 position, - DWRITE_FONT_STRETCH* stretch, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontSize)( - IDWriteTextLayout2* This, - UINT32 position, - FLOAT* size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetUnderline)( - IDWriteTextLayout2* This, - UINT32 position, - WINBOOL* has_underline, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetStrikethrough)( - IDWriteTextLayout2* This, - UINT32 position, - WINBOOL* has_strikethrough, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetDrawingEffect)( - IDWriteTextLayout2* This, - UINT32 position, - IUnknown** effect, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetInlineObject)( - IDWriteTextLayout2* This, - UINT32 position, - IDWriteInlineObject** object, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetTypography)( - IDWriteTextLayout2* This, - UINT32 position, - IDWriteTypography** typography, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleNameLength)( - IDWriteTextLayout2* This, - UINT32 position, - UINT32* length, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleName)( - IDWriteTextLayout2* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* Draw)( - IDWriteTextLayout2* This, - void* context, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY); - - HRESULT(STDMETHODCALLTYPE* GetLineMetrics)( - IDWriteTextLayout2* This, - DWRITE_LINE_METRICS* metrics, - UINT32 max_count, - UINT32* actual_count); - - HRESULT(STDMETHODCALLTYPE* GetMetrics)( - IDWriteTextLayout2* This, - DWRITE_TEXT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)( - IDWriteTextLayout2* This, - DWRITE_OVERHANG_METRICS* overhangs); - - HRESULT(STDMETHODCALLTYPE* GetClusterMetrics)( - IDWriteTextLayout2* This, - DWRITE_CLUSTER_METRICS* metrics, - UINT32 max_count, - UINT32* act_count); - - HRESULT(STDMETHODCALLTYPE* DetermineMinWidth)( - IDWriteTextLayout2* This, - FLOAT* min_width); - - HRESULT(STDMETHODCALLTYPE* HitTestPoint)( - IDWriteTextLayout2* This, - FLOAT pointX, - FLOAT pointY, - WINBOOL* is_trailinghit, - WINBOOL* is_inside, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextPosition)( - IDWriteTextLayout2* This, - UINT32 textPosition, - WINBOOL is_trailinghit, - FLOAT* pointX, - FLOAT* pointY, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextRange)( - IDWriteTextLayout2* This, - UINT32 textPosition, - UINT32 textLength, - FLOAT originX, - FLOAT originY, - DWRITE_HIT_TEST_METRICS* metrics, - UINT32 max_metricscount, - UINT32* actual_metricscount); - - /*** IDWriteTextLayout1 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetPairKerning)( - IDWriteTextLayout2* This, - WINBOOL is_pairkerning_enabled, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* GetPairKerning)( - IDWriteTextLayout2* This, - UINT32 position, - WINBOOL* is_pairkerning_enabled, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* SetCharacterSpacing)( - IDWriteTextLayout2* This, - FLOAT leading_spacing, - FLOAT trailing_spacing, - FLOAT minimum_advance_width, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* GetCharacterSpacing)( - IDWriteTextLayout2* This, - UINT32 position, - FLOAT* leading_spacing, - FLOAT* trailing_spacing, - FLOAT* minimum_advance_width, - DWRITE_TEXT_RANGE* range); - - /*** IDWriteTextLayout2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout2_GetMetrics)( - IDWriteTextLayout2* This, - DWRITE_TEXT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( - IDWriteTextLayout2* This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - - DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( - IDWriteTextLayout2* This, - WINBOOL lastline_wrapping_enabled); - - WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( - IDWriteTextLayout2* This, - DWRITE_OPTICAL_ALIGNMENT alignment); - - DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( - IDWriteTextLayout2* This); - - HRESULT(STDMETHODCALLTYPE* SetFontFallback)( - IDWriteTextLayout2* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* GetFontFallback)( - IDWriteTextLayout2* This, - IDWriteFontFallback** fallback); - - END_INTERFACE -} IDWriteTextLayout2Vtbl; - -interface IDWriteTextLayout2 { - CONST_VTBL IDWriteTextLayout2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextLayout2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextLayout2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextLayout2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextLayout2_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextLayout2_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextLayout2_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextLayout2_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextLayout2_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextLayout2_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextLayout2_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextLayout2_SetLineSpacing(This, spacing, line_spacing, baseline) (This)->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline) -#define IDWriteTextLayout2_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextLayout2_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextLayout2_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextLayout2_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextLayout2_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextLayout2_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextLayout2_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -#define IDWriteTextLayout2_GetLineSpacing(This, method, spacing, baseline) (This)->lpVtbl->GetLineSpacing(This, method, spacing, baseline) -/*** IDWriteTextLayout methods ***/ -#define IDWriteTextLayout2_SetMaxWidth(This, maxWidth) (This)->lpVtbl->SetMaxWidth(This, maxWidth) -#define IDWriteTextLayout2_SetMaxHeight(This, maxHeight) (This)->lpVtbl->SetMaxHeight(This, maxHeight) -#define IDWriteTextLayout2_SetFontCollection(This, collection, range) (This)->lpVtbl->SetFontCollection(This, collection, range) -#define IDWriteTextLayout2_SetFontFamilyName(This, name, range) (This)->lpVtbl->SetFontFamilyName(This, name, range) -#define IDWriteTextLayout2_SetFontWeight(This, weight, range) (This)->lpVtbl->SetFontWeight(This, weight, range) -#define IDWriteTextLayout2_SetFontStyle(This, style, range) (This)->lpVtbl->SetFontStyle(This, style, range) -#define IDWriteTextLayout2_SetFontStretch(This, stretch, range) (This)->lpVtbl->SetFontStretch(This, stretch, range) -#define IDWriteTextLayout2_SetFontSize(This, size, range) (This)->lpVtbl->SetFontSize(This, size, range) -#define IDWriteTextLayout2_SetUnderline(This, underline, range) (This)->lpVtbl->SetUnderline(This, underline, range) -#define IDWriteTextLayout2_SetStrikethrough(This, strikethrough, range) (This)->lpVtbl->SetStrikethrough(This, strikethrough, range) -#define IDWriteTextLayout2_SetDrawingEffect(This, effect, range) (This)->lpVtbl->SetDrawingEffect(This, effect, range) -#define IDWriteTextLayout2_SetInlineObject(This, object, range) (This)->lpVtbl->SetInlineObject(This, object, range) -#define IDWriteTextLayout2_SetTypography(This, typography, range) (This)->lpVtbl->SetTypography(This, typography, range) -#define IDWriteTextLayout2_SetLocaleName(This, locale, range) (This)->lpVtbl->SetLocaleName(This, locale, range) -#define IDWriteTextLayout2_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) -#define IDWriteTextLayout2_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) -#define IDWriteTextLayout2_GetFontCollection(This, pos, collection, range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range) -#define IDWriteTextLayout2_GetFontFamilyNameLength(This, pos, len, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range) -#define IDWriteTextLayout2_GetFontFamilyName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range) -#define IDWriteTextLayout2_GetFontWeight(This, position, weight, range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range) -#define IDWriteTextLayout2_GetFontStyle(This, currentPosition, style, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range) -#define IDWriteTextLayout2_GetFontStretch(This, position, stretch, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range) -#define IDWriteTextLayout2_GetFontSize(This, position, size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range) -#define IDWriteTextLayout2_GetUnderline(This, position, has_underline, range) (This)->lpVtbl->GetUnderline(This, position, has_underline, range) -#define IDWriteTextLayout2_GetStrikethrough(This, position, has_strikethrough, range) (This)->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range) -#define IDWriteTextLayout2_GetDrawingEffect(This, position, effect, range) (This)->lpVtbl->GetDrawingEffect(This, position, effect, range) -#define IDWriteTextLayout2_GetInlineObject(This, position, object, range) (This)->lpVtbl->GetInlineObject(This, position, object, range) -#define IDWriteTextLayout2_GetTypography(This, position, typography, range) (This)->lpVtbl->GetTypography(This, position, typography, range) -#define IDWriteTextLayout2_GetLocaleNameLength(This, position, length, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range) -#define IDWriteTextLayout2_GetLocaleName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range) -#define IDWriteTextLayout2_Draw(This, context, renderer, originX, originY) (This)->lpVtbl->Draw(This, context, renderer, originX, originY) -#define IDWriteTextLayout2_GetLineMetrics(This, metrics, max_count, actual_count) (This)->lpVtbl->GetLineMetrics(This, metrics, max_count, actual_count) -#define IDWriteTextLayout2_GetOverhangMetrics(This, overhangs) (This)->lpVtbl->GetOverhangMetrics(This, overhangs) -#define IDWriteTextLayout2_GetClusterMetrics(This, metrics, max_count, act_count) (This)->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count) -#define IDWriteTextLayout2_DetermineMinWidth(This, min_width) (This)->lpVtbl->DetermineMinWidth(This, min_width) -#define IDWriteTextLayout2_HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) (This)->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) -#define IDWriteTextLayout2_HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) (This)->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) -#define IDWriteTextLayout2_HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) (This)->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) -/*** IDWriteTextLayout1 methods ***/ -#define IDWriteTextLayout2_SetPairKerning(This, is_pairkerning_enabled, range) (This)->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range) -#define IDWriteTextLayout2_GetPairKerning(This, position, is_pairkerning_enabled, range) (This)->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range) -#define IDWriteTextLayout2_SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) -#define IDWriteTextLayout2_GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) -/*** IDWriteTextLayout2 methods ***/ -#define IDWriteTextLayout2_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics) -#define IDWriteTextLayout2_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation) -#define IDWriteTextLayout2_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) -#define IDWriteTextLayout2_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled) -#define IDWriteTextLayout2_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) -#define IDWriteTextLayout2_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment) -#define IDWriteTextLayout2_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) -#define IDWriteTextLayout2_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback) -#define IDWriteTextLayout2_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextLayout2_QueryInterface(IDWriteTextLayout2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextLayout2_AddRef(IDWriteTextLayout2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextLayout2_Release(IDWriteTextLayout2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextLayout2_SetTextAlignment(IDWriteTextLayout2* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout2_SetParagraphAlignment(IDWriteTextLayout2* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout2_SetWordWrapping(IDWriteTextLayout2* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextLayout2_SetReadingDirection(IDWriteTextLayout2* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout2_SetFlowDirection(IDWriteTextLayout2* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout2_SetIncrementalTabStop(IDWriteTextLayout2* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextLayout2_SetTrimming(IDWriteTextLayout2* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline HRESULT IDWriteTextLayout2_SetLineSpacing(IDWriteTextLayout2* This, DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline) { - return This->lpVtbl->SetLineSpacing(This, spacing, line_spacing, baseline); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout2_GetTextAlignment(IDWriteTextLayout2* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout2_GetParagraphAlignment(IDWriteTextLayout2* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextLayout2_GetWordWrapping(IDWriteTextLayout2* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextLayout2_GetReadingDirection(IDWriteTextLayout2* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout2_GetFlowDirection(IDWriteTextLayout2* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextLayout2_GetIncrementalTabStop(IDWriteTextLayout2* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextLayout2_GetTrimming(IDWriteTextLayout2* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -static inline HRESULT IDWriteTextLayout2_GetLineSpacing(IDWriteTextLayout2* This, DWRITE_LINE_SPACING_METHOD* method, FLOAT* spacing, FLOAT* baseline) { - return This->lpVtbl->GetLineSpacing(This, method, spacing, baseline); -} -/*** IDWriteTextLayout methods ***/ -static inline HRESULT IDWriteTextLayout2_SetMaxWidth(IDWriteTextLayout2* This, FLOAT maxWidth) { - return This->lpVtbl->SetMaxWidth(This, maxWidth); -} -static inline HRESULT IDWriteTextLayout2_SetMaxHeight(IDWriteTextLayout2* This, FLOAT maxHeight) { - return This->lpVtbl->SetMaxHeight(This, maxHeight); -} -static inline HRESULT IDWriteTextLayout2_SetFontCollection(IDWriteTextLayout2* This, IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontCollection(This, collection, range); -} -static inline HRESULT IDWriteTextLayout2_SetFontFamilyName(IDWriteTextLayout2* This, const WCHAR* name, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontFamilyName(This, name, range); -} -static inline HRESULT IDWriteTextLayout2_SetFontWeight(IDWriteTextLayout2* This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontWeight(This, weight, range); -} -static inline HRESULT IDWriteTextLayout2_SetFontStyle(IDWriteTextLayout2* This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStyle(This, style, range); -} -static inline HRESULT IDWriteTextLayout2_SetFontStretch(IDWriteTextLayout2* This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStretch(This, stretch, range); -} -static inline HRESULT IDWriteTextLayout2_SetFontSize(IDWriteTextLayout2* This, FLOAT size, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontSize(This, size, range); -} -static inline HRESULT IDWriteTextLayout2_SetUnderline(IDWriteTextLayout2* This, WINBOOL underline, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetUnderline(This, underline, range); -} -static inline HRESULT IDWriteTextLayout2_SetStrikethrough(IDWriteTextLayout2* This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetStrikethrough(This, strikethrough, range); -} -static inline HRESULT IDWriteTextLayout2_SetDrawingEffect(IDWriteTextLayout2* This, IUnknown* effect, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetDrawingEffect(This, effect, range); -} -static inline HRESULT IDWriteTextLayout2_SetInlineObject(IDWriteTextLayout2* This, IDWriteInlineObject* object, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetInlineObject(This, object, range); -} -static inline HRESULT IDWriteTextLayout2_SetTypography(IDWriteTextLayout2* This, IDWriteTypography* typography, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetTypography(This, typography, range); -} -static inline HRESULT IDWriteTextLayout2_SetLocaleName(IDWriteTextLayout2* This, const WCHAR* locale, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetLocaleName(This, locale, range); -} -static inline FLOAT IDWriteTextLayout2_GetMaxWidth(IDWriteTextLayout2* This) { - return This->lpVtbl->GetMaxWidth(This); -} -static inline FLOAT IDWriteTextLayout2_GetMaxHeight(IDWriteTextLayout2* This) { - return This->lpVtbl->GetMaxHeight(This); -} -static inline HRESULT IDWriteTextLayout2_GetFontCollection(IDWriteTextLayout2* This, UINT32 pos, IDWriteFontCollection** collection, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range); -} -static inline HRESULT IDWriteTextLayout2_GetFontFamilyNameLength(IDWriteTextLayout2* This, UINT32 pos, UINT32* len, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range); -} -static inline HRESULT IDWriteTextLayout2_GetFontFamilyName(IDWriteTextLayout2* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout2_GetFontWeight(IDWriteTextLayout2* This, UINT32 position, DWRITE_FONT_WEIGHT* weight, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range); -} -static inline HRESULT IDWriteTextLayout2_GetFontStyle(IDWriteTextLayout2* This, UINT32 currentPosition, DWRITE_FONT_STYLE* style, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range); -} -static inline HRESULT IDWriteTextLayout2_GetFontStretch(IDWriteTextLayout2* This, UINT32 position, DWRITE_FONT_STRETCH* stretch, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range); -} -static inline HRESULT IDWriteTextLayout2_GetFontSize(IDWriteTextLayout2* This, UINT32 position, FLOAT* size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range); -} -static inline HRESULT IDWriteTextLayout2_GetUnderline(IDWriteTextLayout2* This, UINT32 position, WINBOOL* has_underline, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetUnderline(This, position, has_underline, range); -} -static inline HRESULT IDWriteTextLayout2_GetStrikethrough(IDWriteTextLayout2* This, UINT32 position, WINBOOL* has_strikethrough, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range); -} -static inline HRESULT IDWriteTextLayout2_GetDrawingEffect(IDWriteTextLayout2* This, UINT32 position, IUnknown** effect, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetDrawingEffect(This, position, effect, range); -} -static inline HRESULT IDWriteTextLayout2_GetInlineObject(IDWriteTextLayout2* This, UINT32 position, IDWriteInlineObject** object, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetInlineObject(This, position, object, range); -} -static inline HRESULT IDWriteTextLayout2_GetTypography(IDWriteTextLayout2* This, UINT32 position, IDWriteTypography** typography, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetTypography(This, position, typography, range); -} -static inline HRESULT IDWriteTextLayout2_GetLocaleNameLength(IDWriteTextLayout2* This, UINT32 position, UINT32* length, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range); -} -static inline HRESULT IDWriteTextLayout2_GetLocaleName(IDWriteTextLayout2* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout2_Draw(IDWriteTextLayout2* This, void* context, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY) { - return This->lpVtbl->Draw(This, context, renderer, originX, originY); -} -static inline HRESULT IDWriteTextLayout2_GetLineMetrics(IDWriteTextLayout2* This, DWRITE_LINE_METRICS* metrics, UINT32 max_count, UINT32* actual_count) { - return This->lpVtbl->GetLineMetrics(This, metrics, max_count, actual_count); -} -static inline HRESULT IDWriteTextLayout2_GetOverhangMetrics(IDWriteTextLayout2* This, DWRITE_OVERHANG_METRICS* overhangs) { - return This->lpVtbl->GetOverhangMetrics(This, overhangs); -} -static inline HRESULT IDWriteTextLayout2_GetClusterMetrics(IDWriteTextLayout2* This, DWRITE_CLUSTER_METRICS* metrics, UINT32 max_count, UINT32* act_count) { - return This->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count); -} -static inline HRESULT IDWriteTextLayout2_DetermineMinWidth(IDWriteTextLayout2* This, FLOAT* min_width) { - return This->lpVtbl->DetermineMinWidth(This, min_width); -} -static inline HRESULT IDWriteTextLayout2_HitTestPoint(IDWriteTextLayout2* This, FLOAT pointX, FLOAT pointY, WINBOOL* is_trailinghit, WINBOOL* is_inside, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics); -} -static inline HRESULT IDWriteTextLayout2_HitTestTextPosition(IDWriteTextLayout2* This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics); -} -static inline HRESULT IDWriteTextLayout2_HitTestTextRange(IDWriteTextLayout2* This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* metrics, UINT32 max_metricscount, UINT32* actual_metricscount) { - return This->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount); -} -/*** IDWriteTextLayout1 methods ***/ -static inline HRESULT IDWriteTextLayout2_SetPairKerning(IDWriteTextLayout2* This, WINBOOL is_pairkerning_enabled, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range); -} -static inline HRESULT IDWriteTextLayout2_GetPairKerning(IDWriteTextLayout2* This, UINT32 position, WINBOOL* is_pairkerning_enabled, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range); -} -static inline HRESULT IDWriteTextLayout2_SetCharacterSpacing(IDWriteTextLayout2* This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT minimum_advance_width, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range); -} -static inline HRESULT IDWriteTextLayout2_GetCharacterSpacing(IDWriteTextLayout2* This, UINT32 position, FLOAT* leading_spacing, FLOAT* trailing_spacing, FLOAT* minimum_advance_width, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range); -} -/*** IDWriteTextLayout2 methods ***/ -static inline HRESULT IDWriteTextLayout2_GetMetrics(IDWriteTextLayout2* This, DWRITE_TEXT_METRICS1* metrics) { - return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteTextLayout2_SetVerticalGlyphOrientation(IDWriteTextLayout2* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { - return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation); -} -static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout2_GetVerticalGlyphOrientation(IDWriteTextLayout2* This) { - return This->lpVtbl->GetVerticalGlyphOrientation(This); -} -static inline HRESULT IDWriteTextLayout2_SetLastLineWrapping(IDWriteTextLayout2* This, WINBOOL lastline_wrapping_enabled) { - return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled); -} -static inline WINBOOL IDWriteTextLayout2_GetLastLineWrapping(IDWriteTextLayout2* This) { - return This->lpVtbl->GetLastLineWrapping(This); -} -static inline HRESULT IDWriteTextLayout2_SetOpticalAlignment(IDWriteTextLayout2* This, DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This, alignment); -} -static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout2_GetOpticalAlignment(IDWriteTextLayout2* This) { - return This->lpVtbl->GetOpticalAlignment(This); -} -static inline HRESULT IDWriteTextLayout2_SetFontFallback(IDWriteTextLayout2* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->SetFontFallback(This, fallback); -} -static inline HRESULT IDWriteTextLayout2_GetFontFallback(IDWriteTextLayout2* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetFontFallback(This, fallback); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextLayout2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextAnalyzer2 interface - */ -#ifndef __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ -#define __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextAnalyzer2, 0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("553a9ff3-5693-4df7-b52b-74806f7f2eb9") -IDWriteTextAnalyzer2 : public IDWriteTextAnalyzer1 { - virtual HRESULT STDMETHODCALLTYPE GetGlyphOrientationTransform( - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - WINBOOL is_sideways, - FLOAT originX, - FLOAT originY, - DWRITE_MATRIX * transform) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypographicFeatures( - IDWriteFontFace * fontface, - DWRITE_SCRIPT_ANALYSIS analysis, - const WCHAR* localeName, - UINT32 max_tagcount, - UINT32* actual_tagcount, - DWRITE_FONT_FEATURE_TAG* tags) = 0; - - virtual HRESULT STDMETHODCALLTYPE CheckTypographicFeature( - IDWriteFontFace * fontface, - DWRITE_SCRIPT_ANALYSIS analysis, - const WCHAR* localeName, - DWRITE_FONT_FEATURE_TAG feature, - UINT32 glyph_count, - const UINT16* indices, - UINT8* feature_applies) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextAnalyzer2, 0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9) -#endif -#else -typedef struct IDWriteTextAnalyzer2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextAnalyzer2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextAnalyzer2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextAnalyzer2* This); - - /*** IDWriteTextAnalyzer methods ***/ - HRESULT(STDMETHODCALLTYPE* AnalyzeScript)( - IDWriteTextAnalyzer2* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* AnalyzeBidi)( - IDWriteTextAnalyzer2* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* AnalyzeNumberSubstitution)( - IDWriteTextAnalyzer2* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* AnalyzeLineBreakpoints)( - IDWriteTextAnalyzer2* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink* sink); - - HRESULT(STDMETHODCALLTYPE* GetGlyphs)( - IDWriteTextAnalyzer2* This, - const WCHAR* text, - UINT32 length, - IDWriteFontFace* font_face, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - IDWriteNumberSubstitution* substitution, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* 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(STDMETHODCALLTYPE* GetGlyphPlacements)( - IDWriteTextAnalyzer2* This, - const WCHAR* text, - const UINT16* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - const UINT16* glyph_indices, - const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, - UINT32 glyph_count, - IDWriteFontFace* font_face, - FLOAT fontEmSize, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* feature_range_len, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphPlacements)( - IDWriteTextAnalyzer2* This, - const WCHAR* text, - const UINT16* clustermap, - DWRITE_SHAPING_TEXT_PROPERTIES* props, - UINT32 text_len, - const UINT16* glyph_indices, - const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, - UINT32 glyph_count, - IDWriteFontFace* font_face, - FLOAT fontEmSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - WINBOOL is_rtl, - const DWRITE_SCRIPT_ANALYSIS* analysis, - const WCHAR* locale, - const DWRITE_TYPOGRAPHIC_FEATURES** features, - const UINT32* feature_range_lengths, - UINT32 feature_ranges, - FLOAT* glyph_advances, - DWRITE_GLYPH_OFFSET* glyph_offsets); - - /*** IDWriteTextAnalyzer1 methods ***/ - HRESULT(STDMETHODCALLTYPE* ApplyCharacterSpacing)( - IDWriteTextAnalyzer2* This, - FLOAT leading_spacing, - FLOAT trailing_spacing, - FLOAT min_advance_width, - UINT32 len, - UINT32 glyph_count, - const UINT16* clustermap, - const FLOAT* advances, - const DWRITE_GLYPH_OFFSET* offsets, - const DWRITE_SHAPING_GLYPH_PROPERTIES* props, - FLOAT* modified_advances, - DWRITE_GLYPH_OFFSET* modified_offsets); - - HRESULT(STDMETHODCALLTYPE* GetBaseline)( - IDWriteTextAnalyzer2* This, - IDWriteFontFace* face, - DWRITE_BASELINE baseline, - WINBOOL vertical, - WINBOOL is_simulation_allowed, - DWRITE_SCRIPT_ANALYSIS sa, - const WCHAR* localeName, - INT32* baseline_coord, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* AnalyzeVerticalGlyphOrientation)( - IDWriteTextAnalyzer2* This, - IDWriteTextAnalysisSource1* source, - UINT32 text_pos, - UINT32 len, - IDWriteTextAnalysisSink1* sink); - - HRESULT(STDMETHODCALLTYPE* GetGlyphOrientationTransform)( - IDWriteTextAnalyzer2* This, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - WINBOOL is_sideways, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetScriptProperties)( - IDWriteTextAnalyzer2* This, - DWRITE_SCRIPT_ANALYSIS sa, - DWRITE_SCRIPT_PROPERTIES* props); - - HRESULT(STDMETHODCALLTYPE* GetTextComplexity)( - IDWriteTextAnalyzer2* This, - const WCHAR* text, - UINT32 len, - IDWriteFontFace* face, - WINBOOL* is_simple, - UINT32* len_read, - UINT16* indices); - - HRESULT(STDMETHODCALLTYPE* GetJustificationOpportunities)( - IDWriteTextAnalyzer2* This, - IDWriteFontFace* face, - FLOAT font_em_size, - DWRITE_SCRIPT_ANALYSIS sa, - UINT32 length, - UINT32 glyph_count, - const WCHAR* text, - const UINT16* clustermap, - const DWRITE_SHAPING_GLYPH_PROPERTIES* prop, - DWRITE_JUSTIFICATION_OPPORTUNITY* jo); - - HRESULT(STDMETHODCALLTYPE* JustifyGlyphAdvances)( - IDWriteTextAnalyzer2* This, - FLOAT width, - UINT32 glyph_count, - const DWRITE_JUSTIFICATION_OPPORTUNITY* jo, - const FLOAT* advances, - const DWRITE_GLYPH_OFFSET* offsets, - FLOAT* justifiedadvances, - DWRITE_GLYPH_OFFSET* justifiedoffsets); - - HRESULT(STDMETHODCALLTYPE* GetJustifiedGlyphs)( - IDWriteTextAnalyzer2* This, - IDWriteFontFace* face, - FLOAT font_em_size, - DWRITE_SCRIPT_ANALYSIS sa, - UINT32 length, - UINT32 glyph_count, - UINT32 max_glyphcount, - const UINT16* clustermap, - const UINT16* indices, - const FLOAT* advances, - const FLOAT* justifiedadvances, - const DWRITE_GLYPH_OFFSET* justifiedoffsets, - const DWRITE_SHAPING_GLYPH_PROPERTIES* prop, - UINT32* actual_count, - UINT16* modified_clustermap, - UINT16* modified_indices, - FLOAT* modified_advances, - DWRITE_GLYPH_OFFSET* modified_offsets); - - /*** IDWriteTextAnalyzer2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextAnalyzer2_GetGlyphOrientationTransform)( - IDWriteTextAnalyzer2* This, - DWRITE_GLYPH_ORIENTATION_ANGLE angle, - WINBOOL is_sideways, - FLOAT originX, - FLOAT originY, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetTypographicFeatures)( - IDWriteTextAnalyzer2* This, - IDWriteFontFace* fontface, - DWRITE_SCRIPT_ANALYSIS analysis, - const WCHAR* localeName, - UINT32 max_tagcount, - UINT32* actual_tagcount, - DWRITE_FONT_FEATURE_TAG* tags); - - HRESULT(STDMETHODCALLTYPE* CheckTypographicFeature)( - IDWriteTextAnalyzer2* This, - IDWriteFontFace* fontface, - DWRITE_SCRIPT_ANALYSIS analysis, - const WCHAR* localeName, - DWRITE_FONT_FEATURE_TAG feature, - UINT32 glyph_count, - const UINT16* indices, - UINT8* feature_applies); - - END_INTERFACE -} IDWriteTextAnalyzer2Vtbl; - -interface IDWriteTextAnalyzer2 { - CONST_VTBL IDWriteTextAnalyzer2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextAnalyzer2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextAnalyzer2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextAnalyzer2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextAnalyzer methods ***/ -#define IDWriteTextAnalyzer2_AnalyzeScript(This, source, position, length, sink) (This)->lpVtbl->AnalyzeScript(This, source, position, length, sink) -#define IDWriteTextAnalyzer2_AnalyzeBidi(This, source, position, length, sink) (This)->lpVtbl->AnalyzeBidi(This, source, position, length, sink) -#define IDWriteTextAnalyzer2_AnalyzeNumberSubstitution(This, source, position, length, sink) (This)->lpVtbl->AnalyzeNumberSubstitution(This, source, position, length, sink) -#define IDWriteTextAnalyzer2_AnalyzeLineBreakpoints(This, source, position, length, sink) (This)->lpVtbl->AnalyzeLineBreakpoints(This, source, position, length, sink) -#define IDWriteTextAnalyzer2_GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count) (This)->lpVtbl->GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count) -#define IDWriteTextAnalyzer2_GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets) (This)->lpVtbl->GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets) -#define IDWriteTextAnalyzer2_GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets) (This)->lpVtbl->GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets) -/*** IDWriteTextAnalyzer1 methods ***/ -#define IDWriteTextAnalyzer2_ApplyCharacterSpacing(This, leading_spacing, trailing_spacing, min_advance_width, len, glyph_count, clustermap, advances, offsets, props, modified_advances, modified_offsets) (This)->lpVtbl->ApplyCharacterSpacing(This, leading_spacing, trailing_spacing, min_advance_width, len, glyph_count, clustermap, advances, offsets, props, modified_advances, modified_offsets) -#define IDWriteTextAnalyzer2_GetBaseline(This, face, baseline, vertical, is_simulation_allowed, sa, localeName, baseline_coord, exists) (This)->lpVtbl->GetBaseline(This, face, baseline, vertical, is_simulation_allowed, sa, localeName, baseline_coord, exists) -#define IDWriteTextAnalyzer2_AnalyzeVerticalGlyphOrientation(This, source, text_pos, len, sink) (This)->lpVtbl->AnalyzeVerticalGlyphOrientation(This, source, text_pos, len, sink) -#define IDWriteTextAnalyzer2_GetScriptProperties(This, sa, props) (This)->lpVtbl->GetScriptProperties(This, sa, props) -#define IDWriteTextAnalyzer2_GetTextComplexity(This, text, len, face, is_simple, len_read, indices) (This)->lpVtbl->GetTextComplexity(This, text, len, face, is_simple, len_read, indices) -#define IDWriteTextAnalyzer2_GetJustificationOpportunities(This, face, font_em_size, sa, length, glyph_count, text, clustermap, prop, jo) (This)->lpVtbl->GetJustificationOpportunities(This, face, font_em_size, sa, length, glyph_count, text, clustermap, prop, jo) -#define IDWriteTextAnalyzer2_JustifyGlyphAdvances(This, width, glyph_count, jo, advances, offsets, justifiedadvances, justifiedoffsets) (This)->lpVtbl->JustifyGlyphAdvances(This, width, glyph_count, jo, advances, offsets, justifiedadvances, justifiedoffsets) -#define IDWriteTextAnalyzer2_GetJustifiedGlyphs(This, face, font_em_size, sa, length, glyph_count, max_glyphcount, clustermap, indices, advances, justifiedadvances, justifiedoffsets, prop, actual_count, modified_clustermap, modified_indices, modified_advances, modified_offsets) (This)->lpVtbl->GetJustifiedGlyphs(This, face, font_em_size, sa, length, glyph_count, max_glyphcount, clustermap, indices, advances, justifiedadvances, justifiedoffsets, prop, actual_count, modified_clustermap, modified_indices, modified_advances, modified_offsets) -/*** IDWriteTextAnalyzer2 methods ***/ -#define IDWriteTextAnalyzer2_GetGlyphOrientationTransform(This, angle, is_sideways, originX, originY, transform) (This)->lpVtbl->IDWriteTextAnalyzer2_GetGlyphOrientationTransform(This, angle, is_sideways, originX, originY, transform) -#define IDWriteTextAnalyzer2_GetTypographicFeatures(This, fontface, analysis, localeName, max_tagcount, actual_tagcount, tags) (This)->lpVtbl->GetTypographicFeatures(This, fontface, analysis, localeName, max_tagcount, actual_tagcount, tags) -#define IDWriteTextAnalyzer2_CheckTypographicFeature(This, fontface, analysis, localeName, feature, glyph_count, indices, feature_applies) (This)->lpVtbl->CheckTypographicFeature(This, fontface, analysis, localeName, feature, glyph_count, indices, feature_applies) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextAnalyzer2_QueryInterface(IDWriteTextAnalyzer2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextAnalyzer2_AddRef(IDWriteTextAnalyzer2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextAnalyzer2_Release(IDWriteTextAnalyzer2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextAnalyzer methods ***/ -static inline HRESULT IDWriteTextAnalyzer2_AnalyzeScript(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeScript(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer2_AnalyzeBidi(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeBidi(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer2_AnalyzeNumberSubstitution(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeNumberSubstitution(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer2_AnalyzeLineBreakpoints(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - return This->lpVtbl->AnalyzeLineBreakpoints(This, source, position, length, sink); -} -static inline HRESULT IDWriteTextAnalyzer2_GetGlyphs(IDWriteTextAnalyzer2* This, const WCHAR* text, UINT32 length, IDWriteFontFace* font_face, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, IDWriteNumberSubstitution* substitution, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* 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) { - return This->lpVtbl->GetGlyphs(This, text, length, font_face, is_sideways, is_rtl, analysis, locale, substitution, features, feature_range_len, feature_ranges, max_glyph_count, clustermap, text_props, glyph_indices, glyph_props, actual_glyph_count); -} -static inline HRESULT IDWriteTextAnalyzer2_GetGlyphPlacements(IDWriteTextAnalyzer2* This, const WCHAR* text, const UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* props, UINT32 text_len, const UINT16* glyph_indices, const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32 glyph_count, IDWriteFontFace* font_face, FLOAT fontEmSize, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_len, UINT32 feature_ranges, FLOAT* glyph_advances, DWRITE_GLYPH_OFFSET* glyph_offsets) { - return This->lpVtbl->GetGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, is_sideways, is_rtl, analysis, locale, features, feature_range_len, feature_ranges, glyph_advances, glyph_offsets); -} -static inline HRESULT IDWriteTextAnalyzer2_GetGdiCompatibleGlyphPlacements(IDWriteTextAnalyzer2* This, const WCHAR* text, const UINT16* clustermap, DWRITE_SHAPING_TEXT_PROPERTIES* props, UINT32 text_len, const UINT16* glyph_indices, const DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, UINT32 glyph_count, IDWriteFontFace* font_face, FLOAT fontEmSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, WINBOOL is_rtl, const DWRITE_SCRIPT_ANALYSIS* analysis, const WCHAR* locale, const DWRITE_TYPOGRAPHIC_FEATURES** features, const UINT32* feature_range_lengths, UINT32 feature_ranges, FLOAT* glyph_advances, DWRITE_GLYPH_OFFSET* glyph_offsets) { - return This->lpVtbl->GetGdiCompatibleGlyphPlacements(This, text, clustermap, props, text_len, glyph_indices, glyph_props, glyph_count, font_face, fontEmSize, pixels_per_dip, transform, use_gdi_natural, is_sideways, is_rtl, analysis, locale, features, feature_range_lengths, feature_ranges, glyph_advances, glyph_offsets); -} -/*** IDWriteTextAnalyzer1 methods ***/ -static inline HRESULT IDWriteTextAnalyzer2_ApplyCharacterSpacing(IDWriteTextAnalyzer2* This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT min_advance_width, UINT32 len, UINT32 glyph_count, const UINT16* clustermap, const FLOAT* advances, const DWRITE_GLYPH_OFFSET* offsets, const DWRITE_SHAPING_GLYPH_PROPERTIES* props, FLOAT* modified_advances, DWRITE_GLYPH_OFFSET* modified_offsets) { - return This->lpVtbl->ApplyCharacterSpacing(This, leading_spacing, trailing_spacing, min_advance_width, len, glyph_count, clustermap, advances, offsets, props, modified_advances, modified_offsets); -} -static inline HRESULT IDWriteTextAnalyzer2_GetBaseline(IDWriteTextAnalyzer2* This, IDWriteFontFace* face, DWRITE_BASELINE baseline, WINBOOL vertical, WINBOOL is_simulation_allowed, DWRITE_SCRIPT_ANALYSIS sa, const WCHAR* localeName, INT32* baseline_coord, WINBOOL* exists) { - return This->lpVtbl->GetBaseline(This, face, baseline, vertical, is_simulation_allowed, sa, localeName, baseline_coord, exists); -} -static inline HRESULT IDWriteTextAnalyzer2_AnalyzeVerticalGlyphOrientation(IDWriteTextAnalyzer2* This, IDWriteTextAnalysisSource1* source, UINT32 text_pos, UINT32 len, IDWriteTextAnalysisSink1* sink) { - return This->lpVtbl->AnalyzeVerticalGlyphOrientation(This, source, text_pos, len, sink); -} -static inline HRESULT IDWriteTextAnalyzer2_GetScriptProperties(IDWriteTextAnalyzer2* This, DWRITE_SCRIPT_ANALYSIS sa, DWRITE_SCRIPT_PROPERTIES* props) { - return This->lpVtbl->GetScriptProperties(This, sa, props); -} -static inline HRESULT IDWriteTextAnalyzer2_GetTextComplexity(IDWriteTextAnalyzer2* This, const WCHAR* text, UINT32 len, IDWriteFontFace* face, WINBOOL* is_simple, UINT32* len_read, UINT16* indices) { - return This->lpVtbl->GetTextComplexity(This, text, len, face, is_simple, len_read, indices); -} -static inline HRESULT IDWriteTextAnalyzer2_GetJustificationOpportunities(IDWriteTextAnalyzer2* This, IDWriteFontFace* face, FLOAT font_em_size, DWRITE_SCRIPT_ANALYSIS sa, UINT32 length, UINT32 glyph_count, const WCHAR* text, const UINT16* clustermap, const DWRITE_SHAPING_GLYPH_PROPERTIES* prop, DWRITE_JUSTIFICATION_OPPORTUNITY* jo) { - return This->lpVtbl->GetJustificationOpportunities(This, face, font_em_size, sa, length, glyph_count, text, clustermap, prop, jo); -} -static inline HRESULT IDWriteTextAnalyzer2_JustifyGlyphAdvances(IDWriteTextAnalyzer2* This, FLOAT width, UINT32 glyph_count, const DWRITE_JUSTIFICATION_OPPORTUNITY* jo, const FLOAT* advances, const DWRITE_GLYPH_OFFSET* offsets, FLOAT* justifiedadvances, DWRITE_GLYPH_OFFSET* justifiedoffsets) { - return This->lpVtbl->JustifyGlyphAdvances(This, width, glyph_count, jo, advances, offsets, justifiedadvances, justifiedoffsets); -} -static inline HRESULT IDWriteTextAnalyzer2_GetJustifiedGlyphs(IDWriteTextAnalyzer2* This, IDWriteFontFace* face, FLOAT font_em_size, DWRITE_SCRIPT_ANALYSIS sa, UINT32 length, UINT32 glyph_count, UINT32 max_glyphcount, const UINT16* clustermap, const UINT16* indices, const FLOAT* advances, const FLOAT* justifiedadvances, const DWRITE_GLYPH_OFFSET* justifiedoffsets, const DWRITE_SHAPING_GLYPH_PROPERTIES* prop, UINT32* actual_count, UINT16* modified_clustermap, UINT16* modified_indices, FLOAT* modified_advances, DWRITE_GLYPH_OFFSET* modified_offsets) { - return This->lpVtbl->GetJustifiedGlyphs(This, face, font_em_size, sa, length, glyph_count, max_glyphcount, clustermap, indices, advances, justifiedadvances, justifiedoffsets, prop, actual_count, modified_clustermap, modified_indices, modified_advances, modified_offsets); -} -/*** IDWriteTextAnalyzer2 methods ***/ -static inline HRESULT IDWriteTextAnalyzer2_GetGlyphOrientationTransform(IDWriteTextAnalyzer2* This, DWRITE_GLYPH_ORIENTATION_ANGLE angle, WINBOOL is_sideways, FLOAT originX, FLOAT originY, DWRITE_MATRIX* transform) { - return This->lpVtbl->IDWriteTextAnalyzer2_GetGlyphOrientationTransform(This, angle, is_sideways, originX, originY, transform); -} -static inline HRESULT IDWriteTextAnalyzer2_GetTypographicFeatures(IDWriteTextAnalyzer2* This, IDWriteFontFace* fontface, DWRITE_SCRIPT_ANALYSIS analysis, const WCHAR* localeName, UINT32 max_tagcount, UINT32* actual_tagcount, DWRITE_FONT_FEATURE_TAG* tags) { - return This->lpVtbl->GetTypographicFeatures(This, fontface, analysis, localeName, max_tagcount, actual_tagcount, tags); -} -static inline HRESULT IDWriteTextAnalyzer2_CheckTypographicFeature(IDWriteTextAnalyzer2* This, IDWriteFontFace* fontface, DWRITE_SCRIPT_ANALYSIS analysis, const WCHAR* localeName, DWRITE_FONT_FEATURE_TAG feature, UINT32 glyph_count, const UINT16* indices, UINT8* feature_applies) { - return This->lpVtbl->CheckTypographicFeature(This, fontface, analysis, localeName, feature, glyph_count, indices, feature_applies); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFallbackBuilder interface - */ -#ifndef __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ -#define __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFallbackBuilder, 0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("fd882d06-8aba-4fb8-b849-8be8b73e14de") -IDWriteFontFallbackBuilder : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE AddMapping( - const DWRITE_UNICODE_RANGE* ranges, - UINT32 rangesCount, - const WCHAR** targetFamilyNames, - UINT32 targetFamilyNamesCount, - IDWriteFontCollection* collection = 0, - const WCHAR* localeName = 0, - const WCHAR* baseFamilyName = 0, - FLOAT scale = 1) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddMappings( - IDWriteFontFallback * fallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFallback( - IDWriteFontFallback * *fallback) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFallbackBuilder, 0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde) -#endif -#else -typedef struct IDWriteFontFallbackBuilderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFallbackBuilder* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFallbackBuilder* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFallbackBuilder* This); - - /*** IDWriteFontFallbackBuilder methods ***/ - HRESULT(STDMETHODCALLTYPE* AddMapping)( - IDWriteFontFallbackBuilder* This, - const DWRITE_UNICODE_RANGE* ranges, - UINT32 rangesCount, - const WCHAR** targetFamilyNames, - UINT32 targetFamilyNamesCount, - IDWriteFontCollection* collection, - const WCHAR* localeName, - const WCHAR* baseFamilyName, - FLOAT scale); - - HRESULT(STDMETHODCALLTYPE* AddMappings)( - IDWriteFontFallbackBuilder* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallback)( - IDWriteFontFallbackBuilder* This, - IDWriteFontFallback** fallback); - - END_INTERFACE -} IDWriteFontFallbackBuilderVtbl; - -interface IDWriteFontFallbackBuilder { - CONST_VTBL IDWriteFontFallbackBuilderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFallbackBuilder_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFallbackBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFallbackBuilder_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFallbackBuilder methods ***/ -#define IDWriteFontFallbackBuilder_AddMapping(This, ranges, rangesCount, targetFamilyNames, targetFamilyNamesCount, collection, localeName, baseFamilyName, scale) (This)->lpVtbl->AddMapping(This, ranges, rangesCount, targetFamilyNames, targetFamilyNamesCount, collection, localeName, baseFamilyName, scale) -#define IDWriteFontFallbackBuilder_AddMappings(This, fallback) (This)->lpVtbl->AddMappings(This, fallback) -#define IDWriteFontFallbackBuilder_CreateFontFallback(This, fallback) (This)->lpVtbl->CreateFontFallback(This, fallback) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFallbackBuilder_QueryInterface(IDWriteFontFallbackBuilder* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFallbackBuilder_AddRef(IDWriteFontFallbackBuilder* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFallbackBuilder_Release(IDWriteFontFallbackBuilder* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFallbackBuilder methods ***/ -static inline HRESULT IDWriteFontFallbackBuilder_AddMapping(IDWriteFontFallbackBuilder* This, const DWRITE_UNICODE_RANGE* ranges, UINT32 rangesCount, const WCHAR** targetFamilyNames, UINT32 targetFamilyNamesCount, IDWriteFontCollection* collection, const WCHAR* localeName, const WCHAR* baseFamilyName, FLOAT scale) { - return This->lpVtbl->AddMapping(This, ranges, rangesCount, targetFamilyNames, targetFamilyNamesCount, collection, localeName, baseFamilyName, scale); -} -static inline HRESULT IDWriteFontFallbackBuilder_AddMappings(IDWriteFontFallbackBuilder* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->AddMappings(This, fallback); -} -static inline HRESULT IDWriteFontFallbackBuilder_CreateFontFallback(IDWriteFontFallbackBuilder* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->CreateFontFallback(This, fallback); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFont2 interface - */ -#ifndef __IDWriteFont2_INTERFACE_DEFINED__ -#define __IDWriteFont2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFont2, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") -IDWriteFont2 : public IDWriteFont1 { - virtual WINBOOL STDMETHODCALLTYPE IsColorFont() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFont2, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44) -#endif -#else -typedef struct IDWriteFont2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFont2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFont2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFont2* This); - - /*** IDWriteFont methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFont2* This, - IDWriteFontFamily** family); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFont2* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFont2* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFont2* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFont2* This); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFont2* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFont2* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFont2* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFont2* This, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFont2* This, - UINT32 value, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFont2* This, - IDWriteFontFace** face); - - /*** IDWriteFont1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFont1_GetMetrics)( - IDWriteFont2* This, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFont2* This, - DWRITE_PANOSE* panose); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFont2* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFont2* This); - - /*** IDWriteFont2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFont2* This); - - END_INTERFACE -} IDWriteFont2Vtbl; - -interface IDWriteFont2 { - CONST_VTBL IDWriteFont2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFont2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFont2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFont2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFont methods ***/ -#define IDWriteFont2_GetFontFamily(This, family) (This)->lpVtbl->GetFontFamily(This, family) -#define IDWriteFont2_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFont2_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFont2_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFont2_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFont2_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names) -#define IDWriteFont2_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFont2_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFont2_HasCharacter(This, value, exists) (This)->lpVtbl->HasCharacter(This, value, exists) -#define IDWriteFont2_CreateFontFace(This, face) (This)->lpVtbl->CreateFontFace(This, face) -/*** IDWriteFont1 methods ***/ -#define IDWriteFont2_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFont1_GetMetrics(This, metrics) -#define IDWriteFont2_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFont2_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFont2_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -/*** IDWriteFont2 methods ***/ -#define IDWriteFont2_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFont2_QueryInterface(IDWriteFont2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFont2_AddRef(IDWriteFont2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFont2_Release(IDWriteFont2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFont methods ***/ -static inline HRESULT IDWriteFont2_GetFontFamily(IDWriteFont2* This, IDWriteFontFamily** family) { - return This->lpVtbl->GetFontFamily(This, family); -} -static inline DWRITE_FONT_WEIGHT IDWriteFont2_GetWeight(IDWriteFont2* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFont2_GetStretch(IDWriteFont2* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFont2_GetStyle(IDWriteFont2* This) { - return This->lpVtbl->GetStyle(This); -} -static inline WINBOOL IDWriteFont2_IsSymbolFont(IDWriteFont2* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline HRESULT IDWriteFont2_GetFaceNames(IDWriteFont2* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFaceNames(This, names); -} -static inline HRESULT IDWriteFont2_GetInformationalStrings(IDWriteFont2* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFont2_GetSimulations(IDWriteFont2* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline HRESULT IDWriteFont2_HasCharacter(IDWriteFont2* This, UINT32 value, WINBOOL* exists) { - return This->lpVtbl->HasCharacter(This, value, exists); -} -static inline HRESULT IDWriteFont2_CreateFontFace(IDWriteFont2* This, IDWriteFontFace** face) { - return This->lpVtbl->CreateFontFace(This, face); -} -/*** IDWriteFont1 methods ***/ -static inline void IDWriteFont2_GetMetrics(IDWriteFont2* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFont1_GetMetrics(This, metrics); -} -static inline void IDWriteFont2_GetPanose(IDWriteFont2* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline HRESULT IDWriteFont2_GetUnicodeRanges(IDWriteFont2* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFont2_IsMonospacedFont(IDWriteFont2* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -/*** IDWriteFont2 methods ***/ -static inline WINBOOL IDWriteFont2_IsColorFont(IDWriteFont2* This) { - return This->lpVtbl->IsColorFont(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFont2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFace2 interface - */ -#ifndef __IDWriteFontFace2_INTERFACE_DEFINED__ -#define __IDWriteFontFace2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace2, 0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("d8b768ff-64bc-4e66-982b-ec8e87f693f7") -IDWriteFontFace2 : public IDWriteFontFace1 { - virtual WINBOOL STDMETHODCALLTYPE IsColorFont() = 0; - - virtual UINT32 STDMETHODCALLTYPE GetColorPaletteCount() = 0; - - virtual UINT32 STDMETHODCALLTYPE GetPaletteEntryCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPaletteEntries( - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F * entries) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode( - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace2, 0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7) -#endif -#else -typedef struct IDWriteFontFace2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace2* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace2* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace2* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace2* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace2* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace2* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace2* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace2* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace2* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace2* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace2* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace2* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace2* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace2* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace2* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace2* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - /*** IDWriteFontFace1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)( - IDWriteFontFace2* This, - DWRITE_FONT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)( - IDWriteFontFace2* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetCaretMetrics)( - IDWriteFontFace2* This, - DWRITE_CARET_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFontFace2* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFontFace2* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)( - IDWriteFontFace2* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)( - IDWriteFontFace2* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances); - - HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( - IDWriteFontFace2* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* adjustments); - - WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)( - IDWriteFontFace2* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)( - IDWriteFontFace2* This, - FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( - IDWriteFontFace2* This, - UINT32 glyph_count, - const UINT16* nominal_indices, - UINT16* vertical_indices); - - WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( - IDWriteFontFace2* This); - - /*** IDWriteFontFace2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFontFace2* This); - - UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( - IDWriteFontFace2* This); - - UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)( - IDWriteFontFace2* This); - - HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)( - IDWriteFontFace2* This, - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F* entries); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)( - IDWriteFontFace2* This, - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode); - - END_INTERFACE -} IDWriteFontFace2Vtbl; - -interface IDWriteFontFace2 { - CONST_VTBL IDWriteFontFace2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace2_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace2_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace2_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace2_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace2_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace2_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace2_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace2_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace2_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace2_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace2_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace2_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -/*** IDWriteFontFace1 methods ***/ -#define IDWriteFontFace2_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics) -#define IDWriteFontFace2_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) -#define IDWriteFontFace2_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics) -#define IDWriteFontFace2_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFontFace2_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -#define IDWriteFontFace2_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) -#define IDWriteFontFace2_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) -#define IDWriteFontFace2_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments) -#define IDWriteFontFace2_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) -#define IDWriteFontFace2_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) -#define IDWriteFontFace2_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) -/*** IDWriteFontFace2 methods ***/ -#define IDWriteFontFace2_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#define IDWriteFontFace2_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) -#define IDWriteFontFace2_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) -#define IDWriteFontFace2_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) -#define IDWriteFontFace2_GetRecommendedRenderingMode(This, fontEmSize, dpiX, dpiY, transform, is_sideways, threshold, measuringmode, params, renderingmode, gridfitmode) (This)->lpVtbl->IDWriteFontFace2_GetRecommendedRenderingMode(This, fontEmSize, dpiX, dpiY, transform, is_sideways, threshold, measuringmode, params, renderingmode, gridfitmode) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace2_QueryInterface(IDWriteFontFace2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace2_AddRef(IDWriteFontFace2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace2_Release(IDWriteFontFace2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace2_GetType(IDWriteFontFace2* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace2_GetFiles(IDWriteFontFace2* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace2_GetIndex(IDWriteFontFace2* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace2_GetSimulations(IDWriteFontFace2* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace2_IsSymbolFont(IDWriteFontFace2* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline UINT16 IDWriteFontFace2_GetGlyphCount(IDWriteFontFace2* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace2_GetDesignGlyphMetrics(IDWriteFontFace2* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace2_GetGlyphIndices(IDWriteFontFace2* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace2_TryGetFontTable(IDWriteFontFace2* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace2_ReleaseFontTable(IDWriteFontFace2* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace2_GetGlyphRunOutline(IDWriteFontFace2* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace2_GetGdiCompatibleGlyphMetrics(IDWriteFontFace2* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -/*** IDWriteFontFace1 methods ***/ -static inline void IDWriteFontFace2_GetMetrics(IDWriteFontFace2* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace2_GetGdiCompatibleMetrics(IDWriteFontFace2* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) { - return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics); -} -static inline void IDWriteFontFace2_GetCaretMetrics(IDWriteFontFace2* This, DWRITE_CARET_METRICS* metrics) { - This->lpVtbl->GetCaretMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace2_GetUnicodeRanges(IDWriteFontFace2* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFontFace2_IsMonospacedFont(IDWriteFontFace2* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -static inline HRESULT IDWriteFontFace2_GetDesignGlyphAdvances(IDWriteFontFace2* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways); -} -static inline HRESULT IDWriteFontFace2_GetGdiCompatibleGlyphAdvances(IDWriteFontFace2* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) { - return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances); -} -static inline HRESULT IDWriteFontFace2_GetKerningPairAdjustments(IDWriteFontFace2* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) { - return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments); -} -static inline WINBOOL IDWriteFontFace2_HasKerningPairs(IDWriteFontFace2* This) { - return This->lpVtbl->HasKerningPairs(This); -} -static inline HRESULT IDWriteFontFace2_GetVerticalGlyphVariants(IDWriteFontFace2* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) { - return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices); -} -static inline WINBOOL IDWriteFontFace2_HasVerticalGlyphVariants(IDWriteFontFace2* This) { - return This->lpVtbl->HasVerticalGlyphVariants(This); -} -/*** IDWriteFontFace2 methods ***/ -static inline WINBOOL IDWriteFontFace2_IsColorFont(IDWriteFontFace2* This) { - return This->lpVtbl->IsColorFont(This); -} -static inline UINT32 IDWriteFontFace2_GetColorPaletteCount(IDWriteFontFace2* This) { - return This->lpVtbl->GetColorPaletteCount(This); -} -static inline UINT32 IDWriteFontFace2_GetPaletteEntryCount(IDWriteFontFace2* This) { - return This->lpVtbl->GetPaletteEntryCount(This); -} -static inline HRESULT IDWriteFontFace2_GetPaletteEntries(IDWriteFontFace2* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) { - return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries); -} -static inline HRESULT IDWriteFontFace2_GetRecommendedRenderingMode(IDWriteFontFace2* This, FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuringmode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE* renderingmode, DWRITE_GRID_FIT_MODE* gridfitmode) { - return This->lpVtbl->IDWriteFontFace2_GetRecommendedRenderingMode(This, fontEmSize, dpiX, dpiY, transform, is_sideways, threshold, measuringmode, params, renderingmode, gridfitmode); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteColorGlyphRunEnumerator interface - */ -#ifndef __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ -#define __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator, 0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("d31fbe17-f157-41a2-8d24-cb779e0560e8") -IDWriteColorGlyphRunEnumerator : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE MoveNext( - WINBOOL * hasRun) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentRun( - const DWRITE_COLOR_GLYPH_RUN** run) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator, 0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8) -#endif -#else -typedef struct IDWriteColorGlyphRunEnumeratorVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteColorGlyphRunEnumerator* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteColorGlyphRunEnumerator* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteColorGlyphRunEnumerator* This); - - /*** IDWriteColorGlyphRunEnumerator methods ***/ - HRESULT(STDMETHODCALLTYPE* MoveNext)( - IDWriteColorGlyphRunEnumerator* This, - WINBOOL* hasRun); - - HRESULT(STDMETHODCALLTYPE* GetCurrentRun)( - IDWriteColorGlyphRunEnumerator* This, - const DWRITE_COLOR_GLYPH_RUN** run); - - END_INTERFACE -} IDWriteColorGlyphRunEnumeratorVtbl; - -interface IDWriteColorGlyphRunEnumerator { - CONST_VTBL IDWriteColorGlyphRunEnumeratorVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteColorGlyphRunEnumerator_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteColorGlyphRunEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteColorGlyphRunEnumerator_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteColorGlyphRunEnumerator methods ***/ -#define IDWriteColorGlyphRunEnumerator_MoveNext(This, hasRun) (This)->lpVtbl->MoveNext(This, hasRun) -#define IDWriteColorGlyphRunEnumerator_GetCurrentRun(This, run) (This)->lpVtbl->GetCurrentRun(This, run) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteColorGlyphRunEnumerator_QueryInterface(IDWriteColorGlyphRunEnumerator* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteColorGlyphRunEnumerator_AddRef(IDWriteColorGlyphRunEnumerator* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteColorGlyphRunEnumerator_Release(IDWriteColorGlyphRunEnumerator* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteColorGlyphRunEnumerator methods ***/ -static inline HRESULT IDWriteColorGlyphRunEnumerator_MoveNext(IDWriteColorGlyphRunEnumerator* This, WINBOOL* hasRun) { - return This->lpVtbl->MoveNext(This, hasRun); -} -static inline HRESULT IDWriteColorGlyphRunEnumerator_GetCurrentRun(IDWriteColorGlyphRunEnumerator* This, const DWRITE_COLOR_GLYPH_RUN** run) { - return This->lpVtbl->GetCurrentRun(This, run); -} -#endif -#endif - -#endif - -#endif /* __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteRenderingParams2 interface - */ -#ifndef __IDWriteRenderingParams2_INTERFACE_DEFINED__ -#define __IDWriteRenderingParams2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteRenderingParams2, 0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("f9d711c3-9777-40ae-87e8-3e5af9bf0948") -IDWriteRenderingParams2 : public IDWriteRenderingParams1 { - virtual DWRITE_GRID_FIT_MODE STDMETHODCALLTYPE GetGridFitMode() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteRenderingParams2, 0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48) -#endif -#else -typedef struct IDWriteRenderingParams2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteRenderingParams2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteRenderingParams2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteRenderingParams2* This); - - /*** IDWriteRenderingParams methods ***/ - FLOAT(STDMETHODCALLTYPE* GetGamma)( - IDWriteRenderingParams2* This); - - FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)( - IDWriteRenderingParams2* This); - - FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)( - IDWriteRenderingParams2* This); - - DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)( - IDWriteRenderingParams2* This); - - DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)( - IDWriteRenderingParams2* This); - - /*** IDWriteRenderingParams1 methods ***/ - FLOAT(STDMETHODCALLTYPE* GetGrayscaleEnhancedContrast)( - IDWriteRenderingParams2* This); - - /*** IDWriteRenderingParams2 methods ***/ - DWRITE_GRID_FIT_MODE(STDMETHODCALLTYPE* GetGridFitMode)( - IDWriteRenderingParams2* This); - - END_INTERFACE -} IDWriteRenderingParams2Vtbl; - -interface IDWriteRenderingParams2 { - CONST_VTBL IDWriteRenderingParams2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteRenderingParams2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteRenderingParams2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteRenderingParams2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteRenderingParams methods ***/ -#define IDWriteRenderingParams2_GetGamma(This) (This)->lpVtbl->GetGamma(This) -#define IDWriteRenderingParams2_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This) -#define IDWriteRenderingParams2_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This) -#define IDWriteRenderingParams2_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This) -#define IDWriteRenderingParams2_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This) -/*** IDWriteRenderingParams1 methods ***/ -#define IDWriteRenderingParams2_GetGrayscaleEnhancedContrast(This) (This)->lpVtbl->GetGrayscaleEnhancedContrast(This) -/*** IDWriteRenderingParams2 methods ***/ -#define IDWriteRenderingParams2_GetGridFitMode(This) (This)->lpVtbl->GetGridFitMode(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteRenderingParams2_QueryInterface(IDWriteRenderingParams2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteRenderingParams2_AddRef(IDWriteRenderingParams2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteRenderingParams2_Release(IDWriteRenderingParams2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteRenderingParams methods ***/ -static inline FLOAT IDWriteRenderingParams2_GetGamma(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetGamma(This); -} -static inline FLOAT IDWriteRenderingParams2_GetEnhancedContrast(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetEnhancedContrast(This); -} -static inline FLOAT IDWriteRenderingParams2_GetClearTypeLevel(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetClearTypeLevel(This); -} -static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams2_GetPixelGeometry(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetPixelGeometry(This); -} -static inline DWRITE_RENDERING_MODE IDWriteRenderingParams2_GetRenderingMode(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetRenderingMode(This); -} -/*** IDWriteRenderingParams1 methods ***/ -static inline FLOAT IDWriteRenderingParams2_GetGrayscaleEnhancedContrast(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetGrayscaleEnhancedContrast(This); -} -/*** IDWriteRenderingParams2 methods ***/ -static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams2_GetGridFitMode(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetGridFitMode(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteRenderingParams2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory2 interface - */ -#ifndef __IDWriteFactory2_INTERFACE_DEFINED__ -#define __IDWriteFactory2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("0439fc60-ca44-4994-8dee-3a9af7b732ec") -IDWriteFactory2 : public IDWriteFactory1 { - virtual HRESULT STDMETHODCALLTYPE GetSystemFontFallback( - IDWriteFontFallback * *fallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFallbackBuilder( - IDWriteFontFallbackBuilder * *fallbackbuilder) = 0; - - virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams( - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2 * *params) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis( - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec) -#endif -#else -typedef struct IDWriteFactory2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory2* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory2* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory2* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory2* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory2* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory2* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory2* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory2* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory2* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory2* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory2* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory2* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory2* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory2* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory2* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory2* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory2* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory2* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory2* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory2* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory2* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory2* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory2* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory2* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory2* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory2* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory2* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory2* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory2* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - END_INTERFACE -} IDWriteFactory2Vtbl; - -interface IDWriteFactory2 { - CONST_VTBL IDWriteFactory2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory2_GetSystemFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetSystemFontCollection(This, collection, check_for_updates) -#define IDWriteFactory2_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory2_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory2_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory2_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory2_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory2_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory2_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory2_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory2_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory2_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory2_CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) (This)->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) -#define IDWriteFactory2_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory2_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory2_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory2_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory2_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory2_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory2_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory2_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory2_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory2_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -#define IDWriteFactory2_TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers) (This)->lpVtbl->TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers) -#define IDWriteFactory2_CreateCustomRenderingParams(This, gamma, contrast, grayscalecontrast, cleartypeLevel, pixelGeometry, renderingMode, gridFitMode, params) (This)->lpVtbl->IDWriteFactory2_CreateCustomRenderingParams(This, gamma, contrast, grayscalecontrast, cleartypeLevel, pixelGeometry, renderingMode, gridFitMode, params) -#define IDWriteFactory2_CreateGlyphRunAnalysis(This, run, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, originX, originY, analysis) (This)->lpVtbl->IDWriteFactory2_CreateGlyphRunAnalysis(This, run, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, originX, originY, analysis) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory2_QueryInterface(IDWriteFactory2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory2_AddRef(IDWriteFactory2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory2_Release(IDWriteFactory2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory2_GetSystemFontCollection(IDWriteFactory2* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetSystemFontCollection(This, collection, check_for_updates); -} -static inline HRESULT IDWriteFactory2_CreateCustomFontCollection(IDWriteFactory2* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory2_RegisterFontCollectionLoader(IDWriteFactory2* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory2_UnregisterFontCollectionLoader(IDWriteFactory2* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory2_CreateFontFileReference(IDWriteFactory2* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory2_CreateCustomFontFileReference(IDWriteFactory2* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory2_CreateFontFace(IDWriteFactory2* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory2_CreateRenderingParams(IDWriteFactory2* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory2_CreateMonitorRenderingParams(IDWriteFactory2* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory2_RegisterFontFileLoader(IDWriteFactory2* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory2_UnregisterFontFileLoader(IDWriteFactory2* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory2_CreateTextFormat(IDWriteFactory2* This, const WCHAR* family_name, IDWriteFontCollection* collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, const WCHAR* locale, IDWriteTextFormat** format) { - return This->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format); -} -static inline HRESULT IDWriteFactory2_CreateTypography(IDWriteFactory2* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory2_GetGdiInterop(IDWriteFactory2* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory2_CreateTextLayout(IDWriteFactory2* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory2_CreateGdiCompatibleTextLayout(IDWriteFactory2* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory2_CreateEllipsisTrimmingSign(IDWriteFactory2* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory2_CreateTextAnalyzer(IDWriteFactory2* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory2_CreateNumberSubstitution(IDWriteFactory2* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory2_GetEudcFontCollection(IDWriteFactory2* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory2_GetSystemFontFallback(IDWriteFactory2* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory2_CreateFontFallbackBuilder(IDWriteFactory2* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -static inline HRESULT IDWriteFactory2_TranslateColorGlyphRun(IDWriteFactory2* This, FLOAT originX, FLOAT originY, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, DWRITE_MEASURING_MODE mode, const DWRITE_MATRIX* transform, UINT32 palette_index, IDWriteColorGlyphRunEnumerator** colorlayers) { - return This->lpVtbl->TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers); -} -static inline HRESULT IDWriteFactory2_CreateCustomRenderingParams(IDWriteFactory2* This, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartypeLevel, DWRITE_PIXEL_GEOMETRY pixelGeometry, DWRITE_RENDERING_MODE renderingMode, DWRITE_GRID_FIT_MODE gridFitMode, IDWriteRenderingParams2** params) { - return This->lpVtbl->IDWriteFactory2_CreateCustomRenderingParams(This, gamma, contrast, grayscalecontrast, cleartypeLevel, pixelGeometry, renderingMode, gridFitMode, params); -} -static inline HRESULT IDWriteFactory2_CreateGlyphRunAnalysis(IDWriteFactory2* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE renderingMode, DWRITE_MEASURING_MODE measuringMode, DWRITE_GRID_FIT_MODE gridFitMode, DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory2_CreateGlyphRunAnalysis(This, run, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, originX, originY, analysis); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory2_INTERFACE_DEFINED__ */ - -/* Begin additional prototypes for all interfaces */ - -/* End additional prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif /* __dwrite_2_h__ */ diff --git a/src/text/dwrite_3.h b/src/text/dwrite_3.h deleted file mode 100644 index 2f41e39..0000000 --- a/src/text/dwrite_3.h +++ /dev/null @@ -1,15009 +0,0 @@ -/*** Autogenerated by WIDL 11.0-rc1 from include/dwrite_3.idl - Do not edit ***/ - -#define COBJMACROS - -#ifdef _WIN32 -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif -#include -#include -#endif - -#ifndef COM_NO_WINDOWS_H -#include -#include -#endif - -#ifndef __dwrite_3_h__ -#define __dwrite_3_h__ - -/* Forward declarations */ - -#ifndef __IDWriteFontDownloadListener_FWD_DEFINED__ -#define __IDWriteFontDownloadListener_FWD_DEFINED__ -typedef interface IDWriteFontDownloadListener IDWriteFontDownloadListener; -#ifdef __cplusplus -interface IDWriteFontDownloadListener; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ -#define __IDWriteFontDownloadQueue_FWD_DEFINED__ -typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; -#ifdef __cplusplus -interface IDWriteFontDownloadQueue; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteRenderingParams3_FWD_DEFINED__ -#define __IDWriteRenderingParams3_FWD_DEFINED__ -typedef interface IDWriteRenderingParams3 IDWriteRenderingParams3; -#ifdef __cplusplus -interface IDWriteRenderingParams3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteStringList_FWD_DEFINED__ -#define __IDWriteStringList_FWD_DEFINED__ -typedef interface IDWriteStringList IDWriteStringList; -#ifdef __cplusplus -interface IDWriteStringList; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSet_FWD_DEFINED__ -#define __IDWriteFontSet_FWD_DEFINED__ -typedef interface IDWriteFontSet IDWriteFontSet; -#ifdef __cplusplus -interface IDWriteFontSet; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontResource_FWD_DEFINED__ -#define __IDWriteFontResource_FWD_DEFINED__ -typedef interface IDWriteFontResource IDWriteFontResource; -#ifdef __cplusplus -interface IDWriteFontResource; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSet1_FWD_DEFINED__ -#define __IDWriteFontSet1_FWD_DEFINED__ -typedef interface IDWriteFontSet1 IDWriteFontSet1; -#ifdef __cplusplus -interface IDWriteFontSet1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFont3_FWD_DEFINED__ -#define __IDWriteFont3_FWD_DEFINED__ -typedef interface IDWriteFont3 IDWriteFont3; -#ifdef __cplusplus -interface IDWriteFont3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFamily1_FWD_DEFINED__ -#define __IDWriteFontFamily1_FWD_DEFINED__ -typedef interface IDWriteFontFamily1 IDWriteFontFamily1; -#ifdef __cplusplus -interface IDWriteFontFamily1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFamily2_FWD_DEFINED__ -#define __IDWriteFontFamily2_FWD_DEFINED__ -typedef interface IDWriteFontFamily2 IDWriteFontFamily2; -#ifdef __cplusplus -interface IDWriteFontFamily2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontCollection1_FWD_DEFINED__ -#define __IDWriteFontCollection1_FWD_DEFINED__ -typedef interface IDWriteFontCollection1 IDWriteFontCollection1; -#ifdef __cplusplus -interface IDWriteFontCollection1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontCollection2_FWD_DEFINED__ -#define __IDWriteFontCollection2_FWD_DEFINED__ -typedef interface IDWriteFontCollection2 IDWriteFontCollection2; -#ifdef __cplusplus -interface IDWriteFontCollection2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontCollection3_FWD_DEFINED__ -#define __IDWriteFontCollection3_FWD_DEFINED__ -typedef interface IDWriteFontCollection3 IDWriteFontCollection3; -#ifdef __cplusplus -interface IDWriteFontCollection3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFaceReference_FWD_DEFINED__ -#define __IDWriteFontFaceReference_FWD_DEFINED__ -typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; -#ifdef __cplusplus -interface IDWriteFontFaceReference; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ -#define __IDWriteFontFaceReference1_FWD_DEFINED__ -typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; -#ifdef __cplusplus -interface IDWriteFontFaceReference1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontList1_FWD_DEFINED__ -#define __IDWriteFontList1_FWD_DEFINED__ -typedef interface IDWriteFontList1 IDWriteFontList1; -#ifdef __cplusplus -interface IDWriteFontList1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontList2_FWD_DEFINED__ -#define __IDWriteFontList2_FWD_DEFINED__ -typedef interface IDWriteFontList2 IDWriteFontList2; -#ifdef __cplusplus -interface IDWriteFontList2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSet2_FWD_DEFINED__ -#define __IDWriteFontSet2_FWD_DEFINED__ -typedef interface IDWriteFontSet2 IDWriteFontSet2; -#ifdef __cplusplus -interface IDWriteFontSet2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSet3_FWD_DEFINED__ -#define __IDWriteFontSet3_FWD_DEFINED__ -typedef interface IDWriteFontSet3 IDWriteFontSet3; -#ifdef __cplusplus -interface IDWriteFontSet3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSet4_FWD_DEFINED__ -#define __IDWriteFontSet4_FWD_DEFINED__ -typedef interface IDWriteFontSet4 IDWriteFontSet4; -#ifdef __cplusplus -interface IDWriteFontSet4; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace3_FWD_DEFINED__ -#define __IDWriteFontFace3_FWD_DEFINED__ -typedef interface IDWriteFontFace3 IDWriteFontFace3; -#ifdef __cplusplus -interface IDWriteFontFace3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextFormat2_FWD_DEFINED__ -#define __IDWriteTextFormat2_FWD_DEFINED__ -typedef interface IDWriteTextFormat2 IDWriteTextFormat2; -#ifdef __cplusplus -interface IDWriteTextFormat2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextFormat3_FWD_DEFINED__ -#define __IDWriteTextFormat3_FWD_DEFINED__ -typedef interface IDWriteTextFormat3 IDWriteTextFormat3; -#ifdef __cplusplus -interface IDWriteTextFormat3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextLayout3_FWD_DEFINED__ -#define __IDWriteTextLayout3_FWD_DEFINED__ -typedef interface IDWriteTextLayout3 IDWriteTextLayout3; -#ifdef __cplusplus -interface IDWriteTextLayout3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteTextLayout4_FWD_DEFINED__ -#define __IDWriteTextLayout4_FWD_DEFINED__ -typedef interface IDWriteTextLayout4 IDWriteTextLayout4; -#ifdef __cplusplus -interface IDWriteTextLayout4; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFallback1_FWD_DEFINED__ -#define __IDWriteFontFallback1_FWD_DEFINED__ -typedef interface IDWriteFontFallback1 IDWriteFontFallback1; -#ifdef __cplusplus -interface IDWriteFontFallback1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteGdiInterop1_FWD_DEFINED__ -#define __IDWriteGdiInterop1_FWD_DEFINED__ -typedef interface IDWriteGdiInterop1 IDWriteGdiInterop1; -#ifdef __cplusplus -interface IDWriteGdiInterop1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSetBuilder_FWD_DEFINED__ -#define __IDWriteFontSetBuilder_FWD_DEFINED__ -typedef interface IDWriteFontSetBuilder IDWriteFontSetBuilder; -#ifdef __cplusplus -interface IDWriteFontSetBuilder; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSetBuilder1_FWD_DEFINED__ -#define __IDWriteFontSetBuilder1_FWD_DEFINED__ -typedef interface IDWriteFontSetBuilder1 IDWriteFontSetBuilder1; -#ifdef __cplusplus -interface IDWriteFontSetBuilder1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSetBuilder2_FWD_DEFINED__ -#define __IDWriteFontSetBuilder2_FWD_DEFINED__ -typedef interface IDWriteFontSetBuilder2 IDWriteFontSetBuilder2; -#ifdef __cplusplus -interface IDWriteFontSetBuilder2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory3_FWD_DEFINED__ -#define __IDWriteFactory3_FWD_DEFINED__ -typedef interface IDWriteFactory3 IDWriteFactory3; -#ifdef __cplusplus -interface IDWriteFactory3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace4_FWD_DEFINED__ -#define __IDWriteFontFace4_FWD_DEFINED__ -typedef interface IDWriteFontFace4 IDWriteFontFace4; -#ifdef __cplusplus -interface IDWriteFontFace4; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace5_FWD_DEFINED__ -#define __IDWriteFontFace5_FWD_DEFINED__ -typedef interface IDWriteFontFace5 IDWriteFontFace5; -#ifdef __cplusplus -interface IDWriteFontFace5; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace6_FWD_DEFINED__ -#define __IDWriteFontFace6_FWD_DEFINED__ -typedef interface IDWriteFontFace6 IDWriteFontFace6; -#ifdef __cplusplus -interface IDWriteFontFace6; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWritePaintReader_FWD_DEFINED__ -#define __IDWritePaintReader_FWD_DEFINED__ -typedef interface IDWritePaintReader IDWritePaintReader; -#ifdef __cplusplus -interface IDWritePaintReader; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace7_FWD_DEFINED__ -#define __IDWriteFontFace7_FWD_DEFINED__ -typedef interface IDWriteFontFace7 IDWriteFontFace7; -#ifdef __cplusplus -interface IDWriteFontFace7; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ -#define __IDWriteColorGlyphRunEnumerator1_FWD_DEFINED__ -typedef interface IDWriteColorGlyphRunEnumerator1 IDWriteColorGlyphRunEnumerator1; -#ifdef __cplusplus -interface IDWriteColorGlyphRunEnumerator1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory4_FWD_DEFINED__ -#define __IDWriteFactory4_FWD_DEFINED__ -typedef interface IDWriteFactory4 IDWriteFactory4; -#ifdef __cplusplus -interface IDWriteFactory4; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteAsyncResult_FWD_DEFINED__ -#define __IDWriteAsyncResult_FWD_DEFINED__ -typedef interface IDWriteAsyncResult IDWriteAsyncResult; -#ifdef __cplusplus -interface IDWriteAsyncResult; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteRemoteFontFileStream_FWD_DEFINED__ -#define __IDWriteRemoteFontFileStream_FWD_DEFINED__ -typedef interface IDWriteRemoteFontFileStream IDWriteRemoteFontFileStream; -#ifdef __cplusplus -interface IDWriteRemoteFontFileStream; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteRemoteFontFileLoader_FWD_DEFINED__ -#define __IDWriteRemoteFontFileLoader_FWD_DEFINED__ -typedef interface IDWriteRemoteFontFileLoader IDWriteRemoteFontFileLoader; -#ifdef __cplusplus -interface IDWriteRemoteFontFileLoader; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ -#define __IDWriteInMemoryFontFileLoader_FWD_DEFINED__ -typedef interface IDWriteInMemoryFontFileLoader IDWriteInMemoryFontFileLoader; -#ifdef __cplusplus -interface IDWriteInMemoryFontFileLoader; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory5_FWD_DEFINED__ -#define __IDWriteFactory5_FWD_DEFINED__ -typedef interface IDWriteFactory5 IDWriteFactory5; -#ifdef __cplusplus -interface IDWriteFactory5; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory6_FWD_DEFINED__ -#define __IDWriteFactory6_FWD_DEFINED__ -typedef interface IDWriteFactory6 IDWriteFactory6; -#ifdef __cplusplus -interface IDWriteFactory6; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory7_FWD_DEFINED__ -#define __IDWriteFactory7_FWD_DEFINED__ -typedef interface IDWriteFactory7 IDWriteFactory7; -#ifdef __cplusplus -interface IDWriteFactory7; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFactory8_FWD_DEFINED__ -#define __IDWriteFactory8_FWD_DEFINED__ -typedef interface IDWriteFactory8 IDWriteFactory8; -#ifdef __cplusplus -interface IDWriteFactory8; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteBitmapRenderTarget2_FWD_DEFINED__ -#define __IDWriteBitmapRenderTarget2_FWD_DEFINED__ -typedef interface IDWriteBitmapRenderTarget2 IDWriteBitmapRenderTarget2; -#ifdef __cplusplus -interface IDWriteBitmapRenderTarget2; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteBitmapRenderTarget3_FWD_DEFINED__ -#define __IDWriteBitmapRenderTarget3_FWD_DEFINED__ -typedef interface IDWriteBitmapRenderTarget3 IDWriteBitmapRenderTarget3; -#ifdef __cplusplus -interface IDWriteBitmapRenderTarget3; -#endif /* __cplusplus */ -#endif - -/* Headers for imported files */ - -#include "dwrite_2.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __IDWriteFontFaceReference_FWD_DEFINED__ -#define __IDWriteFontFaceReference_FWD_DEFINED__ -typedef interface IDWriteFontFaceReference IDWriteFontFaceReference; -#ifdef __cplusplus -interface IDWriteFontFaceReference; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFaceReference1_FWD_DEFINED__ -#define __IDWriteFontFaceReference1_FWD_DEFINED__ -typedef interface IDWriteFontFaceReference1 IDWriteFontFaceReference1; -#ifdef __cplusplus -interface IDWriteFontFaceReference1; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace3_FWD_DEFINED__ -#define __IDWriteFontFace3_FWD_DEFINED__ -typedef interface IDWriteFontFace3 IDWriteFontFace3; -#ifdef __cplusplus -interface IDWriteFontFace3; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontSet_FWD_DEFINED__ -#define __IDWriteFontSet_FWD_DEFINED__ -typedef interface IDWriteFontSet IDWriteFontSet; -#ifdef __cplusplus -interface IDWriteFontSet; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontDownloadQueue_FWD_DEFINED__ -#define __IDWriteFontDownloadQueue_FWD_DEFINED__ -typedef interface IDWriteFontDownloadQueue IDWriteFontDownloadQueue; -#ifdef __cplusplus -interface IDWriteFontDownloadQueue; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontFace5_FWD_DEFINED__ -#define __IDWriteFontFace5_FWD_DEFINED__ -typedef interface IDWriteFontFace5 IDWriteFontFace5; -#ifdef __cplusplus -interface IDWriteFontFace5; -#endif /* __cplusplus */ -#endif - -#ifndef __IDWriteFontList2_FWD_DEFINED__ -#define __IDWriteFontList2_FWD_DEFINED__ -typedef interface IDWriteFontList2 IDWriteFontList2; -#ifdef __cplusplus -interface IDWriteFontList2; -#endif /* __cplusplus */ -#endif - -#ifndef _WINGDI_ -typedef struct FONTSIGNATURE FONTSIGNATURE; -#endif /* _WINGDI_ */ -typedef struct D2D1_GRADIENT_STOP D2D1_GRADIENT_STOP; -typedef enum DWRITE_COLOR_COMPOSITE_MODE { - DWRITE_COLOR_COMPOSITE_CLEAR = 0, - DWRITE_COLOR_COMPOSITE_SRC = 1, - DWRITE_COLOR_COMPOSITE_DEST = 2, - DWRITE_COLOR_COMPOSITE_SRC_OVER = 3, - DWRITE_COLOR_COMPOSITE_DEST_OVER = 4, - DWRITE_COLOR_COMPOSITE_SRC_IN = 5, - DWRITE_COLOR_COMPOSITE_DEST_IN = 6, - DWRITE_COLOR_COMPOSITE_SRC_OUT = 7, - DWRITE_COLOR_COMPOSITE_DEST_OUT = 8, - DWRITE_COLOR_COMPOSITE_SRC_ATOP = 9, - DWRITE_COLOR_COMPOSITE_DEST_ATOP = 10, - DWRITE_COLOR_COMPOSITE_XOR = 11, - DWRITE_COLOR_COMPOSITE_PLUS = 12, - DWRITE_COLOR_COMPOSITE_SCREEN = 13, - DWRITE_COLOR_COMPOSITE_OVERLAY = 14, - DWRITE_COLOR_COMPOSITE_DARKEN = 15, - DWRITE_COLOR_COMPOSITE_LIGHTEN = 16, - DWRITE_COLOR_COMPOSITE_COLOR_DODGE = 17, - DWRITE_COLOR_COMPOSITE_COLOR_BURN = 18, - DWRITE_COLOR_COMPOSITE_HARD_LIGHT = 19, - DWRITE_COLOR_COMPOSITE_SOFT_LIGHT = 20, - DWRITE_COLOR_COMPOSITE_DIFFERENCE = 21, - DWRITE_COLOR_COMPOSITE_EXCLUSION = 22, - DWRITE_COLOR_COMPOSITE_MULTIPLY = 23, - DWRITE_COLOR_COMPOSITE_HSL_HUE = 24, - DWRITE_COLOR_COMPOSITE_HSL_SATURATION = 25, - DWRITE_COLOR_COMPOSITE_HSL_COLOR = 26, - DWRITE_COLOR_COMPOSITE_HSL_LUMINOSITY = 27 -} DWRITE_COLOR_COMPOSITE_MODE; -typedef enum DWRITE_LOCALITY { - DWRITE_LOCALITY_REMOTE = 0, - DWRITE_LOCALITY_PARTIAL = 1, - DWRITE_LOCALITY_LOCAL = 2 -} DWRITE_LOCALITY; -typedef enum DWRITE_RENDERING_MODE1 { - DWRITE_RENDERING_MODE1_DEFAULT = 0, - DWRITE_RENDERING_MODE1_ALIASED = 1, - DWRITE_RENDERING_MODE1_GDI_CLASSIC = 2, - DWRITE_RENDERING_MODE1_GDI_NATURAL = 3, - DWRITE_RENDERING_MODE1_NATURAL = 4, - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = 5, - DWRITE_RENDERING_MODE1_OUTLINE = 6, - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED = 7 -} DWRITE_RENDERING_MODE1; -typedef enum DWRITE_FONT_PROPERTY_ID { - DWRITE_FONT_PROPERTY_ID_NONE = 0, - DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME = 1, - DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME = 2, - DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME = 3, - DWRITE_FONT_PROPERTY_ID_FULL_NAME = 4, - DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME = 5, - DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME = 6, - DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG = 7, - DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG = 8, - DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG = 9, - DWRITE_FONT_PROPERTY_ID_WEIGHT = 10, - DWRITE_FONT_PROPERTY_ID_STRETCH = 11, - DWRITE_FONT_PROPERTY_ID_STYLE = 12, - DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME = 13, - DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1, - DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1, - DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, - DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, - DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME -} DWRITE_FONT_PROPERTY_ID; -typedef struct DWRITE_FONT_PROPERTY { - DWRITE_FONT_PROPERTY_ID propertyId; - const WCHAR* propertyValue; - const WCHAR* localeName; -} DWRITE_FONT_PROPERTY; -#ifdef __cplusplus -#define DWRITE_MAKE_FONT_AXIS_TAG(a, b, c, d) (static_cast(DWRITE_MAKE_OPENTYPE_TAG(a, b, c, d))) -#else -#define DWRITE_MAKE_FONT_AXIS_TAG(a, b, c, d) (DWRITE_MAKE_OPENTYPE_TAG(a, b, c, d)) -#endif -typedef enum DWRITE_FONT_AXIS_TAG { - DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, - DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, - DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, - DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, - DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469 -} DWRITE_FONT_AXIS_TAG; -typedef enum DWRITE_FONT_SOURCE_TYPE { - DWRITE_FONT_SOURCE_TYPE_UNKNOWN = 0, - DWRITE_FONT_SOURCE_TYPE_PER_MACHINE = 1, - DWRITE_FONT_SOURCE_TYPE_PER_USER = 2, - DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE = 3, - DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER = 4 -} DWRITE_FONT_SOURCE_TYPE; -typedef struct DWRITE_FONT_AXIS_VALUE { - DWRITE_FONT_AXIS_TAG axisTag; - FLOAT value; -} DWRITE_FONT_AXIS_VALUE; -typedef struct DWRITE_FONT_AXIS_RANGE { - DWRITE_FONT_AXIS_TAG axisTag; - FLOAT minValue; - FLOAT maxValue; -} DWRITE_FONT_AXIS_RANGE; -typedef enum DWRITE_AUTOMATIC_FONT_AXES { - DWRITE_AUTOMATIC_FONT_AXES_NONE = 0, - DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE = 1 -} DWRITE_AUTOMATIC_FONT_AXES; -typedef enum DWRITE_FONT_AXIS_ATTRIBUTES { - DWRITE_FONT_AXIS_ATTRIBUTES_NONE = 0, - DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE = 1, - DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN = 2 -} DWRITE_FONT_AXIS_ATTRIBUTES; -typedef enum DWRITE_FONT_FAMILY_MODEL { - DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC = 0, - DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE = 1 -} DWRITE_FONT_FAMILY_MODEL; -typedef enum DWRITE_PAINT_TYPE { - DWRITE_PAINT_TYPE_NONE = 0, - DWRITE_PAINT_TYPE_LAYERS = 1, - DWRITE_PAINT_TYPE_SOLID_GLYPH = 2, - DWRITE_PAINT_TYPE_SOLID = 3, - DWRITE_PAINT_TYPE_LINEAR_GRADIENT = 4, - DWRITE_PAINT_TYPE_RADIAL_GRADIENT = 5, - DWRITE_PAINT_TYPE_SWEEP_GRADIENT = 6, - DWRITE_PAINT_TYPE_GLYPH = 7, - DWRITE_PAINT_TYPE_COLOR_GLYPH = 8, - DWRITE_PAINT_TYPE_TRANSFORM = 9, - DWRITE_PAINT_TYPE_COMPOSITE = 10 -} DWRITE_PAINT_TYPE; -#ifndef DWRITE_PAINT_FEATURE_LEVEL_DEFINED -#define DWRITE_PAINT_FEATURE_LEVEL_DEFINED -typedef enum DWRITE_PAINT_FEATURE_LEVEL { - DWRITE_PAINT_FEATURE_LEVEL_NONE = 0, - DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1, - DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2 -} DWRITE_PAINT_FEATURE_LEVEL; -#endif /* DWRITE_PAINT_FEATURE_LEVEL_DEFINED */ -typedef enum DWRITE_PAINT_ATTRIBUTES { - DWRITE_PAINT_ATTRIBUTES_NONE = 0, - DWRITE_PAINT_ATTRIBUTES_USES_PALETTE = 0x1, - DWRITE_PAINT_ATTRIBUTES_USES_TEXT_COLOR = 0x2 -} DWRITE_PAINT_ATTRIBUTES; -DEFINE_ENUM_FLAG_OPERATORS(DWRITE_PAINT_ATTRIBUTES) -typedef struct DWRITE_PAINT_COLOR { - DWRITE_COLOR_F value; - UINT16 paletteEntryIndex; - float alphaMultiplier; - DWRITE_PAINT_ATTRIBUTES colorAttributes; -} DWRITE_PAINT_COLOR; -typedef struct DWRITE_PAINT_ELEMENT { - DWRITE_PAINT_TYPE paintType; - union PAINT_UNION { - struct PAINT_LAYERS { - UINT32 childCount; - } layers; - struct PAINT_SOLID_GLYPH { - UINT32 glyphIndex; - DWRITE_PAINT_COLOR color; - } solidGlyph; - DWRITE_PAINT_COLOR solid; - struct PAINT_LINEAR_GRADIENT { - UINT32 extendMode; - UINT32 gradientStopCount; - float x0; - float y0; - float x1; - float y1; - float x2; - float y2; - } linearGradient; - struct PAINT_RADIAL_GRADIENT { - UINT32 extendMode; - UINT32 gradientStopCount; - float x0; - float y0; - float radius0; - float x1; - float y1; - float radius1; - } radialGradient; - struct PAINT_SWEEP_GRADIENT { - UINT32 extendMode; - UINT32 gradientStopCount; - float centerX; - float centerY; - float startAngle; - float endAngle; - } sweepGradient; - struct PAINT_GLYPH { - UINT32 glyphIndex; - } glyph; - struct PAINT_COLOR_GLYPH { - UINT32 glyphIndex; - D2D_RECT_F clipBox; - } colorGlyph; - DWRITE_MATRIX transform; - struct PAINT_COMPOSITE { - DWRITE_COLOR_COMPOSITE_MODE mode; - } composite; - } paint; -} DWRITE_PAINT_ELEMENT; -/***************************************************************************** - * IDWriteFontDownloadListener interface - */ -#ifndef __IDWriteFontDownloadListener_INTERFACE_DEFINED__ -#define __IDWriteFontDownloadListener_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88, 0x1b, 0xdb, 0xe4, 0xdc, 0x72, 0xfd, 0xa7); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("b06fe5b9-43ec-4393-881b-dbe4dc72fda7") -IDWriteFontDownloadListener : public IUnknown { - virtual void STDMETHODCALLTYPE DownloadCompleted( - IDWriteFontDownloadQueue * queue, - IUnknown * context, - HRESULT result) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88, 0x1b, 0xdb, 0xe4, 0xdc, 0x72, 0xfd, 0xa7) -#endif -#else -typedef struct IDWriteFontDownloadListenerVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontDownloadListener* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontDownloadListener* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontDownloadListener* This); - - /*** IDWriteFontDownloadListener methods ***/ - void(STDMETHODCALLTYPE* DownloadCompleted)( - IDWriteFontDownloadListener* This, - IDWriteFontDownloadQueue* queue, - IUnknown* context, - HRESULT result); - - END_INTERFACE -} IDWriteFontDownloadListenerVtbl; - -interface IDWriteFontDownloadListener { - CONST_VTBL IDWriteFontDownloadListenerVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontDownloadListener_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontDownloadListener_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontDownloadListener_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontDownloadListener methods ***/ -#define IDWriteFontDownloadListener_DownloadCompleted(This, queue, context, result) (This)->lpVtbl->DownloadCompleted(This, queue, context, result) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontDownloadListener_QueryInterface(IDWriteFontDownloadListener* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontDownloadListener_AddRef(IDWriteFontDownloadListener* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontDownloadListener_Release(IDWriteFontDownloadListener* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontDownloadListener methods ***/ -static inline void IDWriteFontDownloadListener_DownloadCompleted(IDWriteFontDownloadListener* This, IDWriteFontDownloadQueue* queue, IUnknown* context, HRESULT result) { - This->lpVtbl->DownloadCompleted(This, queue, context, result); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontDownloadListener_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontDownloadQueue interface - */ -#ifndef __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ -#define __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83, 0x2e, 0xf6, 0x0d, 0x43, 0x1f, 0x7e, 0x91); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("b71e6052-5aea-4fa3-832e-f60d431f7e91") -IDWriteFontDownloadQueue : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE AddListener( - IDWriteFontDownloadListener * listener, - UINT32 * token) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemoveListener( - UINT32 token) = 0; - - virtual WINBOOL STDMETHODCALLTYPE IsEmpty() = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginDownload( - IUnknown * context) = 0; - - virtual HRESULT STDMETHODCALLTYPE CancelDownload() = 0; - - virtual UINT64 STDMETHODCALLTYPE GetGenerationCount() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83, 0x2e, 0xf6, 0x0d, 0x43, 0x1f, 0x7e, 0x91) -#endif -#else -typedef struct IDWriteFontDownloadQueueVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontDownloadQueue* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontDownloadQueue* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontDownloadQueue* This); - - /*** IDWriteFontDownloadQueue methods ***/ - HRESULT(STDMETHODCALLTYPE* AddListener)( - IDWriteFontDownloadQueue* This, - IDWriteFontDownloadListener* listener, - UINT32* token); - - HRESULT(STDMETHODCALLTYPE* RemoveListener)( - IDWriteFontDownloadQueue* This, - UINT32 token); - - WINBOOL(STDMETHODCALLTYPE* IsEmpty)( - IDWriteFontDownloadQueue* This); - - HRESULT(STDMETHODCALLTYPE* BeginDownload)( - IDWriteFontDownloadQueue* This, - IUnknown* context); - - HRESULT(STDMETHODCALLTYPE* CancelDownload)( - IDWriteFontDownloadQueue* This); - - UINT64(STDMETHODCALLTYPE* GetGenerationCount)( - IDWriteFontDownloadQueue* This); - - END_INTERFACE -} IDWriteFontDownloadQueueVtbl; - -interface IDWriteFontDownloadQueue { - CONST_VTBL IDWriteFontDownloadQueueVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontDownloadQueue_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontDownloadQueue_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontDownloadQueue_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontDownloadQueue methods ***/ -#define IDWriteFontDownloadQueue_AddListener(This, listener, token) (This)->lpVtbl->AddListener(This, listener, token) -#define IDWriteFontDownloadQueue_RemoveListener(This, token) (This)->lpVtbl->RemoveListener(This, token) -#define IDWriteFontDownloadQueue_IsEmpty(This) (This)->lpVtbl->IsEmpty(This) -#define IDWriteFontDownloadQueue_BeginDownload(This, context) (This)->lpVtbl->BeginDownload(This, context) -#define IDWriteFontDownloadQueue_CancelDownload(This) (This)->lpVtbl->CancelDownload(This) -#define IDWriteFontDownloadQueue_GetGenerationCount(This) (This)->lpVtbl->GetGenerationCount(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontDownloadQueue_QueryInterface(IDWriteFontDownloadQueue* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontDownloadQueue_AddRef(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontDownloadQueue_Release(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontDownloadQueue methods ***/ -static inline HRESULT IDWriteFontDownloadQueue_AddListener(IDWriteFontDownloadQueue* This, IDWriteFontDownloadListener* listener, UINT32* token) { - return This->lpVtbl->AddListener(This, listener, token); -} -static inline HRESULT IDWriteFontDownloadQueue_RemoveListener(IDWriteFontDownloadQueue* This, UINT32 token) { - return This->lpVtbl->RemoveListener(This, token); -} -static inline WINBOOL IDWriteFontDownloadQueue_IsEmpty(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->IsEmpty(This); -} -static inline HRESULT IDWriteFontDownloadQueue_BeginDownload(IDWriteFontDownloadQueue* This, IUnknown* context) { - return This->lpVtbl->BeginDownload(This, context); -} -static inline HRESULT IDWriteFontDownloadQueue_CancelDownload(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->CancelDownload(This); -} -static inline UINT64 IDWriteFontDownloadQueue_GetGenerationCount(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->GetGenerationCount(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteRenderingParams3 interface - */ -#ifndef __IDWriteRenderingParams3_INTERFACE_DEFINED__ -#define __IDWriteRenderingParams3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c, 0x5c, 0xe4, 0x4c, 0xc2, 0xd8, 0x67, 0xdc); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("b7924baa-391b-412a-8c5c-e44cc2d867dc") -IDWriteRenderingParams3 : public IDWriteRenderingParams2 { - virtual DWRITE_RENDERING_MODE1 STDMETHODCALLTYPE GetRenderingMode1() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c, 0x5c, 0xe4, 0x4c, 0xc2, 0xd8, 0x67, 0xdc) -#endif -#else -typedef struct IDWriteRenderingParams3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteRenderingParams3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteRenderingParams3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteRenderingParams3* This); - - /*** IDWriteRenderingParams methods ***/ - FLOAT(STDMETHODCALLTYPE* GetGamma)( - IDWriteRenderingParams3* This); - - FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)( - IDWriteRenderingParams3* This); - - FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)( - IDWriteRenderingParams3* This); - - DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)( - IDWriteRenderingParams3* This); - - DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)( - IDWriteRenderingParams3* This); - - /*** IDWriteRenderingParams1 methods ***/ - FLOAT(STDMETHODCALLTYPE* GetGrayscaleEnhancedContrast)( - IDWriteRenderingParams3* This); - - /*** IDWriteRenderingParams2 methods ***/ - DWRITE_GRID_FIT_MODE(STDMETHODCALLTYPE* GetGridFitMode)( - IDWriteRenderingParams3* This); - - /*** IDWriteRenderingParams3 methods ***/ - DWRITE_RENDERING_MODE1(STDMETHODCALLTYPE* GetRenderingMode1)( - IDWriteRenderingParams3* This); - - END_INTERFACE -} IDWriteRenderingParams3Vtbl; - -interface IDWriteRenderingParams3 { - CONST_VTBL IDWriteRenderingParams3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteRenderingParams3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteRenderingParams3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteRenderingParams3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteRenderingParams methods ***/ -#define IDWriteRenderingParams3_GetGamma(This) (This)->lpVtbl->GetGamma(This) -#define IDWriteRenderingParams3_GetEnhancedContrast(This) (This)->lpVtbl->GetEnhancedContrast(This) -#define IDWriteRenderingParams3_GetClearTypeLevel(This) (This)->lpVtbl->GetClearTypeLevel(This) -#define IDWriteRenderingParams3_GetPixelGeometry(This) (This)->lpVtbl->GetPixelGeometry(This) -#define IDWriteRenderingParams3_GetRenderingMode(This) (This)->lpVtbl->GetRenderingMode(This) -/*** IDWriteRenderingParams1 methods ***/ -#define IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(This) (This)->lpVtbl->GetGrayscaleEnhancedContrast(This) -/*** IDWriteRenderingParams2 methods ***/ -#define IDWriteRenderingParams3_GetGridFitMode(This) (This)->lpVtbl->GetGridFitMode(This) -/*** IDWriteRenderingParams3 methods ***/ -#define IDWriteRenderingParams3_GetRenderingMode1(This) (This)->lpVtbl->GetRenderingMode1(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteRenderingParams3_QueryInterface(IDWriteRenderingParams3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteRenderingParams3_AddRef(IDWriteRenderingParams3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteRenderingParams3_Release(IDWriteRenderingParams3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteRenderingParams methods ***/ -static inline FLOAT IDWriteRenderingParams3_GetGamma(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetGamma(This); -} -static inline FLOAT IDWriteRenderingParams3_GetEnhancedContrast(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetEnhancedContrast(This); -} -static inline FLOAT IDWriteRenderingParams3_GetClearTypeLevel(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetClearTypeLevel(This); -} -static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams3_GetPixelGeometry(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetPixelGeometry(This); -} -static inline DWRITE_RENDERING_MODE IDWriteRenderingParams3_GetRenderingMode(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetRenderingMode(This); -} -/*** IDWriteRenderingParams1 methods ***/ -static inline FLOAT IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetGrayscaleEnhancedContrast(This); -} -/*** IDWriteRenderingParams2 methods ***/ -static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams3_GetGridFitMode(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetGridFitMode(This); -} -/*** IDWriteRenderingParams3 methods ***/ -static inline DWRITE_RENDERING_MODE1 IDWriteRenderingParams3_GetRenderingMode1(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetRenderingMode1(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteRenderingParams3_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteStringList interface - */ -#ifndef __IDWriteStringList_INTERFACE_DEFINED__ -#define __IDWriteStringList_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteStringList, 0xcfee3140, 0x1157, 0x47ca, 0x8b, 0x85, 0x31, 0xbf, 0xcf, 0x3f, 0x2d, 0x0e); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("cfee3140-1157-47ca-8b85-31bfcf3f2d0e") -IDWriteStringList : public IUnknown { - virtual UINT32 STDMETHODCALLTYPE GetCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( - UINT32 index, - UINT32 * length) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - UINT32 index, - WCHAR * name, - UINT32 size) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStringLength( - UINT32 index, - UINT32 * length) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - UINT32 index, - WCHAR * string, - UINT32 size) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteStringList, 0xcfee3140, 0x1157, 0x47ca, 0x8b, 0x85, 0x31, 0xbf, 0xcf, 0x3f, 0x2d, 0x0e) -#endif -#else -typedef struct IDWriteStringListVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteStringList* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteStringList* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteStringList* This); - - /*** IDWriteStringList methods ***/ - UINT32(STDMETHODCALLTYPE* GetCount)( - IDWriteStringList* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteStringList* This, - UINT32 index, - UINT32* length); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteStringList* This, - UINT32 index, - WCHAR* name, - UINT32 size); - - HRESULT(STDMETHODCALLTYPE* GetStringLength)( - IDWriteStringList* This, - UINT32 index, - UINT32* length); - - HRESULT(STDMETHODCALLTYPE* GetString)( - IDWriteStringList* This, - UINT32 index, - WCHAR* string, - UINT32 size); - - END_INTERFACE -} IDWriteStringListVtbl; - -interface IDWriteStringList { - CONST_VTBL IDWriteStringListVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteStringList_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteStringList_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteStringList_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteStringList methods ***/ -#define IDWriteStringList_GetCount(This) (This)->lpVtbl->GetCount(This) -#define IDWriteStringList_GetLocaleNameLength(This, index, length) (This)->lpVtbl->GetLocaleNameLength(This, index, length) -#define IDWriteStringList_GetLocaleName(This, index, name, size) (This)->lpVtbl->GetLocaleName(This, index, name, size) -#define IDWriteStringList_GetStringLength(This, index, length) (This)->lpVtbl->GetStringLength(This, index, length) -#define IDWriteStringList_GetString(This, index, string, size) (This)->lpVtbl->GetString(This, index, string, size) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteStringList_QueryInterface(IDWriteStringList* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteStringList_AddRef(IDWriteStringList* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteStringList_Release(IDWriteStringList* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteStringList methods ***/ -static inline UINT32 IDWriteStringList_GetCount(IDWriteStringList* This) { - return This->lpVtbl->GetCount(This); -} -static inline HRESULT IDWriteStringList_GetLocaleNameLength(IDWriteStringList* This, UINT32 index, UINT32* length) { - return This->lpVtbl->GetLocaleNameLength(This, index, length); -} -static inline HRESULT IDWriteStringList_GetLocaleName(IDWriteStringList* This, UINT32 index, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetLocaleName(This, index, name, size); -} -static inline HRESULT IDWriteStringList_GetStringLength(IDWriteStringList* This, UINT32 index, UINT32* length) { - return This->lpVtbl->GetStringLength(This, index, length); -} -static inline HRESULT IDWriteStringList_GetString(IDWriteStringList* This, UINT32 index, WCHAR* string, UINT32 size) { - return This->lpVtbl->GetString(This, index, string, size); -} -#endif -#endif - -#endif - -#endif /* __IDWriteStringList_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSet interface - */ -#ifndef __IDWriteFontSet_INTERFACE_DEFINED__ -#define __IDWriteFontSet_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6b); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116b") -IDWriteFontSet : public IUnknown { - virtual UINT32 STDMETHODCALLTYPE GetFontCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - UINT32 index, - IDWriteFontFaceReference * *reference) = 0; - - virtual HRESULT STDMETHODCALLTYPE FindFontFaceReference( - IDWriteFontFaceReference * reference, - UINT32 * index, - WINBOOL * exists) = 0; - - virtual HRESULT STDMETHODCALLTYPE FindFontFace( - IDWriteFontFace * fontface, - UINT32 * index, - WINBOOL * exists) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPropertyValues__( - DWRITE_FONT_PROPERTY_ID id, - IDWriteStringList * *values) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPropertyValues_( - DWRITE_FONT_PROPERTY_ID id, - const WCHAR* preferred_locales, - IDWriteStringList** values) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPropertyValues( - UINT32 index, - DWRITE_FONT_PROPERTY_ID id, - WINBOOL * exists, - IDWriteLocalizedStrings * *values) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPropertyOccurrenceCount( - const DWRITE_FONT_PROPERTY* property, - UINT32* count) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts_( - const WCHAR* family, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontSet** fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( - const DWRITE_FONT_PROPERTY* props, - UINT32 count, - IDWriteFontSet** fontset) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6b) -#endif -#else -typedef struct IDWriteFontSetVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSet* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSet* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSet* This); - - /*** IDWriteFontSet methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontSet* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontSet* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( - IDWriteFontSet* This, - IDWriteFontFaceReference* reference, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* FindFontFace)( - IDWriteFontSet* This, - IDWriteFontFace* fontface, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues__)( - IDWriteFontSet* This, - DWRITE_FONT_PROPERTY_ID id, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues_)( - IDWriteFontSet* This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR* preferred_locales, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues)( - IDWriteFontSet* This, - UINT32 index, - DWRITE_FONT_PROPERTY_ID id, - WINBOOL* exists, - IDWriteLocalizedStrings** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyOccurrenceCount)( - IDWriteFontSet* This, - const DWRITE_FONT_PROPERTY* property, - UINT32* count); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts_)( - IDWriteFontSet* This, - const WCHAR* family, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontSet* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 count, - IDWriteFontSet** fontset); - - END_INTERFACE -} IDWriteFontSetVtbl; - -interface IDWriteFontSet { - CONST_VTBL IDWriteFontSetVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSet_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSet_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSet_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSet methods ***/ -#define IDWriteFontSet_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontSet_GetFontFaceReference(This, index, reference) (This)->lpVtbl->GetFontFaceReference(This, index, reference) -#define IDWriteFontSet_FindFontFaceReference(This, reference, index, exists) (This)->lpVtbl->FindFontFaceReference(This, reference, index, exists) -#define IDWriteFontSet_FindFontFace(This, fontface, index, exists) (This)->lpVtbl->FindFontFace(This, fontface, index, exists) -#define IDWriteFontSet_GetPropertyValues__(This, id, values) (This)->lpVtbl->GetPropertyValues__(This, id, values) -#define IDWriteFontSet_GetPropertyValues_(This, id, preferred_locales, values) (This)->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values) -#define IDWriteFontSet_GetPropertyValues(This, index, id, exists, values) (This)->lpVtbl->GetPropertyValues(This, index, id, exists, values) -#define IDWriteFontSet_GetPropertyOccurrenceCount(This, property, count) (This)->lpVtbl->GetPropertyOccurrenceCount(This, property, count) -#define IDWriteFontSet_GetMatchingFonts_(This, family, weight, stretch, style, fontset) (This)->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset) -#define IDWriteFontSet_GetMatchingFonts(This, props, count, fontset) (This)->lpVtbl->GetMatchingFonts(This, props, count, fontset) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSet_QueryInterface(IDWriteFontSet* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSet_AddRef(IDWriteFontSet* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSet_Release(IDWriteFontSet* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSet methods ***/ -static inline UINT32 IDWriteFontSet_GetFontCount(IDWriteFontSet* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontSet_GetFontFaceReference(IDWriteFontSet* This, UINT32 index, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, index, reference); -} -static inline HRESULT IDWriteFontSet_FindFontFaceReference(IDWriteFontSet* This, IDWriteFontFaceReference* reference, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFaceReference(This, reference, index, exists); -} -static inline HRESULT IDWriteFontSet_FindFontFace(IDWriteFontSet* This, IDWriteFontFace* fontface, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFace(This, fontface, index, exists); -} -static inline HRESULT IDWriteFontSet_GetPropertyValues__(IDWriteFontSet* This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues__(This, id, values); -} -static inline HRESULT IDWriteFontSet_GetPropertyValues_(IDWriteFontSet* This, DWRITE_FONT_PROPERTY_ID id, const WCHAR* preferred_locales, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values); -} -static inline HRESULT IDWriteFontSet_GetPropertyValues(IDWriteFontSet* This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL* exists, IDWriteLocalizedStrings** values) { - return This->lpVtbl->GetPropertyValues(This, index, id, exists, values); -} -static inline HRESULT IDWriteFontSet_GetPropertyOccurrenceCount(IDWriteFontSet* This, const DWRITE_FONT_PROPERTY* property, UINT32* count) { - return This->lpVtbl->GetPropertyOccurrenceCount(This, property, count); -} -static inline HRESULT IDWriteFontSet_GetMatchingFonts_(IDWriteFontSet* This, const WCHAR* family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet** fontset) { - return This->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset); -} -static inline HRESULT IDWriteFontSet_GetMatchingFonts(IDWriteFontSet* This, const DWRITE_FONT_PROPERTY* props, UINT32 count, IDWriteFontSet** fontset) { - return This->lpVtbl->GetMatchingFonts(This, props, count, fontset); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSet_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontResource interface - */ -#ifndef __IDWriteFontResource_INTERFACE_DEFINED__ -#define __IDWriteFontResource_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98, 0x7f, 0xb9, 0x75, 0x55, 0x1c, 0x50, 0xf2); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("1f803a76-6871-48e8-987f-b975551c50f2") -IDWriteFontResource : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE GetFontFile( - IDWriteFontFile * *fontfile) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex() = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontAxisCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDefaultFontAxisValues( - DWRITE_FONT_AXIS_VALUE * values, - UINT32 num_values) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( - DWRITE_FONT_AXIS_RANGE * ranges, - UINT32 num_ranges) = 0; - - virtual DWRITE_FONT_AXIS_ATTRIBUTES STDMETHODCALLTYPE GetFontAxisAttributes( - UINT32 axis) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAxisNames( - UINT32 axis, - IDWriteLocalizedStrings * *names) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetAxisValueNameCount( - UINT32 axis) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAxisValueNames( - UINT32 axis, - UINT32 axis_value, - DWRITE_FONT_AXIS_RANGE * axis_range, - IDWriteLocalizedStrings * *names) = 0; - - virtual WINBOOL STDMETHODCALLTYPE HasVariations() = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontFace5** fontface) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontFaceReference1** reference) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98, 0x7f, 0xb9, 0x75, 0x55, 0x1c, 0x50, 0xf2) -#endif -#else -typedef struct IDWriteFontResourceVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontResource* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontResource* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontResource* This); - - /*** IDWriteFontResource methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFile)( - IDWriteFontResource* This, - IDWriteFontFile** fontfile); - - UINT32(STDMETHODCALLTYPE* GetFontFaceIndex)( - IDWriteFontResource* This); - - UINT32(STDMETHODCALLTYPE* GetFontAxisCount)( - IDWriteFontResource* This); - - HRESULT(STDMETHODCALLTYPE* GetDefaultFontAxisValues)( - IDWriteFontResource* This, - DWRITE_FONT_AXIS_VALUE* values, - UINT32 num_values); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges)( - IDWriteFontResource* This, - DWRITE_FONT_AXIS_RANGE* ranges, - UINT32 num_ranges); - - DWRITE_FONT_AXIS_ATTRIBUTES(STDMETHODCALLTYPE* GetFontAxisAttributes)( - IDWriteFontResource* This, - UINT32 axis); - - HRESULT(STDMETHODCALLTYPE* GetAxisNames)( - IDWriteFontResource* This, - UINT32 axis, - IDWriteLocalizedStrings** names); - - UINT32(STDMETHODCALLTYPE* GetAxisValueNameCount)( - IDWriteFontResource* This, - UINT32 axis); - - HRESULT(STDMETHODCALLTYPE* GetAxisValueNames)( - IDWriteFontResource* This, - UINT32 axis, - UINT32 axis_value, - DWRITE_FONT_AXIS_RANGE* axis_range, - IDWriteLocalizedStrings** names); - - WINBOOL(STDMETHODCALLTYPE* HasVariations)( - IDWriteFontResource* This); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontResource* This, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontFace5** fontface); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFontResource* This, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontFaceReference1** reference); - - END_INTERFACE -} IDWriteFontResourceVtbl; - -interface IDWriteFontResource { - CONST_VTBL IDWriteFontResourceVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontResource_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontResource_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontResource_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontResource methods ***/ -#define IDWriteFontResource_GetFontFile(This, fontfile) (This)->lpVtbl->GetFontFile(This, fontfile) -#define IDWriteFontResource_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) -#define IDWriteFontResource_GetFontAxisCount(This) (This)->lpVtbl->GetFontAxisCount(This) -#define IDWriteFontResource_GetDefaultFontAxisValues(This, values, num_values) (This)->lpVtbl->GetDefaultFontAxisValues(This, values, num_values) -#define IDWriteFontResource_GetFontAxisRanges(This, ranges, num_ranges) (This)->lpVtbl->GetFontAxisRanges(This, ranges, num_ranges) -#define IDWriteFontResource_GetFontAxisAttributes(This, axis) (This)->lpVtbl->GetFontAxisAttributes(This, axis) -#define IDWriteFontResource_GetAxisNames(This, axis, names) (This)->lpVtbl->GetAxisNames(This, axis, names) -#define IDWriteFontResource_GetAxisValueNameCount(This, axis) (This)->lpVtbl->GetAxisValueNameCount(This, axis) -#define IDWriteFontResource_GetAxisValueNames(This, axis, axis_value, axis_range, names) (This)->lpVtbl->GetAxisValueNames(This, axis, axis_value, axis_range, names) -#define IDWriteFontResource_HasVariations(This) (This)->lpVtbl->HasVariations(This) -#define IDWriteFontResource_CreateFontFace(This, simulations, axis_values, num_values, fontface) (This)->lpVtbl->CreateFontFace(This, simulations, axis_values, num_values, fontface) -#define IDWriteFontResource_CreateFontFaceReference(This, simulations, axis_values, num_values, reference) (This)->lpVtbl->CreateFontFaceReference(This, simulations, axis_values, num_values, reference) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontResource_QueryInterface(IDWriteFontResource* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontResource_AddRef(IDWriteFontResource* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontResource_Release(IDWriteFontResource* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontResource methods ***/ -static inline HRESULT IDWriteFontResource_GetFontFile(IDWriteFontResource* This, IDWriteFontFile** fontfile) { - return This->lpVtbl->GetFontFile(This, fontfile); -} -static inline UINT32 IDWriteFontResource_GetFontFaceIndex(IDWriteFontResource* This) { - return This->lpVtbl->GetFontFaceIndex(This); -} -static inline UINT32 IDWriteFontResource_GetFontAxisCount(IDWriteFontResource* This) { - return This->lpVtbl->GetFontAxisCount(This); -} -static inline HRESULT IDWriteFontResource_GetDefaultFontAxisValues(IDWriteFontResource* This, DWRITE_FONT_AXIS_VALUE* values, UINT32 num_values) { - return This->lpVtbl->GetDefaultFontAxisValues(This, values, num_values); -} -static inline HRESULT IDWriteFontResource_GetFontAxisRanges(IDWriteFontResource* This, DWRITE_FONT_AXIS_RANGE* ranges, UINT32 num_ranges) { - return This->lpVtbl->GetFontAxisRanges(This, ranges, num_ranges); -} -static inline DWRITE_FONT_AXIS_ATTRIBUTES IDWriteFontResource_GetFontAxisAttributes(IDWriteFontResource* This, UINT32 axis) { - return This->lpVtbl->GetFontAxisAttributes(This, axis); -} -static inline HRESULT IDWriteFontResource_GetAxisNames(IDWriteFontResource* This, UINT32 axis, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetAxisNames(This, axis, names); -} -static inline UINT32 IDWriteFontResource_GetAxisValueNameCount(IDWriteFontResource* This, UINT32 axis) { - return This->lpVtbl->GetAxisValueNameCount(This, axis); -} -static inline HRESULT IDWriteFontResource_GetAxisValueNames(IDWriteFontResource* This, UINT32 axis, UINT32 axis_value, DWRITE_FONT_AXIS_RANGE* axis_range, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetAxisValueNames(This, axis, axis_value, axis_range, names); -} -static inline WINBOOL IDWriteFontResource_HasVariations(IDWriteFontResource* This) { - return This->lpVtbl->HasVariations(This); -} -static inline HRESULT IDWriteFontResource_CreateFontFace(IDWriteFontResource* This, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontFace5** fontface) { - return This->lpVtbl->CreateFontFace(This, simulations, axis_values, num_values, fontface); -} -static inline HRESULT IDWriteFontResource_CreateFontFaceReference(IDWriteFontResource* This, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontFaceReference1** reference) { - return This->lpVtbl->CreateFontFaceReference(This, simulations, axis_values, num_values, reference); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontResource_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSet1 interface - */ -#ifndef __IDWriteFontSet1_INTERFACE_DEFINED__ -#define __IDWriteFontSet1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc, 0x47, 0x7a, 0xe3, 0x53, 0x0d, 0xb4, 0xd3); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("7e9fda85-6c92-4053-bc47-7ae3530db4d3") -IDWriteFontSet1 : public IDWriteFontSet { - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( - const DWRITE_FONT_PROPERTY* property, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontSet1** fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFirstFontResources( - IDWriteFontSet1 * *fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts__( - const UINT32* indices, - UINT32 num_indices, - IDWriteFontSet1** fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts_( - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - IDWriteFontSet1** fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts( - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_property, - IDWriteFontSet1** fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices_( - const DWRITE_FONT_AXIS_RANGE* ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilteredFontIndices( - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges_( - UINT32 font_index, - DWRITE_FONT_AXIS_RANGE * axis_ranges, - UINT32 num_ranges, - UINT32 * actual_num_ranges) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisRanges( - DWRITE_FONT_AXIS_RANGE * axis_ranges, - UINT32 num_ranges, - UINT32 * actual_num_ranges) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - UINT32 index, - IDWriteFontFaceReference1 * *reference) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontResource( - UINT32 index, - IDWriteFontResource * *resource) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - UINT32 index, - IDWriteFontFace5 * *fontface) = 0; - - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( - UINT32 index) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc, 0x47, 0x7a, 0xe3, 0x53, 0x0d, 0xb4, 0xd3) -#endif -#else -typedef struct IDWriteFontSet1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSet1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSet1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSet1* This); - - /*** IDWriteFontSet methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontSet1* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontSet1* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( - IDWriteFontSet1* This, - IDWriteFontFaceReference* reference, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* FindFontFace)( - IDWriteFontSet1* This, - IDWriteFontFace* fontface, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues__)( - IDWriteFontSet1* This, - DWRITE_FONT_PROPERTY_ID id, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues_)( - IDWriteFontSet1* This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR* preferred_locales, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues)( - IDWriteFontSet1* This, - UINT32 index, - DWRITE_FONT_PROPERTY_ID id, - WINBOOL* exists, - IDWriteLocalizedStrings** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyOccurrenceCount)( - IDWriteFontSet1* This, - const DWRITE_FONT_PROPERTY* property, - UINT32* count); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts_)( - IDWriteFontSet1* This, - const WCHAR* family, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontSet1* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 count, - IDWriteFontSet** fontset); - - /*** IDWriteFontSet1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetMatchingFonts)( - IDWriteFontSet1* This, - const DWRITE_FONT_PROPERTY* property, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFirstFontResources)( - IDWriteFontSet1* This, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts__)( - IDWriteFontSet1* This, - const UINT32* indices, - UINT32 num_indices, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts_)( - IDWriteFontSet1* This, - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts)( - IDWriteFontSet1* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_property, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices_)( - IDWriteFontSet1* This, - const DWRITE_FONT_AXIS_RANGE* ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices)( - IDWriteFontSet1* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges_)( - IDWriteFontSet1* This, - UINT32 font_index, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges)( - IDWriteFontSet1* This, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetFontFaceReference)( - IDWriteFontSet1* This, - UINT32 index, - IDWriteFontFaceReference1** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFontSet1* This, - UINT32 index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontSet1* This, - UINT32 index, - IDWriteFontFace5** fontface); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontSet1* This, - UINT32 index); - - END_INTERFACE -} IDWriteFontSet1Vtbl; - -interface IDWriteFontSet1 { - CONST_VTBL IDWriteFontSet1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSet1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSet1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSet1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSet methods ***/ -#define IDWriteFontSet1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontSet1_FindFontFaceReference(This, reference, index, exists) (This)->lpVtbl->FindFontFaceReference(This, reference, index, exists) -#define IDWriteFontSet1_FindFontFace(This, fontface, index, exists) (This)->lpVtbl->FindFontFace(This, fontface, index, exists) -#define IDWriteFontSet1_GetPropertyValues__(This, id, values) (This)->lpVtbl->GetPropertyValues__(This, id, values) -#define IDWriteFontSet1_GetPropertyValues_(This, id, preferred_locales, values) (This)->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values) -#define IDWriteFontSet1_GetPropertyValues(This, index, id, exists, values) (This)->lpVtbl->GetPropertyValues(This, index, id, exists, values) -#define IDWriteFontSet1_GetPropertyOccurrenceCount(This, property, count) (This)->lpVtbl->GetPropertyOccurrenceCount(This, property, count) -#define IDWriteFontSet1_GetMatchingFonts_(This, family, weight, stretch, style, fontset) (This)->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset) -/*** IDWriteFontSet1 methods ***/ -#define IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset) -#define IDWriteFontSet1_GetFirstFontResources(This, fontset) (This)->lpVtbl->GetFirstFontResources(This, fontset) -#define IDWriteFontSet1_GetFilteredFonts__(This, indices, num_indices, fontset) (This)->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset) -#define IDWriteFontSet1_GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) (This)->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) -#define IDWriteFontSet1_GetFilteredFonts(This, props, num_properties, select_any_property, fontset) (This)->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset) -#define IDWriteFontSet1_GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet1_GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet1_GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet1_GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet1_GetFontFaceReference(This, index, reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference) -#define IDWriteFontSet1_CreateFontResource(This, index, resource) (This)->lpVtbl->CreateFontResource(This, index, resource) -#define IDWriteFontSet1_CreateFontFace(This, index, fontface) (This)->lpVtbl->CreateFontFace(This, index, fontface) -#define IDWriteFontSet1_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSet1_QueryInterface(IDWriteFontSet1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSet1_AddRef(IDWriteFontSet1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSet1_Release(IDWriteFontSet1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSet methods ***/ -static inline UINT32 IDWriteFontSet1_GetFontCount(IDWriteFontSet1* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontSet1_FindFontFaceReference(IDWriteFontSet1* This, IDWriteFontFaceReference* reference, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFaceReference(This, reference, index, exists); -} -static inline HRESULT IDWriteFontSet1_FindFontFace(IDWriteFontSet1* This, IDWriteFontFace* fontface, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFace(This, fontface, index, exists); -} -static inline HRESULT IDWriteFontSet1_GetPropertyValues__(IDWriteFontSet1* This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues__(This, id, values); -} -static inline HRESULT IDWriteFontSet1_GetPropertyValues_(IDWriteFontSet1* This, DWRITE_FONT_PROPERTY_ID id, const WCHAR* preferred_locales, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values); -} -static inline HRESULT IDWriteFontSet1_GetPropertyValues(IDWriteFontSet1* This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL* exists, IDWriteLocalizedStrings** values) { - return This->lpVtbl->GetPropertyValues(This, index, id, exists, values); -} -static inline HRESULT IDWriteFontSet1_GetPropertyOccurrenceCount(IDWriteFontSet1* This, const DWRITE_FONT_PROPERTY* property, UINT32* count) { - return This->lpVtbl->GetPropertyOccurrenceCount(This, property, count); -} -static inline HRESULT IDWriteFontSet1_GetMatchingFonts_(IDWriteFontSet1* This, const WCHAR* family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet** fontset) { - return This->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset); -} -/*** IDWriteFontSet1 methods ***/ -static inline HRESULT IDWriteFontSet1_GetMatchingFonts(IDWriteFontSet1* This, const DWRITE_FONT_PROPERTY* property, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontSet1** fontset) { - return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset); -} -static inline HRESULT IDWriteFontSet1_GetFirstFontResources(IDWriteFontSet1* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFirstFontResources(This, fontset); -} -static inline HRESULT IDWriteFontSet1_GetFilteredFonts__(IDWriteFontSet1* This, const UINT32* indices, UINT32 num_indices, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset); -} -static inline HRESULT IDWriteFontSet1_GetFilteredFonts_(IDWriteFontSet1* This, const DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset); -} -static inline HRESULT IDWriteFontSet1_GetFilteredFonts(IDWriteFontSet1* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset); -} -static inline HRESULT IDWriteFontSet1_GetFilteredFontIndices_(IDWriteFontSet1* This, const DWRITE_FONT_AXIS_RANGE* ranges, UINT32 num_ranges, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet1_GetFilteredFontIndices(IDWriteFontSet1* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet1_GetFontAxisRanges_(IDWriteFontSet1* This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet1_GetFontAxisRanges(IDWriteFontSet1* This, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet1_GetFontFaceReference(IDWriteFontSet1* This, UINT32 index, IDWriteFontFaceReference1** reference) { - return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference); -} -static inline HRESULT IDWriteFontSet1_CreateFontResource(IDWriteFontSet1* This, UINT32 index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, index, resource); -} -static inline HRESULT IDWriteFontSet1_CreateFontFace(IDWriteFontSet1* This, UINT32 index, IDWriteFontFace5** fontface) { - return This->lpVtbl->CreateFontFace(This, index, fontface); -} -static inline DWRITE_LOCALITY IDWriteFontSet1_GetFontLocality(IDWriteFontSet1* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSet1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFont3 interface - */ -#ifndef __IDWriteFont3_INTERFACE_DEFINED__ -#define __IDWriteFont3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("29748ed6-8c9c-4a6a-be0b-d912e8538944") -IDWriteFont3 : public IDWriteFont2 { - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - IDWriteFontFace3 * *fontface) = 0; - - virtual WINBOOL STDMETHODCALLTYPE Equals( - IDWriteFont * font) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - IDWriteFontFaceReference * *reference) = 0; - - virtual WINBOOL STDMETHODCALLTYPE HasCharacter( - UINT32 character) = 0; - - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44) -#endif -#else -typedef struct IDWriteFont3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFont3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFont3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFont3* This); - - /*** IDWriteFont methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFont3* This, - IDWriteFontFamily** family); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFont3* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFont3* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFont3* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFont3* This); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFont3* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFont3* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFont3* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFont3* This, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFont3* This, - UINT32 value, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFont3* This, - IDWriteFontFace** face); - - /*** IDWriteFont1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFont1_GetMetrics)( - IDWriteFont3* This, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFont3* This, - DWRITE_PANOSE* panose); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFont3* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFont3* This); - - /*** IDWriteFont2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFont3* This); - - /*** IDWriteFont3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFont3_CreateFontFace)( - IDWriteFont3* This, - IDWriteFontFace3** fontface); - - WINBOOL(STDMETHODCALLTYPE* Equals)( - IDWriteFont3* This, - IDWriteFont* font); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFont3* This, - IDWriteFontFaceReference** reference); - - WINBOOL(STDMETHODCALLTYPE* IDWriteFont3_HasCharacter)( - IDWriteFont3* This, - UINT32 character); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( - IDWriteFont3* This); - - END_INTERFACE -} IDWriteFont3Vtbl; - -interface IDWriteFont3 { - CONST_VTBL IDWriteFont3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFont3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFont3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFont3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFont methods ***/ -#define IDWriteFont3_GetFontFamily(This, family) (This)->lpVtbl->GetFontFamily(This, family) -#define IDWriteFont3_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFont3_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFont3_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFont3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFont3_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names) -#define IDWriteFont3_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFont3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -/*** IDWriteFont1 methods ***/ -#define IDWriteFont3_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFont1_GetMetrics(This, metrics) -#define IDWriteFont3_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFont3_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFont3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -/*** IDWriteFont2 methods ***/ -#define IDWriteFont3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -/*** IDWriteFont3 methods ***/ -#define IDWriteFont3_CreateFontFace(This, fontface) (This)->lpVtbl->IDWriteFont3_CreateFontFace(This, fontface) -#define IDWriteFont3_Equals(This, font) (This)->lpVtbl->Equals(This, font) -#define IDWriteFont3_GetFontFaceReference(This, reference) (This)->lpVtbl->GetFontFaceReference(This, reference) -#define IDWriteFont3_HasCharacter(This, character) (This)->lpVtbl->IDWriteFont3_HasCharacter(This, character) -#define IDWriteFont3_GetLocality(This) (This)->lpVtbl->GetLocality(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFont3_QueryInterface(IDWriteFont3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFont3_AddRef(IDWriteFont3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFont3_Release(IDWriteFont3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFont methods ***/ -static inline HRESULT IDWriteFont3_GetFontFamily(IDWriteFont3* This, IDWriteFontFamily** family) { - return This->lpVtbl->GetFontFamily(This, family); -} -static inline DWRITE_FONT_WEIGHT IDWriteFont3_GetWeight(IDWriteFont3* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFont3_GetStretch(IDWriteFont3* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFont3_GetStyle(IDWriteFont3* This) { - return This->lpVtbl->GetStyle(This); -} -static inline WINBOOL IDWriteFont3_IsSymbolFont(IDWriteFont3* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline HRESULT IDWriteFont3_GetFaceNames(IDWriteFont3* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFaceNames(This, names); -} -static inline HRESULT IDWriteFont3_GetInformationalStrings(IDWriteFont3* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFont3_GetSimulations(IDWriteFont3* This) { - return This->lpVtbl->GetSimulations(This); -} -/*** IDWriteFont1 methods ***/ -static inline void IDWriteFont3_GetMetrics(IDWriteFont3* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFont1_GetMetrics(This, metrics); -} -static inline void IDWriteFont3_GetPanose(IDWriteFont3* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline HRESULT IDWriteFont3_GetUnicodeRanges(IDWriteFont3* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFont3_IsMonospacedFont(IDWriteFont3* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -/*** IDWriteFont2 methods ***/ -static inline WINBOOL IDWriteFont3_IsColorFont(IDWriteFont3* This) { - return This->lpVtbl->IsColorFont(This); -} -/*** IDWriteFont3 methods ***/ -static inline HRESULT IDWriteFont3_CreateFontFace(IDWriteFont3* This, IDWriteFontFace3** fontface) { - return This->lpVtbl->IDWriteFont3_CreateFontFace(This, fontface); -} -static inline WINBOOL IDWriteFont3_Equals(IDWriteFont3* This, IDWriteFont* font) { - return This->lpVtbl->Equals(This, font); -} -static inline HRESULT IDWriteFont3_GetFontFaceReference(IDWriteFont3* This, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, reference); -} -static inline WINBOOL IDWriteFont3_HasCharacter(IDWriteFont3* This, UINT32 character) { - return This->lpVtbl->IDWriteFont3_HasCharacter(This, character); -} -static inline DWRITE_LOCALITY IDWriteFont3_GetLocality(IDWriteFont3* This) { - return This->lpVtbl->GetLocality(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFont3_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFamily1 interface - */ -#ifndef __IDWriteFontFamily1_INTERFACE_DEFINED__ -#define __IDWriteFontFamily1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdf); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7adf") -IDWriteFontFamily1 : public IDWriteFontFamily { - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( - UINT32 index) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFont( - UINT32 index, - IDWriteFont3 * *font) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - UINT32 index, - IDWriteFontFaceReference * *reference) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdf) -#endif -#else -typedef struct IDWriteFontFamily1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFamily1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFamily1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFamily1* This); - - /*** IDWriteFontList methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteFontFamily1* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontFamily1* This); - - HRESULT(STDMETHODCALLTYPE* GetFont)( - IDWriteFontFamily1* This, - UINT32 index, - IDWriteFont** font); - - /*** IDWriteFontFamily methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFamily1* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFirstMatchingFont)( - IDWriteFontFamily1* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFont** font); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontFamily1* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontList** fonts); - - /*** IDWriteFontFamily1 methods ***/ - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontFamily1* This, - UINT32 index); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFamily1_GetFont)( - IDWriteFontFamily1* This, - UINT32 index, - IDWriteFont3** font); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFamily1* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - END_INTERFACE -} IDWriteFontFamily1Vtbl; - -interface IDWriteFontFamily1 { - CONST_VTBL IDWriteFontFamily1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFamily1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFamily1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFamily1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontList methods ***/ -#define IDWriteFontFamily1_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteFontFamily1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -/*** IDWriteFontFamily methods ***/ -#define IDWriteFontFamily1_GetFamilyNames(This, names) (This)->lpVtbl->GetFamilyNames(This, names) -#define IDWriteFontFamily1_GetFirstMatchingFont(This, weight, stretch, style, font) (This)->lpVtbl->GetFirstMatchingFont(This, weight, stretch, style, font) -#define IDWriteFontFamily1_GetMatchingFonts(This, weight, stretch, style, fonts) (This)->lpVtbl->GetMatchingFonts(This, weight, stretch, style, fonts) -/*** IDWriteFontFamily1 methods ***/ -#define IDWriteFontFamily1_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -#define IDWriteFontFamily1_GetFont(This, index, font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This, index, font) -#define IDWriteFontFamily1_GetFontFaceReference(This, index, reference) (This)->lpVtbl->GetFontFaceReference(This, index, reference) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFamily1_QueryInterface(IDWriteFontFamily1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFamily1_AddRef(IDWriteFontFamily1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFamily1_Release(IDWriteFontFamily1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontList methods ***/ -static inline HRESULT IDWriteFontFamily1_GetFontCollection(IDWriteFontFamily1* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteFontFamily1_GetFontCount(IDWriteFontFamily1* This) { - return This->lpVtbl->GetFontCount(This); -} -/*** IDWriteFontFamily methods ***/ -static inline HRESULT IDWriteFontFamily1_GetFamilyNames(IDWriteFontFamily1* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFamilyNames(This, names); -} -static inline HRESULT IDWriteFontFamily1_GetFirstMatchingFont(IDWriteFontFamily1* This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont** font) { - return This->lpVtbl->GetFirstMatchingFont(This, weight, stretch, style, font); -} -static inline HRESULT IDWriteFontFamily1_GetMatchingFonts(IDWriteFontFamily1* This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontList** fonts) { - return This->lpVtbl->GetMatchingFonts(This, weight, stretch, style, fonts); -} -/*** IDWriteFontFamily1 methods ***/ -static inline DWRITE_LOCALITY IDWriteFontFamily1_GetFontLocality(IDWriteFontFamily1* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -static inline HRESULT IDWriteFontFamily1_GetFont(IDWriteFontFamily1* This, UINT32 index, IDWriteFont3** font) { - return This->lpVtbl->IDWriteFontFamily1_GetFont(This, index, font); -} -static inline HRESULT IDWriteFontFamily1_GetFontFaceReference(IDWriteFontFamily1* This, UINT32 index, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, index, reference); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFamily1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFamily2 interface - */ -#ifndef __IDWriteFontFamily2_INTERFACE_DEFINED__ -#define __IDWriteFontFamily2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9, 0xcf, 0xc1, 0x26, 0xc2, 0x13, 0x1e, 0xf3); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("3ed49e77-a398-4261-b9cf-c126c2131ef3") -IDWriteFontFamily2 : public IDWriteFontFamily1 { - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontList2** fontlist) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontSet( - IDWriteFontSet1 * *fontset) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9, 0xcf, 0xc1, 0x26, 0xc2, 0x13, 0x1e, 0xf3) -#endif -#else -typedef struct IDWriteFontFamily2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFamily2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFamily2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFamily2* This); - - /*** IDWriteFontList methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteFontFamily2* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontFamily2* This); - - HRESULT(STDMETHODCALLTYPE* GetFont)( - IDWriteFontFamily2* This, - UINT32 index, - IDWriteFont** font); - - /*** IDWriteFontFamily methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFamily2* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFirstMatchingFont)( - IDWriteFontFamily2* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFont** font); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontFamily2* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontList** fonts); - - /*** IDWriteFontFamily1 methods ***/ - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontFamily2* This, - UINT32 index); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFamily1_GetFont)( - IDWriteFontFamily2* This, - UINT32 index, - IDWriteFont3** font); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFamily2* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - /*** IDWriteFontFamily2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontFamily2_GetMatchingFonts)( - IDWriteFontFamily2* This, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontList2** fontlist); - - HRESULT(STDMETHODCALLTYPE* GetFontSet)( - IDWriteFontFamily2* This, - IDWriteFontSet1** fontset); - - END_INTERFACE -} IDWriteFontFamily2Vtbl; - -interface IDWriteFontFamily2 { - CONST_VTBL IDWriteFontFamily2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFamily2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFamily2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFamily2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontList methods ***/ -#define IDWriteFontFamily2_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteFontFamily2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -/*** IDWriteFontFamily methods ***/ -#define IDWriteFontFamily2_GetFamilyNames(This, names) (This)->lpVtbl->GetFamilyNames(This, names) -#define IDWriteFontFamily2_GetFirstMatchingFont(This, weight, stretch, style, font) (This)->lpVtbl->GetFirstMatchingFont(This, weight, stretch, style, font) -/*** IDWriteFontFamily1 methods ***/ -#define IDWriteFontFamily2_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -#define IDWriteFontFamily2_GetFont(This, index, font) (This)->lpVtbl->IDWriteFontFamily1_GetFont(This, index, font) -#define IDWriteFontFamily2_GetFontFaceReference(This, index, reference) (This)->lpVtbl->GetFontFaceReference(This, index, reference) -/*** IDWriteFontFamily2 methods ***/ -#define IDWriteFontFamily2_GetMatchingFonts(This, axis_values, num_values, fontlist) (This)->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This, axis_values, num_values, fontlist) -#define IDWriteFontFamily2_GetFontSet(This, fontset) (This)->lpVtbl->GetFontSet(This, fontset) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFamily2_QueryInterface(IDWriteFontFamily2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFamily2_AddRef(IDWriteFontFamily2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFamily2_Release(IDWriteFontFamily2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontList methods ***/ -static inline HRESULT IDWriteFontFamily2_GetFontCollection(IDWriteFontFamily2* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteFontFamily2_GetFontCount(IDWriteFontFamily2* This) { - return This->lpVtbl->GetFontCount(This); -} -/*** IDWriteFontFamily methods ***/ -static inline HRESULT IDWriteFontFamily2_GetFamilyNames(IDWriteFontFamily2* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFamilyNames(This, names); -} -static inline HRESULT IDWriteFontFamily2_GetFirstMatchingFont(IDWriteFontFamily2* This, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFont** font) { - return This->lpVtbl->GetFirstMatchingFont(This, weight, stretch, style, font); -} -/*** IDWriteFontFamily1 methods ***/ -static inline DWRITE_LOCALITY IDWriteFontFamily2_GetFontLocality(IDWriteFontFamily2* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -static inline HRESULT IDWriteFontFamily2_GetFont(IDWriteFontFamily2* This, UINT32 index, IDWriteFont3** font) { - return This->lpVtbl->IDWriteFontFamily1_GetFont(This, index, font); -} -static inline HRESULT IDWriteFontFamily2_GetFontFaceReference(IDWriteFontFamily2* This, UINT32 index, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, index, reference); -} -/*** IDWriteFontFamily2 methods ***/ -static inline HRESULT IDWriteFontFamily2_GetMatchingFonts(IDWriteFontFamily2* This, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontList2** fontlist) { - return This->lpVtbl->IDWriteFontFamily2_GetMatchingFonts(This, axis_values, num_values, fontlist); -} -static inline HRESULT IDWriteFontFamily2_GetFontSet(IDWriteFontFamily2* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFontSet(This, fontset); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFamily2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontCollection1 interface - */ -#ifndef __IDWriteFontCollection1_INTERFACE_DEFINED__ -#define __IDWriteFontCollection1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6c); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("53585141-d9f8-4095-8321-d73cf6bd116c") -IDWriteFontCollection1 : public IDWriteFontCollection { - virtual HRESULT STDMETHODCALLTYPE GetFontSet( - IDWriteFontSet * *fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFamily( - UINT32 index, - IDWriteFontFamily1 * *family) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6c) -#endif -#else -typedef struct IDWriteFontCollection1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontCollection1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontCollection1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontCollection1* This); - - /*** IDWriteFontCollection methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( - IDWriteFontCollection1* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFontCollection1* This, - UINT32 index, - IDWriteFontFamily** family); - - HRESULT(STDMETHODCALLTYPE* FindFamilyName)( - IDWriteFontCollection1* This, - const WCHAR* name, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( - IDWriteFontCollection1* This, - IDWriteFontFace* face, - IDWriteFont** font); - - /*** IDWriteFontCollection1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontSet)( - IDWriteFontCollection1* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection1_GetFontFamily)( - IDWriteFontCollection1* This, - UINT32 index, - IDWriteFontFamily1** family); - - END_INTERFACE -} IDWriteFontCollection1Vtbl; - -interface IDWriteFontCollection1 { - CONST_VTBL IDWriteFontCollection1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontCollection1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontCollection1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontCollection1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontCollection methods ***/ -#define IDWriteFontCollection1_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) -#define IDWriteFontCollection1_FindFamilyName(This, name, index, exists) (This)->lpVtbl->FindFamilyName(This, name, index, exists) -#define IDWriteFontCollection1_GetFontFromFontFace(This, face, font) (This)->lpVtbl->GetFontFromFontFace(This, face, font) -/*** IDWriteFontCollection1 methods ***/ -#define IDWriteFontCollection1_GetFontSet(This, fontset) (This)->lpVtbl->GetFontSet(This, fontset) -#define IDWriteFontCollection1_GetFontFamily(This, index, family) (This)->lpVtbl->IDWriteFontCollection1_GetFontFamily(This, index, family) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontCollection1_QueryInterface(IDWriteFontCollection1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontCollection1_AddRef(IDWriteFontCollection1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontCollection1_Release(IDWriteFontCollection1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontCollection methods ***/ -static inline UINT32 IDWriteFontCollection1_GetFontFamilyCount(IDWriteFontCollection1* This) { - return This->lpVtbl->GetFontFamilyCount(This); -} -static inline HRESULT IDWriteFontCollection1_FindFamilyName(IDWriteFontCollection1* This, const WCHAR* name, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFamilyName(This, name, index, exists); -} -static inline HRESULT IDWriteFontCollection1_GetFontFromFontFace(IDWriteFontCollection1* This, IDWriteFontFace* face, IDWriteFont** font) { - return This->lpVtbl->GetFontFromFontFace(This, face, font); -} -/*** IDWriteFontCollection1 methods ***/ -static inline HRESULT IDWriteFontCollection1_GetFontSet(IDWriteFontCollection1* This, IDWriteFontSet** fontset) { - return This->lpVtbl->GetFontSet(This, fontset); -} -static inline HRESULT IDWriteFontCollection1_GetFontFamily(IDWriteFontCollection1* This, UINT32 index, IDWriteFontFamily1** family) { - return This->lpVtbl->IDWriteFontCollection1_GetFontFamily(This, index, family); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontCollection1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontCollection2 interface - */ -#ifndef __IDWriteFontCollection2_INTERFACE_DEFINED__ -#define __IDWriteFontCollection2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf, 0x8b, 0x92, 0xea, 0x83, 0xe5, 0x06, 0xe0); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("514039c6-4617-4064-bf8b-92ea83e506e0") -IDWriteFontCollection2 : public IDWriteFontCollection1 { - virtual HRESULT STDMETHODCALLTYPE GetFontFamily( - UINT32 index, - IDWriteFontFamily2 * *family) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( - const WCHAR* familyname, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontList2** fontlist) = 0; - - virtual DWRITE_FONT_FAMILY_MODEL STDMETHODCALLTYPE GetFontFamilyModel() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontSet( - IDWriteFontSet1 * *fontset) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf, 0x8b, 0x92, 0xea, 0x83, 0xe5, 0x06, 0xe0) -#endif -#else -typedef struct IDWriteFontCollection2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontCollection2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontCollection2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontCollection2* This); - - /*** IDWriteFontCollection methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( - IDWriteFontCollection2* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFontCollection2* This, - UINT32 index, - IDWriteFontFamily** family); - - HRESULT(STDMETHODCALLTYPE* FindFamilyName)( - IDWriteFontCollection2* This, - const WCHAR* name, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( - IDWriteFontCollection2* This, - IDWriteFontFace* face, - IDWriteFont** font); - - /*** IDWriteFontCollection1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontSet)( - IDWriteFontCollection2* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection1_GetFontFamily)( - IDWriteFontCollection2* This, - UINT32 index, - IDWriteFontFamily1** family); - - /*** IDWriteFontCollection2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection2_GetFontFamily)( - IDWriteFontCollection2* This, - UINT32 index, - IDWriteFontFamily2** family); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontCollection2* This, - const WCHAR* familyname, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontList2** fontlist); - - DWRITE_FONT_FAMILY_MODEL(STDMETHODCALLTYPE* GetFontFamilyModel)( - IDWriteFontCollection2* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection2_GetFontSet)( - IDWriteFontCollection2* This, - IDWriteFontSet1** fontset); - - END_INTERFACE -} IDWriteFontCollection2Vtbl; - -interface IDWriteFontCollection2 { - CONST_VTBL IDWriteFontCollection2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontCollection2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontCollection2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontCollection2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontCollection methods ***/ -#define IDWriteFontCollection2_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) -#define IDWriteFontCollection2_FindFamilyName(This, name, index, exists) (This)->lpVtbl->FindFamilyName(This, name, index, exists) -#define IDWriteFontCollection2_GetFontFromFontFace(This, face, font) (This)->lpVtbl->GetFontFromFontFace(This, face, font) -/*** IDWriteFontCollection1 methods ***/ -/*** IDWriteFontCollection2 methods ***/ -#define IDWriteFontCollection2_GetFontFamily(This, index, family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This, index, family) -#define IDWriteFontCollection2_GetMatchingFonts(This, familyname, axis_values, num_values, fontlist) (This)->lpVtbl->GetMatchingFonts(This, familyname, axis_values, num_values, fontlist) -#define IDWriteFontCollection2_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) -#define IDWriteFontCollection2_GetFontSet(This, fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This, fontset) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontCollection2_QueryInterface(IDWriteFontCollection2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontCollection2_AddRef(IDWriteFontCollection2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontCollection2_Release(IDWriteFontCollection2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontCollection methods ***/ -static inline UINT32 IDWriteFontCollection2_GetFontFamilyCount(IDWriteFontCollection2* This) { - return This->lpVtbl->GetFontFamilyCount(This); -} -static inline HRESULT IDWriteFontCollection2_FindFamilyName(IDWriteFontCollection2* This, const WCHAR* name, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFamilyName(This, name, index, exists); -} -static inline HRESULT IDWriteFontCollection2_GetFontFromFontFace(IDWriteFontCollection2* This, IDWriteFontFace* face, IDWriteFont** font) { - return This->lpVtbl->GetFontFromFontFace(This, face, font); -} -/*** IDWriteFontCollection1 methods ***/ -/*** IDWriteFontCollection2 methods ***/ -static inline HRESULT IDWriteFontCollection2_GetFontFamily(IDWriteFontCollection2* This, UINT32 index, IDWriteFontFamily2** family) { - return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This, index, family); -} -static inline HRESULT IDWriteFontCollection2_GetMatchingFonts(IDWriteFontCollection2* This, const WCHAR* familyname, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontList2** fontlist) { - return This->lpVtbl->GetMatchingFonts(This, familyname, axis_values, num_values, fontlist); -} -static inline DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection2_GetFontFamilyModel(IDWriteFontCollection2* This) { - return This->lpVtbl->GetFontFamilyModel(This); -} -static inline HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This, fontset); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontCollection2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontCollection3 interface - */ -#ifndef __IDWriteFontCollection3_INTERFACE_DEFINED__ -#define __IDWriteFontCollection3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93, 0xb7, 0x9e, 0x30, 0x9f, 0x3a, 0xf8, 0xe9); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("a4d055a6-f9e3-4e25-93b7-9e309f3af8e9") -IDWriteFontCollection3 : public IDWriteFontCollection2 { - virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93, 0xb7, 0x9e, 0x30, 0x9f, 0x3a, 0xf8, 0xe9) -#endif -#else -typedef struct IDWriteFontCollection3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontCollection3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontCollection3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontCollection3* This); - - /*** IDWriteFontCollection methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( - IDWriteFontCollection3* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamily)( - IDWriteFontCollection3* This, - UINT32 index, - IDWriteFontFamily** family); - - HRESULT(STDMETHODCALLTYPE* FindFamilyName)( - IDWriteFontCollection3* This, - const WCHAR* name, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( - IDWriteFontCollection3* This, - IDWriteFontFace* face, - IDWriteFont** font); - - /*** IDWriteFontCollection1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontSet)( - IDWriteFontCollection3* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection1_GetFontFamily)( - IDWriteFontCollection3* This, - UINT32 index, - IDWriteFontFamily1** family); - - /*** IDWriteFontCollection2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection2_GetFontFamily)( - IDWriteFontCollection3* This, - UINT32 index, - IDWriteFontFamily2** family); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontCollection3* This, - const WCHAR* familyname, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontList2** fontlist); - - DWRITE_FONT_FAMILY_MODEL(STDMETHODCALLTYPE* GetFontFamilyModel)( - IDWriteFontCollection3* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection2_GetFontSet)( - IDWriteFontCollection3* This, - IDWriteFontSet1** fontset); - - /*** IDWriteFontCollection3 methods ***/ - HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( - IDWriteFontCollection3* This); - - END_INTERFACE -} IDWriteFontCollection3Vtbl; - -interface IDWriteFontCollection3 { - CONST_VTBL IDWriteFontCollection3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontCollection3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontCollection3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontCollection3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontCollection methods ***/ -#define IDWriteFontCollection3_GetFontFamilyCount(This) (This)->lpVtbl->GetFontFamilyCount(This) -#define IDWriteFontCollection3_FindFamilyName(This, name, index, exists) (This)->lpVtbl->FindFamilyName(This, name, index, exists) -#define IDWriteFontCollection3_GetFontFromFontFace(This, face, font) (This)->lpVtbl->GetFontFromFontFace(This, face, font) -/*** IDWriteFontCollection1 methods ***/ -/*** IDWriteFontCollection2 methods ***/ -#define IDWriteFontCollection3_GetFontFamily(This, index, family) (This)->lpVtbl->IDWriteFontCollection2_GetFontFamily(This, index, family) -#define IDWriteFontCollection3_GetMatchingFonts(This, familyname, axis_values, num_values, fontlist) (This)->lpVtbl->GetMatchingFonts(This, familyname, axis_values, num_values, fontlist) -#define IDWriteFontCollection3_GetFontFamilyModel(This) (This)->lpVtbl->GetFontFamilyModel(This) -#define IDWriteFontCollection3_GetFontSet(This, fontset) (This)->lpVtbl->IDWriteFontCollection2_GetFontSet(This, fontset) -/*** IDWriteFontCollection3 methods ***/ -#define IDWriteFontCollection3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontCollection3_QueryInterface(IDWriteFontCollection3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontCollection3_AddRef(IDWriteFontCollection3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontCollection3_Release(IDWriteFontCollection3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontCollection methods ***/ -static inline UINT32 IDWriteFontCollection3_GetFontFamilyCount(IDWriteFontCollection3* This) { - return This->lpVtbl->GetFontFamilyCount(This); -} -static inline HRESULT IDWriteFontCollection3_FindFamilyName(IDWriteFontCollection3* This, const WCHAR* name, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFamilyName(This, name, index, exists); -} -static inline HRESULT IDWriteFontCollection3_GetFontFromFontFace(IDWriteFontCollection3* This, IDWriteFontFace* face, IDWriteFont** font) { - return This->lpVtbl->GetFontFromFontFace(This, face, font); -} -/*** IDWriteFontCollection1 methods ***/ -/*** IDWriteFontCollection2 methods ***/ -static inline HRESULT IDWriteFontCollection3_GetFontFamily(IDWriteFontCollection3* This, UINT32 index, IDWriteFontFamily2** family) { - return This->lpVtbl->IDWriteFontCollection2_GetFontFamily(This, index, family); -} -static inline HRESULT IDWriteFontCollection3_GetMatchingFonts(IDWriteFontCollection3* This, const WCHAR* familyname, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontList2** fontlist) { - return This->lpVtbl->GetMatchingFonts(This, familyname, axis_values, num_values, fontlist); -} -static inline DWRITE_FONT_FAMILY_MODEL IDWriteFontCollection3_GetFontFamilyModel(IDWriteFontCollection3* This) { - return This->lpVtbl->GetFontFamilyModel(This); -} -static inline HRESULT IDWriteFontCollection3_GetFontSet(IDWriteFontCollection3* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This, fontset); -} -/*** IDWriteFontCollection3 methods ***/ -static inline HANDLE IDWriteFontCollection3_GetExpirationEvent(IDWriteFontCollection3* This) { - return This->lpVtbl->GetExpirationEvent(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontCollection3_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFaceReference interface - */ -#ifndef __IDWriteFontFaceReference_INTERFACE_DEFINED__ -#define __IDWriteFontFaceReference_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89, 0xf0, 0x9f, 0xcd, 0x6f, 0xed, 0x58, 0xcd); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd") -IDWriteFontFaceReference : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - IDWriteFontFace3 * *fontface) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceWithSimulations( - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3 * *fontface) = 0; - - virtual WINBOOL STDMETHODCALLTYPE Equals( - IDWriteFontFaceReference * reference) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex() = 0; - - virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFile( - IDWriteFontFile * *fontfile) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetLocalFileSize() = 0; - - virtual UINT64 STDMETHODCALLTYPE GetFileSize() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFileTime( - FILETIME * writetime) = 0; - - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality() = 0; - - virtual HRESULT STDMETHODCALLTYPE EnqueueFontDownloadRequest() = 0; - - virtual HRESULT STDMETHODCALLTYPE EnqueueCharacterDownloadRequest( - const WCHAR* chars, - UINT32 count) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnqueueGlyphDownloadRequest( - const UINT16* glyphs, - UINT32 count) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnqueueFileFragmentDownloadRequest( - UINT64 offset, - UINT64 size) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89, 0xf0, 0x9f, 0xcd, 0x6f, 0xed, 0x58, 0xcd) -#endif -#else -typedef struct IDWriteFontFaceReferenceVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFaceReference* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFaceReference* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFaceReference* This); - - /*** IDWriteFontFaceReference methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontFaceReference* This, - IDWriteFontFace3** fontface); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceWithSimulations)( - IDWriteFontFaceReference* This, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3** fontface); - - WINBOOL(STDMETHODCALLTYPE* Equals)( - IDWriteFontFaceReference* This, - IDWriteFontFaceReference* reference); - - UINT32(STDMETHODCALLTYPE* GetFontFaceIndex)( - IDWriteFontFaceReference* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFaceReference* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFile)( - IDWriteFontFaceReference* This, - IDWriteFontFile** fontfile); - - UINT64(STDMETHODCALLTYPE* GetLocalFileSize)( - IDWriteFontFaceReference* This); - - UINT64(STDMETHODCALLTYPE* GetFileSize)( - IDWriteFontFaceReference* This); - - HRESULT(STDMETHODCALLTYPE* GetFileTime)( - IDWriteFontFaceReference* This, - FILETIME* writetime); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( - IDWriteFontFaceReference* This); - - HRESULT(STDMETHODCALLTYPE* EnqueueFontDownloadRequest)( - IDWriteFontFaceReference* This); - - HRESULT(STDMETHODCALLTYPE* EnqueueCharacterDownloadRequest)( - IDWriteFontFaceReference* This, - const WCHAR* chars, - UINT32 count); - - HRESULT(STDMETHODCALLTYPE* EnqueueGlyphDownloadRequest)( - IDWriteFontFaceReference* This, - const UINT16* glyphs, - UINT32 count); - - HRESULT(STDMETHODCALLTYPE* EnqueueFileFragmentDownloadRequest)( - IDWriteFontFaceReference* This, - UINT64 offset, - UINT64 size); - - END_INTERFACE -} IDWriteFontFaceReferenceVtbl; - -interface IDWriteFontFaceReference { - CONST_VTBL IDWriteFontFaceReferenceVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFaceReference_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFaceReference_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFaceReference_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFaceReference methods ***/ -#define IDWriteFontFaceReference_CreateFontFace(This, fontface) (This)->lpVtbl->CreateFontFace(This, fontface) -#define IDWriteFontFaceReference_CreateFontFaceWithSimulations(This, simulations, fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This, simulations, fontface) -#define IDWriteFontFaceReference_Equals(This, reference) (This)->lpVtbl->Equals(This, reference) -#define IDWriteFontFaceReference_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) -#define IDWriteFontFaceReference_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFaceReference_GetFontFile(This, fontfile) (This)->lpVtbl->GetFontFile(This, fontfile) -#define IDWriteFontFaceReference_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) -#define IDWriteFontFaceReference_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) -#define IDWriteFontFaceReference_GetFileTime(This, writetime) (This)->lpVtbl->GetFileTime(This, writetime) -#define IDWriteFontFaceReference_GetLocality(This) (This)->lpVtbl->GetLocality(This) -#define IDWriteFontFaceReference_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) -#define IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(This, chars, count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This, chars, count) -#define IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(This, glyphs, count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This, glyphs, count) -#define IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(This, offset, size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This, offset, size) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFaceReference_QueryInterface(IDWriteFontFaceReference* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFaceReference_AddRef(IDWriteFontFaceReference* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFaceReference_Release(IDWriteFontFaceReference* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFaceReference methods ***/ -static inline HRESULT IDWriteFontFaceReference_CreateFontFace(IDWriteFontFaceReference* This, IDWriteFontFace3** fontface) { - return This->lpVtbl->CreateFontFace(This, fontface); -} -static inline HRESULT IDWriteFontFaceReference_CreateFontFaceWithSimulations(IDWriteFontFaceReference* This, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFace3** fontface) { - return This->lpVtbl->CreateFontFaceWithSimulations(This, simulations, fontface); -} -static inline WINBOOL IDWriteFontFaceReference_Equals(IDWriteFontFaceReference* This, IDWriteFontFaceReference* reference) { - return This->lpVtbl->Equals(This, reference); -} -static inline UINT32 IDWriteFontFaceReference_GetFontFaceIndex(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetFontFaceIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference_GetSimulations(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline HRESULT IDWriteFontFaceReference_GetFontFile(IDWriteFontFaceReference* This, IDWriteFontFile** fontfile) { - return This->lpVtbl->GetFontFile(This, fontfile); -} -static inline UINT64 IDWriteFontFaceReference_GetLocalFileSize(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetLocalFileSize(This); -} -static inline UINT64 IDWriteFontFaceReference_GetFileSize(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetFileSize(This); -} -static inline HRESULT IDWriteFontFaceReference_GetFileTime(IDWriteFontFaceReference* This, FILETIME* writetime) { - return This->lpVtbl->GetFileTime(This, writetime); -} -static inline DWRITE_LOCALITY IDWriteFontFaceReference_GetLocality(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetLocality(This); -} -static inline HRESULT IDWriteFontFaceReference_EnqueueFontDownloadRequest(IDWriteFontFaceReference* This) { - return This->lpVtbl->EnqueueFontDownloadRequest(This); -} -static inline HRESULT IDWriteFontFaceReference_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference* This, const WCHAR* chars, UINT32 count) { - return This->lpVtbl->EnqueueCharacterDownloadRequest(This, chars, count); -} -static inline HRESULT IDWriteFontFaceReference_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference* This, const UINT16* glyphs, UINT32 count) { - return This->lpVtbl->EnqueueGlyphDownloadRequest(This, glyphs, count); -} -static inline HRESULT IDWriteFontFaceReference_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference* This, UINT64 offset, UINT64 size) { - return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This, offset, size); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFaceReference_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFaceReference1 interface - */ -#ifndef __IDWriteFontFaceReference1_INTERFACE_DEFINED__ -#define __IDWriteFontFaceReference1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5, 0xa3, 0x34, 0x98, 0x3c, 0x4b, 0xa6, 0x1a); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("c081fe77-2fd1-41ac-a5a3-34983c4ba61a") -IDWriteFontFaceReference1 : public IDWriteFontFaceReference { - virtual HRESULT STDMETHODCALLTYPE CreateFontFace( - IDWriteFontFace5 * *fontface) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE * values, - UINT32 num_values) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5, 0xa3, 0x34, 0x98, 0x3c, 0x4b, 0xa6, 0x1a) -#endif -#else -typedef struct IDWriteFontFaceReference1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFaceReference1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFaceReference1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFaceReference1* This); - - /*** IDWriteFontFaceReference methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontFaceReference1* This, - IDWriteFontFace3** fontface); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceWithSimulations)( - IDWriteFontFaceReference1* This, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3** fontface); - - WINBOOL(STDMETHODCALLTYPE* Equals)( - IDWriteFontFaceReference1* This, - IDWriteFontFaceReference* reference); - - UINT32(STDMETHODCALLTYPE* GetFontFaceIndex)( - IDWriteFontFaceReference1* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFaceReference1* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFile)( - IDWriteFontFaceReference1* This, - IDWriteFontFile** fontfile); - - UINT64(STDMETHODCALLTYPE* GetLocalFileSize)( - IDWriteFontFaceReference1* This); - - UINT64(STDMETHODCALLTYPE* GetFileSize)( - IDWriteFontFaceReference1* This); - - HRESULT(STDMETHODCALLTYPE* GetFileTime)( - IDWriteFontFaceReference1* This, - FILETIME* writetime); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( - IDWriteFontFaceReference1* This); - - HRESULT(STDMETHODCALLTYPE* EnqueueFontDownloadRequest)( - IDWriteFontFaceReference1* This); - - HRESULT(STDMETHODCALLTYPE* EnqueueCharacterDownloadRequest)( - IDWriteFontFaceReference1* This, - const WCHAR* chars, - UINT32 count); - - HRESULT(STDMETHODCALLTYPE* EnqueueGlyphDownloadRequest)( - IDWriteFontFaceReference1* This, - const UINT16* glyphs, - UINT32 count); - - HRESULT(STDMETHODCALLTYPE* EnqueueFileFragmentDownloadRequest)( - IDWriteFontFaceReference1* This, - UINT64 offset, - UINT64 size); - - /*** IDWriteFontFaceReference1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontFaceReference1_CreateFontFace)( - IDWriteFontFaceReference1* This, - IDWriteFontFace5** fontface); - - UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( - IDWriteFontFaceReference1* This); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( - IDWriteFontFaceReference1* This, - DWRITE_FONT_AXIS_VALUE* values, - UINT32 num_values); - - END_INTERFACE -} IDWriteFontFaceReference1Vtbl; - -interface IDWriteFontFaceReference1 { - CONST_VTBL IDWriteFontFaceReference1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFaceReference1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFaceReference1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFaceReference1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFaceReference methods ***/ -#define IDWriteFontFaceReference1_CreateFontFaceWithSimulations(This, simulations, fontface) (This)->lpVtbl->CreateFontFaceWithSimulations(This, simulations, fontface) -#define IDWriteFontFaceReference1_Equals(This, reference) (This)->lpVtbl->Equals(This, reference) -#define IDWriteFontFaceReference1_GetFontFaceIndex(This) (This)->lpVtbl->GetFontFaceIndex(This) -#define IDWriteFontFaceReference1_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFaceReference1_GetFontFile(This, fontfile) (This)->lpVtbl->GetFontFile(This, fontfile) -#define IDWriteFontFaceReference1_GetLocalFileSize(This) (This)->lpVtbl->GetLocalFileSize(This) -#define IDWriteFontFaceReference1_GetFileSize(This) (This)->lpVtbl->GetFileSize(This) -#define IDWriteFontFaceReference1_GetFileTime(This, writetime) (This)->lpVtbl->GetFileTime(This, writetime) -#define IDWriteFontFaceReference1_GetLocality(This) (This)->lpVtbl->GetLocality(This) -#define IDWriteFontFaceReference1_EnqueueFontDownloadRequest(This) (This)->lpVtbl->EnqueueFontDownloadRequest(This) -#define IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(This, chars, count) (This)->lpVtbl->EnqueueCharacterDownloadRequest(This, chars, count) -#define IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(This, glyphs, count) (This)->lpVtbl->EnqueueGlyphDownloadRequest(This, glyphs, count) -#define IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(This, offset, size) (This)->lpVtbl->EnqueueFileFragmentDownloadRequest(This, offset, size) -/*** IDWriteFontFaceReference1 methods ***/ -#define IDWriteFontFaceReference1_CreateFontFace(This, fontface) (This)->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This, fontface) -#define IDWriteFontFaceReference1_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) -#define IDWriteFontFaceReference1_GetFontAxisValues(This, values, num_values) (This)->lpVtbl->GetFontAxisValues(This, values, num_values) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFaceReference1_QueryInterface(IDWriteFontFaceReference1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFaceReference1_AddRef(IDWriteFontFaceReference1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFaceReference1_Release(IDWriteFontFaceReference1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFaceReference methods ***/ -static inline HRESULT IDWriteFontFaceReference1_CreateFontFaceWithSimulations(IDWriteFontFaceReference1* This, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFace3** fontface) { - return This->lpVtbl->CreateFontFaceWithSimulations(This, simulations, fontface); -} -static inline WINBOOL IDWriteFontFaceReference1_Equals(IDWriteFontFaceReference1* This, IDWriteFontFaceReference* reference) { - return This->lpVtbl->Equals(This, reference); -} -static inline UINT32 IDWriteFontFaceReference1_GetFontFaceIndex(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetFontFaceIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference1_GetSimulations(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline HRESULT IDWriteFontFaceReference1_GetFontFile(IDWriteFontFaceReference1* This, IDWriteFontFile** fontfile) { - return This->lpVtbl->GetFontFile(This, fontfile); -} -static inline UINT64 IDWriteFontFaceReference1_GetLocalFileSize(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetLocalFileSize(This); -} -static inline UINT64 IDWriteFontFaceReference1_GetFileSize(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetFileSize(This); -} -static inline HRESULT IDWriteFontFaceReference1_GetFileTime(IDWriteFontFaceReference1* This, FILETIME* writetime) { - return This->lpVtbl->GetFileTime(This, writetime); -} -static inline DWRITE_LOCALITY IDWriteFontFaceReference1_GetLocality(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetLocality(This); -} -static inline HRESULT IDWriteFontFaceReference1_EnqueueFontDownloadRequest(IDWriteFontFaceReference1* This) { - return This->lpVtbl->EnqueueFontDownloadRequest(This); -} -static inline HRESULT IDWriteFontFaceReference1_EnqueueCharacterDownloadRequest(IDWriteFontFaceReference1* This, const WCHAR* chars, UINT32 count) { - return This->lpVtbl->EnqueueCharacterDownloadRequest(This, chars, count); -} -static inline HRESULT IDWriteFontFaceReference1_EnqueueGlyphDownloadRequest(IDWriteFontFaceReference1* This, const UINT16* glyphs, UINT32 count) { - return This->lpVtbl->EnqueueGlyphDownloadRequest(This, glyphs, count); -} -static inline HRESULT IDWriteFontFaceReference1_EnqueueFileFragmentDownloadRequest(IDWriteFontFaceReference1* This, UINT64 offset, UINT64 size) { - return This->lpVtbl->EnqueueFileFragmentDownloadRequest(This, offset, size); -} -/*** IDWriteFontFaceReference1 methods ***/ -static inline HRESULT IDWriteFontFaceReference1_CreateFontFace(IDWriteFontFaceReference1* This, IDWriteFontFace5** fontface) { - return This->lpVtbl->IDWriteFontFaceReference1_CreateFontFace(This, fontface); -} -static inline UINT32 IDWriteFontFaceReference1_GetFontAxisValueCount(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetFontAxisValueCount(This); -} -static inline HRESULT IDWriteFontFaceReference1_GetFontAxisValues(IDWriteFontFaceReference1* This, DWRITE_FONT_AXIS_VALUE* values, UINT32 num_values) { - return This->lpVtbl->GetFontAxisValues(This, values, num_values); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFaceReference1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontList1 interface - */ -#ifndef __IDWriteFontList1_INTERFACE_DEFINED__ -#define __IDWriteFontList1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xde); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7ade") -IDWriteFontList1 : public IDWriteFontList { - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetFontLocality( - UINT32 index) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFont( - UINT32 index, - IDWriteFont3 * *font) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - UINT32 index, - IDWriteFontFaceReference * *reference) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xde) -#endif -#else -typedef struct IDWriteFontList1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontList1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontList1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontList1* This); - - /*** IDWriteFontList methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteFontList1* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontList1* This); - - HRESULT(STDMETHODCALLTYPE* GetFont)( - IDWriteFontList1* This, - UINT32 index, - IDWriteFont** font); - - /*** IDWriteFontList1 methods ***/ - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontList1* This, - UINT32 index); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontList1_GetFont)( - IDWriteFontList1* This, - UINT32 index, - IDWriteFont3** font); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontList1* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - END_INTERFACE -} IDWriteFontList1Vtbl; - -interface IDWriteFontList1 { - CONST_VTBL IDWriteFontList1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontList1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontList1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontList1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontList methods ***/ -#define IDWriteFontList1_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteFontList1_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -/*** IDWriteFontList1 methods ***/ -#define IDWriteFontList1_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -#define IDWriteFontList1_GetFont(This, index, font) (This)->lpVtbl->IDWriteFontList1_GetFont(This, index, font) -#define IDWriteFontList1_GetFontFaceReference(This, index, reference) (This)->lpVtbl->GetFontFaceReference(This, index, reference) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontList1_QueryInterface(IDWriteFontList1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontList1_AddRef(IDWriteFontList1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontList1_Release(IDWriteFontList1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontList methods ***/ -static inline HRESULT IDWriteFontList1_GetFontCollection(IDWriteFontList1* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteFontList1_GetFontCount(IDWriteFontList1* This) { - return This->lpVtbl->GetFontCount(This); -} -/*** IDWriteFontList1 methods ***/ -static inline DWRITE_LOCALITY IDWriteFontList1_GetFontLocality(IDWriteFontList1* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -static inline HRESULT IDWriteFontList1_GetFont(IDWriteFontList1* This, UINT32 index, IDWriteFont3** font) { - return This->lpVtbl->IDWriteFontList1_GetFont(This, index, font); -} -static inline HRESULT IDWriteFontList1_GetFontFaceReference(IDWriteFontList1* This, UINT32 index, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, index, reference); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontList1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontList2 interface - */ -#ifndef __IDWriteFontList2_INTERFACE_DEFINED__ -#define __IDWriteFontList2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7, 0x35, 0x08, 0xc3, 0x7b, 0x0a, 0x5b, 0xf5); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("c0763a34-77af-445a-b735-08c37b0a5bf5") -IDWriteFontList2 : public IDWriteFontList1 { - virtual HRESULT STDMETHODCALLTYPE GetFontSet( - IDWriteFontSet1 * *fontset) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7, 0x35, 0x08, 0xc3, 0x7b, 0x0a, 0x5b, 0xf5) -#endif -#else -typedef struct IDWriteFontList2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontList2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontList2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontList2* This); - - /*** IDWriteFontList methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteFontList2* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontList2* This); - - HRESULT(STDMETHODCALLTYPE* GetFont)( - IDWriteFontList2* This, - UINT32 index, - IDWriteFont** font); - - /*** IDWriteFontList1 methods ***/ - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontList2* This, - UINT32 index); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontList1_GetFont)( - IDWriteFontList2* This, - UINT32 index, - IDWriteFont3** font); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontList2* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - /*** IDWriteFontList2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontSet)( - IDWriteFontList2* This, - IDWriteFontSet1** fontset); - - END_INTERFACE -} IDWriteFontList2Vtbl; - -interface IDWriteFontList2 { - CONST_VTBL IDWriteFontList2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontList2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontList2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontList2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontList methods ***/ -#define IDWriteFontList2_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteFontList2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -/*** IDWriteFontList1 methods ***/ -#define IDWriteFontList2_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -#define IDWriteFontList2_GetFont(This, index, font) (This)->lpVtbl->IDWriteFontList1_GetFont(This, index, font) -#define IDWriteFontList2_GetFontFaceReference(This, index, reference) (This)->lpVtbl->GetFontFaceReference(This, index, reference) -/*** IDWriteFontList2 methods ***/ -#define IDWriteFontList2_GetFontSet(This, fontset) (This)->lpVtbl->GetFontSet(This, fontset) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontList2_QueryInterface(IDWriteFontList2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontList2_AddRef(IDWriteFontList2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontList2_Release(IDWriteFontList2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontList methods ***/ -static inline HRESULT IDWriteFontList2_GetFontCollection(IDWriteFontList2* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteFontList2_GetFontCount(IDWriteFontList2* This) { - return This->lpVtbl->GetFontCount(This); -} -/*** IDWriteFontList1 methods ***/ -static inline DWRITE_LOCALITY IDWriteFontList2_GetFontLocality(IDWriteFontList2* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -static inline HRESULT IDWriteFontList2_GetFont(IDWriteFontList2* This, UINT32 index, IDWriteFont3** font) { - return This->lpVtbl->IDWriteFontList1_GetFont(This, index, font); -} -static inline HRESULT IDWriteFontList2_GetFontFaceReference(IDWriteFontList2* This, UINT32 index, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, index, reference); -} -/*** IDWriteFontList2 methods ***/ -static inline HRESULT IDWriteFontList2_GetFontSet(IDWriteFontList2* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFontSet(This, fontset); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontList2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSet2 interface - */ -#ifndef __IDWriteFontSet2_INTERFACE_DEFINED__ -#define __IDWriteFontSet2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2, 0xda, 0x4e, 0x2b, 0x79, 0xba, 0x3f, 0x7f); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("dc7ead19-e54c-43af-b2da-4e2b79ba3f7f") -IDWriteFontSet2 : public IDWriteFontSet1 { - virtual HANDLE STDMETHODCALLTYPE GetExpirationEvent() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2, 0xda, 0x4e, 0x2b, 0x79, 0xba, 0x3f, 0x7f) -#endif -#else -typedef struct IDWriteFontSet2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSet2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSet2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSet2* This); - - /*** IDWriteFontSet methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontSet2* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontSet2* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( - IDWriteFontSet2* This, - IDWriteFontFaceReference* reference, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* FindFontFace)( - IDWriteFontSet2* This, - IDWriteFontFace* fontface, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues__)( - IDWriteFontSet2* This, - DWRITE_FONT_PROPERTY_ID id, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues_)( - IDWriteFontSet2* This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR* preferred_locales, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues)( - IDWriteFontSet2* This, - UINT32 index, - DWRITE_FONT_PROPERTY_ID id, - WINBOOL* exists, - IDWriteLocalizedStrings** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyOccurrenceCount)( - IDWriteFontSet2* This, - const DWRITE_FONT_PROPERTY* property, - UINT32* count); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts_)( - IDWriteFontSet2* This, - const WCHAR* family, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontSet2* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 count, - IDWriteFontSet** fontset); - - /*** IDWriteFontSet1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetMatchingFonts)( - IDWriteFontSet2* This, - const DWRITE_FONT_PROPERTY* property, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFirstFontResources)( - IDWriteFontSet2* This, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts__)( - IDWriteFontSet2* This, - const UINT32* indices, - UINT32 num_indices, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts_)( - IDWriteFontSet2* This, - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts)( - IDWriteFontSet2* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_property, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices_)( - IDWriteFontSet2* This, - const DWRITE_FONT_AXIS_RANGE* ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices)( - IDWriteFontSet2* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges_)( - IDWriteFontSet2* This, - UINT32 font_index, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges)( - IDWriteFontSet2* This, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetFontFaceReference)( - IDWriteFontSet2* This, - UINT32 index, - IDWriteFontFaceReference1** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFontSet2* This, - UINT32 index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontSet2* This, - UINT32 index, - IDWriteFontFace5** fontface); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontSet2* This, - UINT32 index); - - /*** IDWriteFontSet2 methods ***/ - HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( - IDWriteFontSet2* This); - - END_INTERFACE -} IDWriteFontSet2Vtbl; - -interface IDWriteFontSet2 { - CONST_VTBL IDWriteFontSet2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSet2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSet2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSet2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSet methods ***/ -#define IDWriteFontSet2_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontSet2_FindFontFaceReference(This, reference, index, exists) (This)->lpVtbl->FindFontFaceReference(This, reference, index, exists) -#define IDWriteFontSet2_FindFontFace(This, fontface, index, exists) (This)->lpVtbl->FindFontFace(This, fontface, index, exists) -#define IDWriteFontSet2_GetPropertyValues__(This, id, values) (This)->lpVtbl->GetPropertyValues__(This, id, values) -#define IDWriteFontSet2_GetPropertyValues_(This, id, preferred_locales, values) (This)->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values) -#define IDWriteFontSet2_GetPropertyValues(This, index, id, exists, values) (This)->lpVtbl->GetPropertyValues(This, index, id, exists, values) -#define IDWriteFontSet2_GetPropertyOccurrenceCount(This, property, count) (This)->lpVtbl->GetPropertyOccurrenceCount(This, property, count) -#define IDWriteFontSet2_GetMatchingFonts_(This, family, weight, stretch, style, fontset) (This)->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset) -/*** IDWriteFontSet1 methods ***/ -#define IDWriteFontSet2_GetMatchingFonts(This, property, axis_values, num_values, fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset) -#define IDWriteFontSet2_GetFirstFontResources(This, fontset) (This)->lpVtbl->GetFirstFontResources(This, fontset) -#define IDWriteFontSet2_GetFilteredFonts__(This, indices, num_indices, fontset) (This)->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset) -#define IDWriteFontSet2_GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) (This)->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) -#define IDWriteFontSet2_GetFilteredFonts(This, props, num_properties, select_any_property, fontset) (This)->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset) -#define IDWriteFontSet2_GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet2_GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet2_GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet2_GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet2_GetFontFaceReference(This, index, reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference) -#define IDWriteFontSet2_CreateFontResource(This, index, resource) (This)->lpVtbl->CreateFontResource(This, index, resource) -#define IDWriteFontSet2_CreateFontFace(This, index, fontface) (This)->lpVtbl->CreateFontFace(This, index, fontface) -#define IDWriteFontSet2_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -/*** IDWriteFontSet2 methods ***/ -#define IDWriteFontSet2_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSet2_QueryInterface(IDWriteFontSet2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSet2_AddRef(IDWriteFontSet2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSet2_Release(IDWriteFontSet2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSet methods ***/ -static inline UINT32 IDWriteFontSet2_GetFontCount(IDWriteFontSet2* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontSet2_FindFontFaceReference(IDWriteFontSet2* This, IDWriteFontFaceReference* reference, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFaceReference(This, reference, index, exists); -} -static inline HRESULT IDWriteFontSet2_FindFontFace(IDWriteFontSet2* This, IDWriteFontFace* fontface, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFace(This, fontface, index, exists); -} -static inline HRESULT IDWriteFontSet2_GetPropertyValues__(IDWriteFontSet2* This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues__(This, id, values); -} -static inline HRESULT IDWriteFontSet2_GetPropertyValues_(IDWriteFontSet2* This, DWRITE_FONT_PROPERTY_ID id, const WCHAR* preferred_locales, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values); -} -static inline HRESULT IDWriteFontSet2_GetPropertyValues(IDWriteFontSet2* This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL* exists, IDWriteLocalizedStrings** values) { - return This->lpVtbl->GetPropertyValues(This, index, id, exists, values); -} -static inline HRESULT IDWriteFontSet2_GetPropertyOccurrenceCount(IDWriteFontSet2* This, const DWRITE_FONT_PROPERTY* property, UINT32* count) { - return This->lpVtbl->GetPropertyOccurrenceCount(This, property, count); -} -static inline HRESULT IDWriteFontSet2_GetMatchingFonts_(IDWriteFontSet2* This, const WCHAR* family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet** fontset) { - return This->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset); -} -/*** IDWriteFontSet1 methods ***/ -static inline HRESULT IDWriteFontSet2_GetMatchingFonts(IDWriteFontSet2* This, const DWRITE_FONT_PROPERTY* property, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontSet1** fontset) { - return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset); -} -static inline HRESULT IDWriteFontSet2_GetFirstFontResources(IDWriteFontSet2* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFirstFontResources(This, fontset); -} -static inline HRESULT IDWriteFontSet2_GetFilteredFonts__(IDWriteFontSet2* This, const UINT32* indices, UINT32 num_indices, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset); -} -static inline HRESULT IDWriteFontSet2_GetFilteredFonts_(IDWriteFontSet2* This, const DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset); -} -static inline HRESULT IDWriteFontSet2_GetFilteredFonts(IDWriteFontSet2* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset); -} -static inline HRESULT IDWriteFontSet2_GetFilteredFontIndices_(IDWriteFontSet2* This, const DWRITE_FONT_AXIS_RANGE* ranges, UINT32 num_ranges, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet2_GetFilteredFontIndices(IDWriteFontSet2* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet2_GetFontAxisRanges_(IDWriteFontSet2* This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet2_GetFontAxisRanges(IDWriteFontSet2* This, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet2_GetFontFaceReference(IDWriteFontSet2* This, UINT32 index, IDWriteFontFaceReference1** reference) { - return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference); -} -static inline HRESULT IDWriteFontSet2_CreateFontResource(IDWriteFontSet2* This, UINT32 index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, index, resource); -} -static inline HRESULT IDWriteFontSet2_CreateFontFace(IDWriteFontSet2* This, UINT32 index, IDWriteFontFace5** fontface) { - return This->lpVtbl->CreateFontFace(This, index, fontface); -} -static inline DWRITE_LOCALITY IDWriteFontSet2_GetFontLocality(IDWriteFontSet2* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -/*** IDWriteFontSet2 methods ***/ -static inline HANDLE IDWriteFontSet2_GetExpirationEvent(IDWriteFontSet2* This) { - return This->lpVtbl->GetExpirationEvent(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSet2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSet3 interface - */ -#ifndef __IDWriteFontSet3_INTERFACE_DEFINED__ -#define __IDWriteFontSet3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c, 0x32, 0x8a, 0xb8, 0xae, 0x64, 0x0f, 0x90); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("7c073ef2-a7f4-4045-8c32-8ab8ae640f90") -IDWriteFontSet3 : public IDWriteFontSet2 { - virtual DWRITE_FONT_SOURCE_TYPE STDMETHODCALLTYPE GetFontSourceType( - UINT32 index) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontSourceNameLength( - UINT32 index) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontSourceName( - UINT32 index, - WCHAR * buffer, - UINT32 buffer_size) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c, 0x32, 0x8a, 0xb8, 0xae, 0x64, 0x0f, 0x90) -#endif -#else -typedef struct IDWriteFontSet3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSet3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSet3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSet3* This); - - /*** IDWriteFontSet methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontSet3* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontSet3* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( - IDWriteFontSet3* This, - IDWriteFontFaceReference* reference, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* FindFontFace)( - IDWriteFontSet3* This, - IDWriteFontFace* fontface, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues__)( - IDWriteFontSet3* This, - DWRITE_FONT_PROPERTY_ID id, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues_)( - IDWriteFontSet3* This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR* preferred_locales, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues)( - IDWriteFontSet3* This, - UINT32 index, - DWRITE_FONT_PROPERTY_ID id, - WINBOOL* exists, - IDWriteLocalizedStrings** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyOccurrenceCount)( - IDWriteFontSet3* This, - const DWRITE_FONT_PROPERTY* property, - UINT32* count); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts_)( - IDWriteFontSet3* This, - const WCHAR* family, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontSet3* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 count, - IDWriteFontSet** fontset); - - /*** IDWriteFontSet1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetMatchingFonts)( - IDWriteFontSet3* This, - const DWRITE_FONT_PROPERTY* property, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFirstFontResources)( - IDWriteFontSet3* This, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts__)( - IDWriteFontSet3* This, - const UINT32* indices, - UINT32 num_indices, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts_)( - IDWriteFontSet3* This, - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts)( - IDWriteFontSet3* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_property, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices_)( - IDWriteFontSet3* This, - const DWRITE_FONT_AXIS_RANGE* ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices)( - IDWriteFontSet3* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges_)( - IDWriteFontSet3* This, - UINT32 font_index, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges)( - IDWriteFontSet3* This, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetFontFaceReference)( - IDWriteFontSet3* This, - UINT32 index, - IDWriteFontFaceReference1** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFontSet3* This, - UINT32 index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontSet3* This, - UINT32 index, - IDWriteFontFace5** fontface); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontSet3* This, - UINT32 index); - - /*** IDWriteFontSet2 methods ***/ - HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( - IDWriteFontSet3* This); - - /*** IDWriteFontSet3 methods ***/ - DWRITE_FONT_SOURCE_TYPE(STDMETHODCALLTYPE* GetFontSourceType)( - IDWriteFontSet3* This, - UINT32 index); - - UINT32(STDMETHODCALLTYPE* GetFontSourceNameLength)( - IDWriteFontSet3* This, - UINT32 index); - - HRESULT(STDMETHODCALLTYPE* GetFontSourceName)( - IDWriteFontSet3* This, - UINT32 index, - WCHAR* buffer, - UINT32 buffer_size); - - END_INTERFACE -} IDWriteFontSet3Vtbl; - -interface IDWriteFontSet3 { - CONST_VTBL IDWriteFontSet3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSet3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSet3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSet3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSet methods ***/ -#define IDWriteFontSet3_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontSet3_FindFontFaceReference(This, reference, index, exists) (This)->lpVtbl->FindFontFaceReference(This, reference, index, exists) -#define IDWriteFontSet3_FindFontFace(This, fontface, index, exists) (This)->lpVtbl->FindFontFace(This, fontface, index, exists) -#define IDWriteFontSet3_GetPropertyValues__(This, id, values) (This)->lpVtbl->GetPropertyValues__(This, id, values) -#define IDWriteFontSet3_GetPropertyValues_(This, id, preferred_locales, values) (This)->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values) -#define IDWriteFontSet3_GetPropertyValues(This, index, id, exists, values) (This)->lpVtbl->GetPropertyValues(This, index, id, exists, values) -#define IDWriteFontSet3_GetPropertyOccurrenceCount(This, property, count) (This)->lpVtbl->GetPropertyOccurrenceCount(This, property, count) -#define IDWriteFontSet3_GetMatchingFonts_(This, family, weight, stretch, style, fontset) (This)->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset) -/*** IDWriteFontSet1 methods ***/ -#define IDWriteFontSet3_GetMatchingFonts(This, property, axis_values, num_values, fontset) (This)->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset) -#define IDWriteFontSet3_GetFirstFontResources(This, fontset) (This)->lpVtbl->GetFirstFontResources(This, fontset) -#define IDWriteFontSet3_GetFilteredFonts__(This, indices, num_indices, fontset) (This)->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset) -#define IDWriteFontSet3_GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) (This)->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) -#define IDWriteFontSet3_GetFilteredFonts(This, props, num_properties, select_any_property, fontset) (This)->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset) -#define IDWriteFontSet3_GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet3_GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet3_GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet3_GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet3_GetFontFaceReference(This, index, reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference) -#define IDWriteFontSet3_CreateFontResource(This, index, resource) (This)->lpVtbl->CreateFontResource(This, index, resource) -#define IDWriteFontSet3_CreateFontFace(This, index, fontface) (This)->lpVtbl->CreateFontFace(This, index, fontface) -#define IDWriteFontSet3_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -/*** IDWriteFontSet2 methods ***/ -#define IDWriteFontSet3_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) -/*** IDWriteFontSet3 methods ***/ -#define IDWriteFontSet3_GetFontSourceType(This, index) (This)->lpVtbl->GetFontSourceType(This, index) -#define IDWriteFontSet3_GetFontSourceNameLength(This, index) (This)->lpVtbl->GetFontSourceNameLength(This, index) -#define IDWriteFontSet3_GetFontSourceName(This, index, buffer, buffer_size) (This)->lpVtbl->GetFontSourceName(This, index, buffer, buffer_size) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSet3_QueryInterface(IDWriteFontSet3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSet3_AddRef(IDWriteFontSet3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSet3_Release(IDWriteFontSet3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSet methods ***/ -static inline UINT32 IDWriteFontSet3_GetFontCount(IDWriteFontSet3* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontSet3_FindFontFaceReference(IDWriteFontSet3* This, IDWriteFontFaceReference* reference, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFaceReference(This, reference, index, exists); -} -static inline HRESULT IDWriteFontSet3_FindFontFace(IDWriteFontSet3* This, IDWriteFontFace* fontface, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFace(This, fontface, index, exists); -} -static inline HRESULT IDWriteFontSet3_GetPropertyValues__(IDWriteFontSet3* This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues__(This, id, values); -} -static inline HRESULT IDWriteFontSet3_GetPropertyValues_(IDWriteFontSet3* This, DWRITE_FONT_PROPERTY_ID id, const WCHAR* preferred_locales, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values); -} -static inline HRESULT IDWriteFontSet3_GetPropertyValues(IDWriteFontSet3* This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL* exists, IDWriteLocalizedStrings** values) { - return This->lpVtbl->GetPropertyValues(This, index, id, exists, values); -} -static inline HRESULT IDWriteFontSet3_GetPropertyOccurrenceCount(IDWriteFontSet3* This, const DWRITE_FONT_PROPERTY* property, UINT32* count) { - return This->lpVtbl->GetPropertyOccurrenceCount(This, property, count); -} -static inline HRESULT IDWriteFontSet3_GetMatchingFonts_(IDWriteFontSet3* This, const WCHAR* family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet** fontset) { - return This->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset); -} -/*** IDWriteFontSet1 methods ***/ -static inline HRESULT IDWriteFontSet3_GetMatchingFonts(IDWriteFontSet3* This, const DWRITE_FONT_PROPERTY* property, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, IDWriteFontSet1** fontset) { - return This->lpVtbl->IDWriteFontSet1_GetMatchingFonts(This, property, axis_values, num_values, fontset); -} -static inline HRESULT IDWriteFontSet3_GetFirstFontResources(IDWriteFontSet3* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFirstFontResources(This, fontset); -} -static inline HRESULT IDWriteFontSet3_GetFilteredFonts__(IDWriteFontSet3* This, const UINT32* indices, UINT32 num_indices, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset); -} -static inline HRESULT IDWriteFontSet3_GetFilteredFonts_(IDWriteFontSet3* This, const DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset); -} -static inline HRESULT IDWriteFontSet3_GetFilteredFonts(IDWriteFontSet3* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset); -} -static inline HRESULT IDWriteFontSet3_GetFilteredFontIndices_(IDWriteFontSet3* This, const DWRITE_FONT_AXIS_RANGE* ranges, UINT32 num_ranges, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet3_GetFilteredFontIndices(IDWriteFontSet3* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet3_GetFontAxisRanges_(IDWriteFontSet3* This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet3_GetFontAxisRanges(IDWriteFontSet3* This, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet3_GetFontFaceReference(IDWriteFontSet3* This, UINT32 index, IDWriteFontFaceReference1** reference) { - return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference); -} -static inline HRESULT IDWriteFontSet3_CreateFontResource(IDWriteFontSet3* This, UINT32 index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, index, resource); -} -static inline HRESULT IDWriteFontSet3_CreateFontFace(IDWriteFontSet3* This, UINT32 index, IDWriteFontFace5** fontface) { - return This->lpVtbl->CreateFontFace(This, index, fontface); -} -static inline DWRITE_LOCALITY IDWriteFontSet3_GetFontLocality(IDWriteFontSet3* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -/*** IDWriteFontSet2 methods ***/ -static inline HANDLE IDWriteFontSet3_GetExpirationEvent(IDWriteFontSet3* This) { - return This->lpVtbl->GetExpirationEvent(This); -} -/*** IDWriteFontSet3 methods ***/ -static inline DWRITE_FONT_SOURCE_TYPE IDWriteFontSet3_GetFontSourceType(IDWriteFontSet3* This, UINT32 index) { - return This->lpVtbl->GetFontSourceType(This, index); -} -static inline UINT32 IDWriteFontSet3_GetFontSourceNameLength(IDWriteFontSet3* This, UINT32 index) { - return This->lpVtbl->GetFontSourceNameLength(This, index); -} -static inline HRESULT IDWriteFontSet3_GetFontSourceName(IDWriteFontSet3* This, UINT32 index, WCHAR* buffer, UINT32 buffer_size) { - return This->lpVtbl->GetFontSourceName(This, index, buffer, buffer_size); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSet3_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSet4 interface - */ -#ifndef __IDWriteFontSet4_INTERFACE_DEFINED__ -#define __IDWriteFontSet4_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSet4, 0xeec175fc, 0xbea9, 0x4c86, 0x8b, 0x53, 0xcc, 0xbd, 0xd7, 0xdf, 0x0c, 0x82); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("eec175fc-bea9-4c86-8b53-ccbdd7df0c82") -IDWriteFontSet4 : public IDWriteFontSet3 { - virtual UINT32 STDMETHODCALLTYPE ConvertWeightStretchStyleToFontAxisValues( - const DWRITE_FONT_AXIS_VALUE* input_axis_values, - UINT32 input_axis_count, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - float size, - DWRITE_FONT_AXIS_VALUE* output_axis_values) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMatchingFonts( - const WCHAR* family_name, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 axis_value_count, - DWRITE_FONT_SIMULATIONS allowed_simulations, - IDWriteFontSet4** fonts) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSet4, 0xeec175fc, 0xbea9, 0x4c86, 0x8b, 0x53, 0xcc, 0xbd, 0xd7, 0xdf, 0x0c, 0x82) -#endif -#else -typedef struct IDWriteFontSet4Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSet4* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSet4* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSet4* This); - - /*** IDWriteFontSet methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontCount)( - IDWriteFontSet4* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontSet4* This, - UINT32 index, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( - IDWriteFontSet4* This, - IDWriteFontFaceReference* reference, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* FindFontFace)( - IDWriteFontSet4* This, - IDWriteFontFace* fontface, - UINT32* index, - WINBOOL* exists); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues__)( - IDWriteFontSet4* This, - DWRITE_FONT_PROPERTY_ID id, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues_)( - IDWriteFontSet4* This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR* preferred_locales, - IDWriteStringList** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyValues)( - IDWriteFontSet4* This, - UINT32 index, - DWRITE_FONT_PROPERTY_ID id, - WINBOOL* exists, - IDWriteLocalizedStrings** values); - - HRESULT(STDMETHODCALLTYPE* GetPropertyOccurrenceCount)( - IDWriteFontSet4* This, - const DWRITE_FONT_PROPERTY* property, - UINT32* count); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts_)( - IDWriteFontSet4* This, - const WCHAR* family, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( - IDWriteFontSet4* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 count, - IDWriteFontSet** fontset); - - /*** IDWriteFontSet1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetMatchingFonts)( - IDWriteFontSet4* This, - const DWRITE_FONT_PROPERTY* property, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFirstFontResources)( - IDWriteFontSet4* This, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts__)( - IDWriteFontSet4* This, - const UINT32* indices, - UINT32 num_indices, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts_)( - IDWriteFontSet4* This, - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFonts)( - IDWriteFontSet4* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_property, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices_)( - IDWriteFontSet4* This, - const DWRITE_FONT_AXIS_RANGE* ranges, - UINT32 num_ranges, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFilteredFontIndices)( - IDWriteFontSet4* This, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties, - WINBOOL select_any_range, - UINT32* indices, - UINT32 num_indices, - UINT32* actual_num_indices); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges_)( - IDWriteFontSet4* This, - UINT32 font_index, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges)( - IDWriteFontSet4* This, - DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - UINT32* actual_num_ranges); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet1_GetFontFaceReference)( - IDWriteFontSet4* This, - UINT32 index, - IDWriteFontFaceReference1** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFontSet4* This, - UINT32 index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFontSet4* This, - UINT32 index, - IDWriteFontFace5** fontface); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( - IDWriteFontSet4* This, - UINT32 index); - - /*** IDWriteFontSet2 methods ***/ - HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( - IDWriteFontSet4* This); - - /*** IDWriteFontSet3 methods ***/ - DWRITE_FONT_SOURCE_TYPE(STDMETHODCALLTYPE* GetFontSourceType)( - IDWriteFontSet4* This, - UINT32 index); - - UINT32(STDMETHODCALLTYPE* GetFontSourceNameLength)( - IDWriteFontSet4* This, - UINT32 index); - - HRESULT(STDMETHODCALLTYPE* GetFontSourceName)( - IDWriteFontSet4* This, - UINT32 index, - WCHAR* buffer, - UINT32 buffer_size); - - /*** IDWriteFontSet4 methods ***/ - UINT32(STDMETHODCALLTYPE* ConvertWeightStretchStyleToFontAxisValues)( - IDWriteFontSet4* This, - const DWRITE_FONT_AXIS_VALUE* input_axis_values, - UINT32 input_axis_count, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STRETCH stretch, - DWRITE_FONT_STYLE style, - float size, - DWRITE_FONT_AXIS_VALUE* output_axis_values); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontSet4_GetMatchingFonts)( - IDWriteFontSet4* This, - const WCHAR* family_name, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 axis_value_count, - DWRITE_FONT_SIMULATIONS allowed_simulations, - IDWriteFontSet4** fonts); - - END_INTERFACE -} IDWriteFontSet4Vtbl; - -interface IDWriteFontSet4 { - CONST_VTBL IDWriteFontSet4Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSet4_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSet4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSet4_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSet methods ***/ -#define IDWriteFontSet4_GetFontCount(This) (This)->lpVtbl->GetFontCount(This) -#define IDWriteFontSet4_FindFontFaceReference(This, reference, index, exists) (This)->lpVtbl->FindFontFaceReference(This, reference, index, exists) -#define IDWriteFontSet4_FindFontFace(This, fontface, index, exists) (This)->lpVtbl->FindFontFace(This, fontface, index, exists) -#define IDWriteFontSet4_GetPropertyValues__(This, id, values) (This)->lpVtbl->GetPropertyValues__(This, id, values) -#define IDWriteFontSet4_GetPropertyValues_(This, id, preferred_locales, values) (This)->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values) -#define IDWriteFontSet4_GetPropertyValues(This, index, id, exists, values) (This)->lpVtbl->GetPropertyValues(This, index, id, exists, values) -#define IDWriteFontSet4_GetPropertyOccurrenceCount(This, property, count) (This)->lpVtbl->GetPropertyOccurrenceCount(This, property, count) -#define IDWriteFontSet4_GetMatchingFonts_(This, family, weight, stretch, style, fontset) (This)->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset) -/*** IDWriteFontSet1 methods ***/ -#define IDWriteFontSet4_GetFirstFontResources(This, fontset) (This)->lpVtbl->GetFirstFontResources(This, fontset) -#define IDWriteFontSet4_GetFilteredFonts__(This, indices, num_indices, fontset) (This)->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset) -#define IDWriteFontSet4_GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) (This)->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset) -#define IDWriteFontSet4_GetFilteredFonts(This, props, num_properties, select_any_property, fontset) (This)->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset) -#define IDWriteFontSet4_GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet4_GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) (This)->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices) -#define IDWriteFontSet4_GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet4_GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) (This)->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges) -#define IDWriteFontSet4_GetFontFaceReference(This, index, reference) (This)->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference) -#define IDWriteFontSet4_CreateFontResource(This, index, resource) (This)->lpVtbl->CreateFontResource(This, index, resource) -#define IDWriteFontSet4_CreateFontFace(This, index, fontface) (This)->lpVtbl->CreateFontFace(This, index, fontface) -#define IDWriteFontSet4_GetFontLocality(This, index) (This)->lpVtbl->GetFontLocality(This, index) -/*** IDWriteFontSet2 methods ***/ -#define IDWriteFontSet4_GetExpirationEvent(This) (This)->lpVtbl->GetExpirationEvent(This) -/*** IDWriteFontSet3 methods ***/ -#define IDWriteFontSet4_GetFontSourceType(This, index) (This)->lpVtbl->GetFontSourceType(This, index) -#define IDWriteFontSet4_GetFontSourceNameLength(This, index) (This)->lpVtbl->GetFontSourceNameLength(This, index) -#define IDWriteFontSet4_GetFontSourceName(This, index, buffer, buffer_size) (This)->lpVtbl->GetFontSourceName(This, index, buffer, buffer_size) -/*** IDWriteFontSet4 methods ***/ -#define IDWriteFontSet4_ConvertWeightStretchStyleToFontAxisValues(This, input_axis_values, input_axis_count, weight, stretch, style, size, output_axis_values) (This)->lpVtbl->ConvertWeightStretchStyleToFontAxisValues(This, input_axis_values, input_axis_count, weight, stretch, style, size, output_axis_values) -#define IDWriteFontSet4_GetMatchingFonts(This, family_name, axis_values, axis_value_count, allowed_simulations, fonts) (This)->lpVtbl->IDWriteFontSet4_GetMatchingFonts(This, family_name, axis_values, axis_value_count, allowed_simulations, fonts) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSet4_QueryInterface(IDWriteFontSet4* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSet4_AddRef(IDWriteFontSet4* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSet4_Release(IDWriteFontSet4* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSet methods ***/ -static inline UINT32 IDWriteFontSet4_GetFontCount(IDWriteFontSet4* This) { - return This->lpVtbl->GetFontCount(This); -} -static inline HRESULT IDWriteFontSet4_FindFontFaceReference(IDWriteFontSet4* This, IDWriteFontFaceReference* reference, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFaceReference(This, reference, index, exists); -} -static inline HRESULT IDWriteFontSet4_FindFontFace(IDWriteFontSet4* This, IDWriteFontFace* fontface, UINT32* index, WINBOOL* exists) { - return This->lpVtbl->FindFontFace(This, fontface, index, exists); -} -static inline HRESULT IDWriteFontSet4_GetPropertyValues__(IDWriteFontSet4* This, DWRITE_FONT_PROPERTY_ID id, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues__(This, id, values); -} -static inline HRESULT IDWriteFontSet4_GetPropertyValues_(IDWriteFontSet4* This, DWRITE_FONT_PROPERTY_ID id, const WCHAR* preferred_locales, IDWriteStringList** values) { - return This->lpVtbl->GetPropertyValues_(This, id, preferred_locales, values); -} -static inline HRESULT IDWriteFontSet4_GetPropertyValues(IDWriteFontSet4* This, UINT32 index, DWRITE_FONT_PROPERTY_ID id, WINBOOL* exists, IDWriteLocalizedStrings** values) { - return This->lpVtbl->GetPropertyValues(This, index, id, exists, values); -} -static inline HRESULT IDWriteFontSet4_GetPropertyOccurrenceCount(IDWriteFontSet4* This, const DWRITE_FONT_PROPERTY* property, UINT32* count) { - return This->lpVtbl->GetPropertyOccurrenceCount(This, property, count); -} -static inline HRESULT IDWriteFontSet4_GetMatchingFonts_(IDWriteFontSet4* This, const WCHAR* family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, IDWriteFontSet** fontset) { - return This->lpVtbl->GetMatchingFonts_(This, family, weight, stretch, style, fontset); -} -/*** IDWriteFontSet1 methods ***/ -static inline HRESULT IDWriteFontSet4_GetFirstFontResources(IDWriteFontSet4* This, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFirstFontResources(This, fontset); -} -static inline HRESULT IDWriteFontSet4_GetFilteredFonts__(IDWriteFontSet4* This, const UINT32* indices, UINT32 num_indices, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts__(This, indices, num_indices, fontset); -} -static inline HRESULT IDWriteFontSet4_GetFilteredFonts_(IDWriteFontSet4* This, const DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, WINBOOL select_any_range, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts_(This, axis_ranges, num_ranges, select_any_range, fontset); -} -static inline HRESULT IDWriteFontSet4_GetFilteredFonts(IDWriteFontSet4* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_property, IDWriteFontSet1** fontset) { - return This->lpVtbl->GetFilteredFonts(This, props, num_properties, select_any_property, fontset); -} -static inline HRESULT IDWriteFontSet4_GetFilteredFontIndices_(IDWriteFontSet4* This, const DWRITE_FONT_AXIS_RANGE* ranges, UINT32 num_ranges, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices_(This, ranges, num_ranges, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet4_GetFilteredFontIndices(IDWriteFontSet4* This, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties, WINBOOL select_any_range, UINT32* indices, UINT32 num_indices, UINT32* actual_num_indices) { - return This->lpVtbl->GetFilteredFontIndices(This, props, num_properties, select_any_range, indices, num_indices, actual_num_indices); -} -static inline HRESULT IDWriteFontSet4_GetFontAxisRanges_(IDWriteFontSet4* This, UINT32 font_index, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges_(This, font_index, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet4_GetFontAxisRanges(IDWriteFontSet4* This, DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, UINT32* actual_num_ranges) { - return This->lpVtbl->GetFontAxisRanges(This, axis_ranges, num_ranges, actual_num_ranges); -} -static inline HRESULT IDWriteFontSet4_GetFontFaceReference(IDWriteFontSet4* This, UINT32 index, IDWriteFontFaceReference1** reference) { - return This->lpVtbl->IDWriteFontSet1_GetFontFaceReference(This, index, reference); -} -static inline HRESULT IDWriteFontSet4_CreateFontResource(IDWriteFontSet4* This, UINT32 index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, index, resource); -} -static inline HRESULT IDWriteFontSet4_CreateFontFace(IDWriteFontSet4* This, UINT32 index, IDWriteFontFace5** fontface) { - return This->lpVtbl->CreateFontFace(This, index, fontface); -} -static inline DWRITE_LOCALITY IDWriteFontSet4_GetFontLocality(IDWriteFontSet4* This, UINT32 index) { - return This->lpVtbl->GetFontLocality(This, index); -} -/*** IDWriteFontSet2 methods ***/ -static inline HANDLE IDWriteFontSet4_GetExpirationEvent(IDWriteFontSet4* This) { - return This->lpVtbl->GetExpirationEvent(This); -} -/*** IDWriteFontSet3 methods ***/ -static inline DWRITE_FONT_SOURCE_TYPE IDWriteFontSet4_GetFontSourceType(IDWriteFontSet4* This, UINT32 index) { - return This->lpVtbl->GetFontSourceType(This, index); -} -static inline UINT32 IDWriteFontSet4_GetFontSourceNameLength(IDWriteFontSet4* This, UINT32 index) { - return This->lpVtbl->GetFontSourceNameLength(This, index); -} -static inline HRESULT IDWriteFontSet4_GetFontSourceName(IDWriteFontSet4* This, UINT32 index, WCHAR* buffer, UINT32 buffer_size) { - return This->lpVtbl->GetFontSourceName(This, index, buffer, buffer_size); -} -/*** IDWriteFontSet4 methods ***/ -static inline UINT32 IDWriteFontSet4_ConvertWeightStretchStyleToFontAxisValues(IDWriteFontSet4* This, const DWRITE_FONT_AXIS_VALUE* input_axis_values, UINT32 input_axis_count, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STRETCH stretch, DWRITE_FONT_STYLE style, float size, DWRITE_FONT_AXIS_VALUE* output_axis_values) { - return This->lpVtbl->ConvertWeightStretchStyleToFontAxisValues(This, input_axis_values, input_axis_count, weight, stretch, style, size, output_axis_values); -} -static inline HRESULT IDWriteFontSet4_GetMatchingFonts(IDWriteFontSet4* This, const WCHAR* family_name, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 axis_value_count, DWRITE_FONT_SIMULATIONS allowed_simulations, IDWriteFontSet4** fonts) { - return This->lpVtbl->IDWriteFontSet4_GetMatchingFonts(This, family_name, axis_values, axis_value_count, allowed_simulations, fonts); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSet4_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFace3 interface - */ -#ifndef __IDWriteFontFace3_INTERFACE_DEFINED__ -#define __IDWriteFontFace3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2, 0x36, 0x20, 0x81, 0x34, 0x1c, 0xc1, 0xf2); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("d37d7598-09be-4222-a236-2081341cc1f2") -IDWriteFontFace3 : public IDWriteFontFace2 { - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - IDWriteFontFaceReference * *reference) = 0; - - virtual void STDMETHODCALLTYPE GetPanose( - DWRITE_PANOSE * panose) = 0; - - virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight() = 0; - - virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch() = 0; - - virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( - IDWriteLocalizedStrings * *names) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFaceNames( - IDWriteLocalizedStrings * *names) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInformationalStrings( - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings * *strings, - WINBOOL * exists) = 0; - - virtual WINBOOL STDMETHODCALLTYPE HasCharacter( - UINT32 character) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRecommendedRenderingMode( - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE1* rendering_mode, - DWRITE_GRID_FIT_MODE* gridfit_mode) = 0; - - virtual WINBOOL STDMETHODCALLTYPE IsCharacterLocal( - UINT32 character) = 0; - - virtual WINBOOL STDMETHODCALLTYPE IsGlyphLocal( - UINT16 glyph) = 0; - - virtual HRESULT STDMETHODCALLTYPE AreCharactersLocal( - const WCHAR* characters, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local) = 0; - - virtual HRESULT STDMETHODCALLTYPE AreGlyphsLocal( - const UINT16* glyphs, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2, 0x36, 0x20, 0x81, 0x34, 0x1c, 0xc1, 0xf2) -#endif -#else -typedef struct IDWriteFontFace3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace3* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace3* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace3* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace3* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace3* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace3* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace3* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace3* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace3* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace3* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace3* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace3* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace3* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace3* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace3* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace3* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - /*** IDWriteFontFace1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)( - IDWriteFontFace3* This, - DWRITE_FONT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)( - IDWriteFontFace3* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetCaretMetrics)( - IDWriteFontFace3* This, - DWRITE_CARET_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFontFace3* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFontFace3* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)( - IDWriteFontFace3* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)( - IDWriteFontFace3* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances); - - HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( - IDWriteFontFace3* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* adjustments); - - WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)( - IDWriteFontFace3* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)( - IDWriteFontFace3* This, - FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( - IDWriteFontFace3* This, - UINT32 glyph_count, - const UINT16* nominal_indices, - UINT16* vertical_indices); - - WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( - IDWriteFontFace3* This); - - /*** IDWriteFontFace2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFontFace3* This); - - UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( - IDWriteFontFace3* This); - - UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)( - IDWriteFontFace3* This); - - HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)( - IDWriteFontFace3* This, - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F* entries); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)( - IDWriteFontFace3* This, - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode); - - /*** IDWriteFontFace3 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFace3* This, - IDWriteFontFaceReference** reference); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFontFace3* This, - DWRITE_PANOSE* panose); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFontFace3* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFontFace3* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFontFace3* This); - - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFace3* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFontFace3* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFontFace3* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - WINBOOL(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFontFace3* This, - UINT32 character); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace3_GetRecommendedRenderingMode)( - IDWriteFontFace3* This, - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE1* rendering_mode, - DWRITE_GRID_FIT_MODE* gridfit_mode); - - WINBOOL(STDMETHODCALLTYPE* IsCharacterLocal)( - IDWriteFontFace3* This, - UINT32 character); - - WINBOOL(STDMETHODCALLTYPE* IsGlyphLocal)( - IDWriteFontFace3* This, - UINT16 glyph); - - HRESULT(STDMETHODCALLTYPE* AreCharactersLocal)( - IDWriteFontFace3* This, - const WCHAR* characters, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - HRESULT(STDMETHODCALLTYPE* AreGlyphsLocal)( - IDWriteFontFace3* This, - const UINT16* glyphs, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - END_INTERFACE -} IDWriteFontFace3Vtbl; - -interface IDWriteFontFace3 { - CONST_VTBL IDWriteFontFace3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace3_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace3_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace3_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace3_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace3_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace3_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace3_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace3_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace3_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace3_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace3_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace3_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -/*** IDWriteFontFace1 methods ***/ -#define IDWriteFontFace3_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics) -#define IDWriteFontFace3_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) -#define IDWriteFontFace3_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics) -#define IDWriteFontFace3_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFontFace3_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -#define IDWriteFontFace3_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) -#define IDWriteFontFace3_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) -#define IDWriteFontFace3_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments) -#define IDWriteFontFace3_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) -#define IDWriteFontFace3_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) -#define IDWriteFontFace3_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) -/*** IDWriteFontFace2 methods ***/ -#define IDWriteFontFace3_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#define IDWriteFontFace3_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) -#define IDWriteFontFace3_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) -#define IDWriteFontFace3_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) -/*** IDWriteFontFace3 methods ***/ -#define IDWriteFontFace3_GetFontFaceReference(This, reference) (This)->lpVtbl->GetFontFaceReference(This, reference) -#define IDWriteFontFace3_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFontFace3_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFontFace3_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFontFace3_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFontFace3_GetFamilyNames(This, names) (This)->lpVtbl->GetFamilyNames(This, names) -#define IDWriteFontFace3_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names) -#define IDWriteFontFace3_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFontFace3_HasCharacter(This, character) (This)->lpVtbl->HasCharacter(This, character) -#define IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) -#define IDWriteFontFace3_IsCharacterLocal(This, character) (This)->lpVtbl->IsCharacterLocal(This, character) -#define IDWriteFontFace3_IsGlyphLocal(This, glyph) (This)->lpVtbl->IsGlyphLocal(This, glyph) -#define IDWriteFontFace3_AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) (This)->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) -#define IDWriteFontFace3_AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) (This)->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace3_QueryInterface(IDWriteFontFace3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace3_AddRef(IDWriteFontFace3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace3_Release(IDWriteFontFace3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace3_GetType(IDWriteFontFace3* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace3_GetFiles(IDWriteFontFace3* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace3_GetIndex(IDWriteFontFace3* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace3_GetSimulations(IDWriteFontFace3* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace3_IsSymbolFont(IDWriteFontFace3* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline UINT16 IDWriteFontFace3_GetGlyphCount(IDWriteFontFace3* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace3_GetDesignGlyphMetrics(IDWriteFontFace3* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace3_GetGlyphIndices(IDWriteFontFace3* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace3_TryGetFontTable(IDWriteFontFace3* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace3_ReleaseFontTable(IDWriteFontFace3* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace3_GetGlyphRunOutline(IDWriteFontFace3* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace3_GetGdiCompatibleGlyphMetrics(IDWriteFontFace3* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -/*** IDWriteFontFace1 methods ***/ -static inline void IDWriteFontFace3_GetMetrics(IDWriteFontFace3* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace3_GetGdiCompatibleMetrics(IDWriteFontFace3* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) { - return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics); -} -static inline void IDWriteFontFace3_GetCaretMetrics(IDWriteFontFace3* This, DWRITE_CARET_METRICS* metrics) { - This->lpVtbl->GetCaretMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace3_GetUnicodeRanges(IDWriteFontFace3* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFontFace3_IsMonospacedFont(IDWriteFontFace3* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -static inline HRESULT IDWriteFontFace3_GetDesignGlyphAdvances(IDWriteFontFace3* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways); -} -static inline HRESULT IDWriteFontFace3_GetGdiCompatibleGlyphAdvances(IDWriteFontFace3* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) { - return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances); -} -static inline HRESULT IDWriteFontFace3_GetKerningPairAdjustments(IDWriteFontFace3* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) { - return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments); -} -static inline WINBOOL IDWriteFontFace3_HasKerningPairs(IDWriteFontFace3* This) { - return This->lpVtbl->HasKerningPairs(This); -} -static inline HRESULT IDWriteFontFace3_GetVerticalGlyphVariants(IDWriteFontFace3* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) { - return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices); -} -static inline WINBOOL IDWriteFontFace3_HasVerticalGlyphVariants(IDWriteFontFace3* This) { - return This->lpVtbl->HasVerticalGlyphVariants(This); -} -/*** IDWriteFontFace2 methods ***/ -static inline WINBOOL IDWriteFontFace3_IsColorFont(IDWriteFontFace3* This) { - return This->lpVtbl->IsColorFont(This); -} -static inline UINT32 IDWriteFontFace3_GetColorPaletteCount(IDWriteFontFace3* This) { - return This->lpVtbl->GetColorPaletteCount(This); -} -static inline UINT32 IDWriteFontFace3_GetPaletteEntryCount(IDWriteFontFace3* This) { - return This->lpVtbl->GetPaletteEntryCount(This); -} -static inline HRESULT IDWriteFontFace3_GetPaletteEntries(IDWriteFontFace3* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) { - return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries); -} -/*** IDWriteFontFace3 methods ***/ -static inline HRESULT IDWriteFontFace3_GetFontFaceReference(IDWriteFontFace3* This, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, reference); -} -static inline void IDWriteFontFace3_GetPanose(IDWriteFontFace3* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline DWRITE_FONT_WEIGHT IDWriteFontFace3_GetWeight(IDWriteFontFace3* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFontFace3_GetStretch(IDWriteFontFace3* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFontFace3_GetStyle(IDWriteFontFace3* This) { - return This->lpVtbl->GetStyle(This); -} -static inline HRESULT IDWriteFontFace3_GetFamilyNames(IDWriteFontFace3* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFamilyNames(This, names); -} -static inline HRESULT IDWriteFontFace3_GetFaceNames(IDWriteFontFace3* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFaceNames(This, names); -} -static inline HRESULT IDWriteFontFace3_GetInformationalStrings(IDWriteFontFace3* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline WINBOOL IDWriteFontFace3_HasCharacter(IDWriteFontFace3* This, UINT32 character) { - return This->lpVtbl->HasCharacter(This, character); -} -static inline HRESULT IDWriteFontFace3_GetRecommendedRenderingMode(IDWriteFontFace3* This, FLOAT emsize, FLOAT dpi_x, FLOAT dpi_y, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE1* rendering_mode, DWRITE_GRID_FIT_MODE* gridfit_mode) { - return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode); -} -static inline WINBOOL IDWriteFontFace3_IsCharacterLocal(IDWriteFontFace3* This, UINT32 character) { - return This->lpVtbl->IsCharacterLocal(This, character); -} -static inline WINBOOL IDWriteFontFace3_IsGlyphLocal(IDWriteFontFace3* This, UINT16 glyph) { - return This->lpVtbl->IsGlyphLocal(This, glyph); -} -static inline HRESULT IDWriteFontFace3_AreCharactersLocal(IDWriteFontFace3* This, const WCHAR* characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local); -} -static inline HRESULT IDWriteFontFace3_AreGlyphsLocal(IDWriteFontFace3* This, const UINT16* glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace3_INTERFACE_DEFINED__ */ - -typedef struct DWRITE_LINE_METRICS1 { - UINT32 length; - UINT32 trailingWhitespaceLength; - UINT32 newlineLength; - FLOAT height; - FLOAT baseline; - WINBOOL isTrimmed; - FLOAT leadingBefore; - FLOAT leadingAfter; -} DWRITE_LINE_METRICS1; -typedef enum DWRITE_FONT_LINE_GAP_USAGE { - DWRITE_FONT_LINE_GAP_USAGE_DEFAULT = 0, - DWRITE_FONT_LINE_GAP_USAGE_DISABLED = 1, - DWRITE_FONT_LINE_GAP_USAGE_ENABLED = 2 -} DWRITE_FONT_LINE_GAP_USAGE; -typedef struct DWRITE_LINE_SPACING { - DWRITE_LINE_SPACING_METHOD method; - FLOAT height; - FLOAT baseline; - FLOAT leadingBefore; - DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; -} DWRITE_LINE_SPACING; -/***************************************************************************** - * IDWriteTextFormat2 interface - */ -#ifndef __IDWriteTextFormat2_INTERFACE_DEFINED__ -#define __IDWriteTextFormat2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c, 0x32, 0x41, 0x83, 0x25, 0x3d, 0xfe, 0x70); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("f67e0edd-9e3d-4ecc-8c32-4183253dfe70") -IDWriteTextFormat2 : public IDWriteTextFormat1 { - virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( - const DWRITE_LINE_SPACING* spacing) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( - DWRITE_LINE_SPACING * spacing) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c, 0x32, 0x41, 0x83, 0x25, 0x3d, 0xfe, 0x70) -#endif -#else -typedef struct IDWriteTextFormat2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextFormat2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextFormat2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextFormat2* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextFormat2* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextFormat2* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextFormat2* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextFormat2* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextFormat2* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextFormat2* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextFormat2* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextFormat2* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextFormat2* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextFormat2* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextFormat2* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextFormat2* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextFormat2* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextFormat2* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextFormat2* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextFormat2* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextFormat2* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextFormat2* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextFormat2* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextFormat2* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextFormat2* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextFormat2* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextFormat2* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextFormat2* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextFormat2* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextFormat1 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( - IDWriteTextFormat2* This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - - DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( - IDWriteTextFormat2* This); - - HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( - IDWriteTextFormat2* This, - WINBOOL lastline_wrapping_enabled); - - WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( - IDWriteTextFormat2* This); - - HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( - IDWriteTextFormat2* This, - DWRITE_OPTICAL_ALIGNMENT alignment); - - DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( - IDWriteTextFormat2* This); - - HRESULT(STDMETHODCALLTYPE* SetFontFallback)( - IDWriteTextFormat2* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* GetFontFallback)( - IDWriteTextFormat2* This, - IDWriteFontFallback** fallback); - - /*** IDWriteTextFormat2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_SetLineSpacing)( - IDWriteTextFormat2* This, - const DWRITE_LINE_SPACING* spacing); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_GetLineSpacing)( - IDWriteTextFormat2* This, - DWRITE_LINE_SPACING* spacing); - - END_INTERFACE -} IDWriteTextFormat2Vtbl; - -interface IDWriteTextFormat2 { - CONST_VTBL IDWriteTextFormat2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextFormat2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextFormat2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextFormat2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextFormat2_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextFormat2_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextFormat2_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextFormat2_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextFormat2_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextFormat2_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextFormat2_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextFormat2_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextFormat2_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextFormat2_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextFormat2_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextFormat2_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextFormat2_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextFormat2_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -#define IDWriteTextFormat2_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteTextFormat2_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) -#define IDWriteTextFormat2_GetFontFamilyName(This, name, size) (This)->lpVtbl->GetFontFamilyName(This, name, size) -#define IDWriteTextFormat2_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) -#define IDWriteTextFormat2_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) -#define IDWriteTextFormat2_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) -#define IDWriteTextFormat2_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) -#define IDWriteTextFormat2_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) -#define IDWriteTextFormat2_GetLocaleName(This, name, size) (This)->lpVtbl->GetLocaleName(This, name, size) -/*** IDWriteTextFormat1 methods ***/ -#define IDWriteTextFormat2_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation) -#define IDWriteTextFormat2_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) -#define IDWriteTextFormat2_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled) -#define IDWriteTextFormat2_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) -#define IDWriteTextFormat2_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment) -#define IDWriteTextFormat2_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) -#define IDWriteTextFormat2_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback) -#define IDWriteTextFormat2_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback) -/*** IDWriteTextFormat2 methods ***/ -#define IDWriteTextFormat2_SetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This, spacing) -#define IDWriteTextFormat2_GetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This, spacing) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextFormat2_QueryInterface(IDWriteTextFormat2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextFormat2_AddRef(IDWriteTextFormat2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextFormat2_Release(IDWriteTextFormat2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextFormat2_SetTextAlignment(IDWriteTextFormat2* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat2_SetParagraphAlignment(IDWriteTextFormat2* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat2_SetWordWrapping(IDWriteTextFormat2* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextFormat2_SetReadingDirection(IDWriteTextFormat2* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat2_SetFlowDirection(IDWriteTextFormat2* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat2_SetIncrementalTabStop(IDWriteTextFormat2* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextFormat2_SetTrimming(IDWriteTextFormat2* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat2_GetTextAlignment(IDWriteTextFormat2* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat2_GetParagraphAlignment(IDWriteTextFormat2* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextFormat2_GetWordWrapping(IDWriteTextFormat2* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextFormat2_GetReadingDirection(IDWriteTextFormat2* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat2_GetFlowDirection(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextFormat2_GetIncrementalTabStop(IDWriteTextFormat2* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextFormat2_GetTrimming(IDWriteTextFormat2* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -static inline HRESULT IDWriteTextFormat2_GetFontCollection(IDWriteTextFormat2* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteTextFormat2_GetFontFamilyNameLength(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontFamilyNameLength(This); -} -static inline HRESULT IDWriteTextFormat2_GetFontFamilyName(IDWriteTextFormat2* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetFontFamilyName(This, name, size); -} -static inline DWRITE_FONT_WEIGHT IDWriteTextFormat2_GetFontWeight(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontWeight(This); -} -static inline DWRITE_FONT_STYLE IDWriteTextFormat2_GetFontStyle(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontStyle(This); -} -static inline DWRITE_FONT_STRETCH IDWriteTextFormat2_GetFontStretch(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontStretch(This); -} -static inline FLOAT IDWriteTextFormat2_GetFontSize(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontSize(This); -} -static inline UINT32 IDWriteTextFormat2_GetLocaleNameLength(IDWriteTextFormat2* This) { - return This->lpVtbl->GetLocaleNameLength(This); -} -static inline HRESULT IDWriteTextFormat2_GetLocaleName(IDWriteTextFormat2* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetLocaleName(This, name, size); -} -/*** IDWriteTextFormat1 methods ***/ -static inline HRESULT IDWriteTextFormat2_SetVerticalGlyphOrientation(IDWriteTextFormat2* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { - return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation); -} -static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat2_GetVerticalGlyphOrientation(IDWriteTextFormat2* This) { - return This->lpVtbl->GetVerticalGlyphOrientation(This); -} -static inline HRESULT IDWriteTextFormat2_SetLastLineWrapping(IDWriteTextFormat2* This, WINBOOL lastline_wrapping_enabled) { - return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled); -} -static inline WINBOOL IDWriteTextFormat2_GetLastLineWrapping(IDWriteTextFormat2* This) { - return This->lpVtbl->GetLastLineWrapping(This); -} -static inline HRESULT IDWriteTextFormat2_SetOpticalAlignment(IDWriteTextFormat2* This, DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This, alignment); -} -static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat2_GetOpticalAlignment(IDWriteTextFormat2* This) { - return This->lpVtbl->GetOpticalAlignment(This); -} -static inline HRESULT IDWriteTextFormat2_SetFontFallback(IDWriteTextFormat2* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->SetFontFallback(This, fallback); -} -static inline HRESULT IDWriteTextFormat2_GetFontFallback(IDWriteTextFormat2* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetFontFallback(This, fallback); -} -/*** IDWriteTextFormat2 methods ***/ -static inline HRESULT IDWriteTextFormat2_SetLineSpacing(IDWriteTextFormat2* This, const DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This, spacing); -} -static inline HRESULT IDWriteTextFormat2_GetLineSpacing(IDWriteTextFormat2* This, DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This, spacing); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextFormat2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextFormat3 interface - */ -#ifndef __IDWriteTextFormat3_INTERFACE_DEFINED__ -#define __IDWriteTextFormat3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8, 0x5b, 0xb7, 0xbf, 0x48, 0xa9, 0x34, 0x27); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("6d3b5641-e550-430d-a85b-b7bf48a93427") -IDWriteTextFormat3 : public IDWriteTextFormat2 { - virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE * axis_values, - UINT32 num_values) = 0; - - virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( - DWRITE_AUTOMATIC_FONT_AXES axes) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8, 0x5b, 0xb7, 0xbf, 0x48, 0xa9, 0x34, 0x27) -#endif -#else -typedef struct IDWriteTextFormat3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextFormat3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextFormat3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextFormat3* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextFormat3* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextFormat3* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextFormat3* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextFormat3* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextFormat3* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextFormat3* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextFormat3* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextFormat3* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextFormat3* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextFormat3* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextFormat3* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextFormat3* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextFormat3* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextFormat3* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextFormat3* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextFormat3* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextFormat3* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextFormat3* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextFormat3* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextFormat3* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextFormat3* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextFormat3* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextFormat1 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( - IDWriteTextFormat3* This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - - DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( - IDWriteTextFormat3* This, - WINBOOL lastline_wrapping_enabled); - - WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( - IDWriteTextFormat3* This, - DWRITE_OPTICAL_ALIGNMENT alignment); - - DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* SetFontFallback)( - IDWriteTextFormat3* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* GetFontFallback)( - IDWriteTextFormat3* This, - IDWriteFontFallback** fallback); - - /*** IDWriteTextFormat2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_SetLineSpacing)( - IDWriteTextFormat3* This, - const DWRITE_LINE_SPACING* spacing); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_GetLineSpacing)( - IDWriteTextFormat3* This, - DWRITE_LINE_SPACING* spacing); - - /*** IDWriteTextFormat3 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetFontAxisValues)( - IDWriteTextFormat3* This, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values); - - UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( - IDWriteTextFormat3* This, - DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values); - - DWRITE_AUTOMATIC_FONT_AXES(STDMETHODCALLTYPE* GetAutomaticFontAxes)( - IDWriteTextFormat3* This); - - HRESULT(STDMETHODCALLTYPE* SetAutomaticFontAxes)( - IDWriteTextFormat3* This, - DWRITE_AUTOMATIC_FONT_AXES axes); - - END_INTERFACE -} IDWriteTextFormat3Vtbl; - -interface IDWriteTextFormat3 { - CONST_VTBL IDWriteTextFormat3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextFormat3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextFormat3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextFormat3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextFormat3_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextFormat3_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextFormat3_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextFormat3_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextFormat3_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextFormat3_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextFormat3_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextFormat3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextFormat3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextFormat3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextFormat3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextFormat3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextFormat3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextFormat3_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -#define IDWriteTextFormat3_GetFontCollection(This, collection) (This)->lpVtbl->GetFontCollection(This, collection) -#define IDWriteTextFormat3_GetFontFamilyNameLength(This) (This)->lpVtbl->GetFontFamilyNameLength(This) -#define IDWriteTextFormat3_GetFontFamilyName(This, name, size) (This)->lpVtbl->GetFontFamilyName(This, name, size) -#define IDWriteTextFormat3_GetFontWeight(This) (This)->lpVtbl->GetFontWeight(This) -#define IDWriteTextFormat3_GetFontStyle(This) (This)->lpVtbl->GetFontStyle(This) -#define IDWriteTextFormat3_GetFontStretch(This) (This)->lpVtbl->GetFontStretch(This) -#define IDWriteTextFormat3_GetFontSize(This) (This)->lpVtbl->GetFontSize(This) -#define IDWriteTextFormat3_GetLocaleNameLength(This) (This)->lpVtbl->GetLocaleNameLength(This) -#define IDWriteTextFormat3_GetLocaleName(This, name, size) (This)->lpVtbl->GetLocaleName(This, name, size) -/*** IDWriteTextFormat1 methods ***/ -#define IDWriteTextFormat3_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation) -#define IDWriteTextFormat3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) -#define IDWriteTextFormat3_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled) -#define IDWriteTextFormat3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) -#define IDWriteTextFormat3_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment) -#define IDWriteTextFormat3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) -#define IDWriteTextFormat3_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback) -#define IDWriteTextFormat3_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback) -/*** IDWriteTextFormat2 methods ***/ -#define IDWriteTextFormat3_SetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This, spacing) -#define IDWriteTextFormat3_GetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This, spacing) -/*** IDWriteTextFormat3 methods ***/ -#define IDWriteTextFormat3_SetFontAxisValues(This, axis_values, num_values) (This)->lpVtbl->SetFontAxisValues(This, axis_values, num_values) -#define IDWriteTextFormat3_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) -#define IDWriteTextFormat3_GetFontAxisValues(This, axis_values, num_values) (This)->lpVtbl->GetFontAxisValues(This, axis_values, num_values) -#define IDWriteTextFormat3_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) -#define IDWriteTextFormat3_SetAutomaticFontAxes(This, axes) (This)->lpVtbl->SetAutomaticFontAxes(This, axes) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextFormat3_QueryInterface(IDWriteTextFormat3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextFormat3_AddRef(IDWriteTextFormat3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextFormat3_Release(IDWriteTextFormat3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextFormat3_SetTextAlignment(IDWriteTextFormat3* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat3_SetParagraphAlignment(IDWriteTextFormat3* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextFormat3_SetWordWrapping(IDWriteTextFormat3* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextFormat3_SetReadingDirection(IDWriteTextFormat3* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat3_SetFlowDirection(IDWriteTextFormat3* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextFormat3_SetIncrementalTabStop(IDWriteTextFormat3* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextFormat3_SetTrimming(IDWriteTextFormat3* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextFormat3_GetTextAlignment(IDWriteTextFormat3* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat3_GetParagraphAlignment(IDWriteTextFormat3* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextFormat3_GetWordWrapping(IDWriteTextFormat3* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextFormat3_GetReadingDirection(IDWriteTextFormat3* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat3_GetFlowDirection(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextFormat3_GetIncrementalTabStop(IDWriteTextFormat3* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextFormat3_GetTrimming(IDWriteTextFormat3* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -static inline HRESULT IDWriteTextFormat3_GetFontCollection(IDWriteTextFormat3* This, IDWriteFontCollection** collection) { - return This->lpVtbl->GetFontCollection(This, collection); -} -static inline UINT32 IDWriteTextFormat3_GetFontFamilyNameLength(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontFamilyNameLength(This); -} -static inline HRESULT IDWriteTextFormat3_GetFontFamilyName(IDWriteTextFormat3* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetFontFamilyName(This, name, size); -} -static inline DWRITE_FONT_WEIGHT IDWriteTextFormat3_GetFontWeight(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontWeight(This); -} -static inline DWRITE_FONT_STYLE IDWriteTextFormat3_GetFontStyle(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontStyle(This); -} -static inline DWRITE_FONT_STRETCH IDWriteTextFormat3_GetFontStretch(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontStretch(This); -} -static inline FLOAT IDWriteTextFormat3_GetFontSize(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontSize(This); -} -static inline UINT32 IDWriteTextFormat3_GetLocaleNameLength(IDWriteTextFormat3* This) { - return This->lpVtbl->GetLocaleNameLength(This); -} -static inline HRESULT IDWriteTextFormat3_GetLocaleName(IDWriteTextFormat3* This, WCHAR* name, UINT32 size) { - return This->lpVtbl->GetLocaleName(This, name, size); -} -/*** IDWriteTextFormat1 methods ***/ -static inline HRESULT IDWriteTextFormat3_SetVerticalGlyphOrientation(IDWriteTextFormat3* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { - return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation); -} -static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextFormat3_GetVerticalGlyphOrientation(IDWriteTextFormat3* This) { - return This->lpVtbl->GetVerticalGlyphOrientation(This); -} -static inline HRESULT IDWriteTextFormat3_SetLastLineWrapping(IDWriteTextFormat3* This, WINBOOL lastline_wrapping_enabled) { - return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled); -} -static inline WINBOOL IDWriteTextFormat3_GetLastLineWrapping(IDWriteTextFormat3* This) { - return This->lpVtbl->GetLastLineWrapping(This); -} -static inline HRESULT IDWriteTextFormat3_SetOpticalAlignment(IDWriteTextFormat3* This, DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This, alignment); -} -static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextFormat3_GetOpticalAlignment(IDWriteTextFormat3* This) { - return This->lpVtbl->GetOpticalAlignment(This); -} -static inline HRESULT IDWriteTextFormat3_SetFontFallback(IDWriteTextFormat3* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->SetFontFallback(This, fallback); -} -static inline HRESULT IDWriteTextFormat3_GetFontFallback(IDWriteTextFormat3* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetFontFallback(This, fallback); -} -/*** IDWriteTextFormat2 methods ***/ -static inline HRESULT IDWriteTextFormat3_SetLineSpacing(IDWriteTextFormat3* This, const DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextFormat2_SetLineSpacing(This, spacing); -} -static inline HRESULT IDWriteTextFormat3_GetLineSpacing(IDWriteTextFormat3* This, DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextFormat2_GetLineSpacing(This, spacing); -} -/*** IDWriteTextFormat3 methods ***/ -static inline HRESULT IDWriteTextFormat3_SetFontAxisValues(IDWriteTextFormat3* This, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values) { - return This->lpVtbl->SetFontAxisValues(This, axis_values, num_values); -} -static inline UINT32 IDWriteTextFormat3_GetFontAxisValueCount(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontAxisValueCount(This); -} -static inline HRESULT IDWriteTextFormat3_GetFontAxisValues(IDWriteTextFormat3* This, DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values) { - return This->lpVtbl->GetFontAxisValues(This, axis_values, num_values); -} -static inline DWRITE_AUTOMATIC_FONT_AXES IDWriteTextFormat3_GetAutomaticFontAxes(IDWriteTextFormat3* This) { - return This->lpVtbl->GetAutomaticFontAxes(This); -} -static inline HRESULT IDWriteTextFormat3_SetAutomaticFontAxes(IDWriteTextFormat3* This, DWRITE_AUTOMATIC_FONT_AXES axes) { - return This->lpVtbl->SetAutomaticFontAxes(This, axes); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextFormat3_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextLayout3 interface - */ -#ifndef __IDWriteTextLayout3_INTERFACE_DEFINED__ -#define __IDWriteTextLayout3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac, 0x33, 0x6c, 0x95, 0x3d, 0x83, 0xf9, 0x2d); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("07ddcd52-020e-4de8-ac33-6c953d83f92d") -IDWriteTextLayout3 : public IDWriteTextLayout2 { - virtual HRESULT STDMETHODCALLTYPE InvalidateLayout() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( - const DWRITE_LINE_SPACING* spacing) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLineSpacing( - DWRITE_LINE_SPACING * spacing) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLineMetrics( - DWRITE_LINE_METRICS1 * metrics, - UINT32 max_count, - UINT32 * count) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac, 0x33, 0x6c, 0x95, 0x3d, 0x83, 0xf9, 0x2d) -#endif -#else -typedef struct IDWriteTextLayout3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextLayout3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextLayout3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextLayout3* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextLayout3* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextLayout3* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextLayout3* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextLayout3* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextLayout3* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextLayout3* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextLayout3* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextLayout3* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextLayout3* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextLayout3* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextLayout3* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextLayout3* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextLayout3* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextLayout3* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextLayout3* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextLayout3* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextLayout3* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextLayout3* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextLayout3* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextLayout3* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextLayout3* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextLayout3* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextLayout methods ***/ - HRESULT(STDMETHODCALLTYPE* SetMaxWidth)( - IDWriteTextLayout3* This, - FLOAT maxWidth); - - HRESULT(STDMETHODCALLTYPE* SetMaxHeight)( - IDWriteTextLayout3* This, - FLOAT maxHeight); - - HRESULT(STDMETHODCALLTYPE* SetFontCollection)( - IDWriteTextLayout3* This, - IDWriteFontCollection* collection, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontFamilyName)( - IDWriteTextLayout3* This, - const WCHAR* name, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontWeight)( - IDWriteTextLayout3* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStyle)( - IDWriteTextLayout3* This, - DWRITE_FONT_STYLE style, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStretch)( - IDWriteTextLayout3* This, - DWRITE_FONT_STRETCH stretch, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontSize)( - IDWriteTextLayout3* This, - FLOAT size, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetUnderline)( - IDWriteTextLayout3* This, - WINBOOL underline, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetStrikethrough)( - IDWriteTextLayout3* This, - WINBOOL strikethrough, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetDrawingEffect)( - IDWriteTextLayout3* This, - IUnknown* effect, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetInlineObject)( - IDWriteTextLayout3* This, - IDWriteInlineObject* object, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetTypography)( - IDWriteTextLayout3* This, - IDWriteTypography* typography, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetLocaleName)( - IDWriteTextLayout3* This, - const WCHAR* locale, - DWRITE_TEXT_RANGE range); - - FLOAT(STDMETHODCALLTYPE* GetMaxWidth)( - IDWriteTextLayout3* This); - - FLOAT(STDMETHODCALLTYPE* GetMaxHeight)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontCollection)( - IDWriteTextLayout3* This, - UINT32 pos, - IDWriteFontCollection** collection, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyNameLength)( - IDWriteTextLayout3* This, - UINT32 pos, - UINT32* len, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyName)( - IDWriteTextLayout3* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontWeight)( - IDWriteTextLayout3* This, - UINT32 position, - DWRITE_FONT_WEIGHT* weight, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStyle)( - IDWriteTextLayout3* This, - UINT32 currentPosition, - DWRITE_FONT_STYLE* style, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStretch)( - IDWriteTextLayout3* This, - UINT32 position, - DWRITE_FONT_STRETCH* stretch, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontSize)( - IDWriteTextLayout3* This, - UINT32 position, - FLOAT* size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetUnderline)( - IDWriteTextLayout3* This, - UINT32 position, - WINBOOL* has_underline, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetStrikethrough)( - IDWriteTextLayout3* This, - UINT32 position, - WINBOOL* has_strikethrough, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetDrawingEffect)( - IDWriteTextLayout3* This, - UINT32 position, - IUnknown** effect, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetInlineObject)( - IDWriteTextLayout3* This, - UINT32 position, - IDWriteInlineObject** object, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetTypography)( - IDWriteTextLayout3* This, - UINT32 position, - IDWriteTypography** typography, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleNameLength)( - IDWriteTextLayout3* This, - UINT32 position, - UINT32* length, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleName)( - IDWriteTextLayout3* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* Draw)( - IDWriteTextLayout3* This, - void* context, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY); - - HRESULT(STDMETHODCALLTYPE* GetLineMetrics)( - IDWriteTextLayout3* This, - DWRITE_LINE_METRICS* metrics, - UINT32 max_count, - UINT32* actual_count); - - HRESULT(STDMETHODCALLTYPE* GetMetrics)( - IDWriteTextLayout3* This, - DWRITE_TEXT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)( - IDWriteTextLayout3* This, - DWRITE_OVERHANG_METRICS* overhangs); - - HRESULT(STDMETHODCALLTYPE* GetClusterMetrics)( - IDWriteTextLayout3* This, - DWRITE_CLUSTER_METRICS* metrics, - UINT32 max_count, - UINT32* act_count); - - HRESULT(STDMETHODCALLTYPE* DetermineMinWidth)( - IDWriteTextLayout3* This, - FLOAT* min_width); - - HRESULT(STDMETHODCALLTYPE* HitTestPoint)( - IDWriteTextLayout3* This, - FLOAT pointX, - FLOAT pointY, - WINBOOL* is_trailinghit, - WINBOOL* is_inside, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextPosition)( - IDWriteTextLayout3* This, - UINT32 textPosition, - WINBOOL is_trailinghit, - FLOAT* pointX, - FLOAT* pointY, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextRange)( - IDWriteTextLayout3* This, - UINT32 textPosition, - UINT32 textLength, - FLOAT originX, - FLOAT originY, - DWRITE_HIT_TEST_METRICS* metrics, - UINT32 max_metricscount, - UINT32* actual_metricscount); - - /*** IDWriteTextLayout1 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetPairKerning)( - IDWriteTextLayout3* This, - WINBOOL is_pairkerning_enabled, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* GetPairKerning)( - IDWriteTextLayout3* This, - UINT32 position, - WINBOOL* is_pairkerning_enabled, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* SetCharacterSpacing)( - IDWriteTextLayout3* This, - FLOAT leading_spacing, - FLOAT trailing_spacing, - FLOAT minimum_advance_width, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* GetCharacterSpacing)( - IDWriteTextLayout3* This, - UINT32 position, - FLOAT* leading_spacing, - FLOAT* trailing_spacing, - FLOAT* minimum_advance_width, - DWRITE_TEXT_RANGE* range); - - /*** IDWriteTextLayout2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout2_GetMetrics)( - IDWriteTextLayout3* This, - DWRITE_TEXT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( - IDWriteTextLayout3* This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - - DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( - IDWriteTextLayout3* This, - WINBOOL lastline_wrapping_enabled); - - WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( - IDWriteTextLayout3* This, - DWRITE_OPTICAL_ALIGNMENT alignment); - - DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* SetFontFallback)( - IDWriteTextLayout3* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* GetFontFallback)( - IDWriteTextLayout3* This, - IDWriteFontFallback** fallback); - - /*** IDWriteTextLayout3 methods ***/ - HRESULT(STDMETHODCALLTYPE* InvalidateLayout)( - IDWriteTextLayout3* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout3_SetLineSpacing)( - IDWriteTextLayout3* This, - const DWRITE_LINE_SPACING* spacing); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout3_GetLineSpacing)( - IDWriteTextLayout3* This, - DWRITE_LINE_SPACING* spacing); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout3_GetLineMetrics)( - IDWriteTextLayout3* This, - DWRITE_LINE_METRICS1* metrics, - UINT32 max_count, - UINT32* count); - - END_INTERFACE -} IDWriteTextLayout3Vtbl; - -interface IDWriteTextLayout3 { - CONST_VTBL IDWriteTextLayout3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextLayout3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextLayout3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextLayout3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextLayout3_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextLayout3_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextLayout3_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextLayout3_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextLayout3_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextLayout3_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextLayout3_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextLayout3_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextLayout3_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextLayout3_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextLayout3_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextLayout3_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextLayout3_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextLayout3_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -/*** IDWriteTextLayout methods ***/ -#define IDWriteTextLayout3_SetMaxWidth(This, maxWidth) (This)->lpVtbl->SetMaxWidth(This, maxWidth) -#define IDWriteTextLayout3_SetMaxHeight(This, maxHeight) (This)->lpVtbl->SetMaxHeight(This, maxHeight) -#define IDWriteTextLayout3_SetFontCollection(This, collection, range) (This)->lpVtbl->SetFontCollection(This, collection, range) -#define IDWriteTextLayout3_SetFontFamilyName(This, name, range) (This)->lpVtbl->SetFontFamilyName(This, name, range) -#define IDWriteTextLayout3_SetFontWeight(This, weight, range) (This)->lpVtbl->SetFontWeight(This, weight, range) -#define IDWriteTextLayout3_SetFontStyle(This, style, range) (This)->lpVtbl->SetFontStyle(This, style, range) -#define IDWriteTextLayout3_SetFontStretch(This, stretch, range) (This)->lpVtbl->SetFontStretch(This, stretch, range) -#define IDWriteTextLayout3_SetFontSize(This, size, range) (This)->lpVtbl->SetFontSize(This, size, range) -#define IDWriteTextLayout3_SetUnderline(This, underline, range) (This)->lpVtbl->SetUnderline(This, underline, range) -#define IDWriteTextLayout3_SetStrikethrough(This, strikethrough, range) (This)->lpVtbl->SetStrikethrough(This, strikethrough, range) -#define IDWriteTextLayout3_SetDrawingEffect(This, effect, range) (This)->lpVtbl->SetDrawingEffect(This, effect, range) -#define IDWriteTextLayout3_SetInlineObject(This, object, range) (This)->lpVtbl->SetInlineObject(This, object, range) -#define IDWriteTextLayout3_SetTypography(This, typography, range) (This)->lpVtbl->SetTypography(This, typography, range) -#define IDWriteTextLayout3_SetLocaleName(This, locale, range) (This)->lpVtbl->SetLocaleName(This, locale, range) -#define IDWriteTextLayout3_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) -#define IDWriteTextLayout3_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) -#define IDWriteTextLayout3_GetFontCollection(This, pos, collection, range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range) -#define IDWriteTextLayout3_GetFontFamilyNameLength(This, pos, len, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range) -#define IDWriteTextLayout3_GetFontFamilyName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range) -#define IDWriteTextLayout3_GetFontWeight(This, position, weight, range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range) -#define IDWriteTextLayout3_GetFontStyle(This, currentPosition, style, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range) -#define IDWriteTextLayout3_GetFontStretch(This, position, stretch, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range) -#define IDWriteTextLayout3_GetFontSize(This, position, size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range) -#define IDWriteTextLayout3_GetUnderline(This, position, has_underline, range) (This)->lpVtbl->GetUnderline(This, position, has_underline, range) -#define IDWriteTextLayout3_GetStrikethrough(This, position, has_strikethrough, range) (This)->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range) -#define IDWriteTextLayout3_GetDrawingEffect(This, position, effect, range) (This)->lpVtbl->GetDrawingEffect(This, position, effect, range) -#define IDWriteTextLayout3_GetInlineObject(This, position, object, range) (This)->lpVtbl->GetInlineObject(This, position, object, range) -#define IDWriteTextLayout3_GetTypography(This, position, typography, range) (This)->lpVtbl->GetTypography(This, position, typography, range) -#define IDWriteTextLayout3_GetLocaleNameLength(This, position, length, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range) -#define IDWriteTextLayout3_GetLocaleName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range) -#define IDWriteTextLayout3_Draw(This, context, renderer, originX, originY) (This)->lpVtbl->Draw(This, context, renderer, originX, originY) -#define IDWriteTextLayout3_GetOverhangMetrics(This, overhangs) (This)->lpVtbl->GetOverhangMetrics(This, overhangs) -#define IDWriteTextLayout3_GetClusterMetrics(This, metrics, max_count, act_count) (This)->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count) -#define IDWriteTextLayout3_DetermineMinWidth(This, min_width) (This)->lpVtbl->DetermineMinWidth(This, min_width) -#define IDWriteTextLayout3_HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) (This)->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) -#define IDWriteTextLayout3_HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) (This)->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) -#define IDWriteTextLayout3_HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) (This)->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) -/*** IDWriteTextLayout1 methods ***/ -#define IDWriteTextLayout3_SetPairKerning(This, is_pairkerning_enabled, range) (This)->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range) -#define IDWriteTextLayout3_GetPairKerning(This, position, is_pairkerning_enabled, range) (This)->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range) -#define IDWriteTextLayout3_SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) -#define IDWriteTextLayout3_GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) -/*** IDWriteTextLayout2 methods ***/ -#define IDWriteTextLayout3_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics) -#define IDWriteTextLayout3_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation) -#define IDWriteTextLayout3_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) -#define IDWriteTextLayout3_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled) -#define IDWriteTextLayout3_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) -#define IDWriteTextLayout3_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment) -#define IDWriteTextLayout3_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) -#define IDWriteTextLayout3_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback) -#define IDWriteTextLayout3_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback) -/*** IDWriteTextLayout3 methods ***/ -#define IDWriteTextLayout3_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) -#define IDWriteTextLayout3_SetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This, spacing) -#define IDWriteTextLayout3_GetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This, spacing) -#define IDWriteTextLayout3_GetLineMetrics(This, metrics, max_count, count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This, metrics, max_count, count) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextLayout3_QueryInterface(IDWriteTextLayout3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextLayout3_AddRef(IDWriteTextLayout3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextLayout3_Release(IDWriteTextLayout3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextLayout3_SetTextAlignment(IDWriteTextLayout3* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout3_SetParagraphAlignment(IDWriteTextLayout3* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout3_SetWordWrapping(IDWriteTextLayout3* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextLayout3_SetReadingDirection(IDWriteTextLayout3* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout3_SetFlowDirection(IDWriteTextLayout3* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout3_SetIncrementalTabStop(IDWriteTextLayout3* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextLayout3_SetTrimming(IDWriteTextLayout3* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout3_GetTextAlignment(IDWriteTextLayout3* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout3_GetParagraphAlignment(IDWriteTextLayout3* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextLayout3_GetWordWrapping(IDWriteTextLayout3* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextLayout3_GetReadingDirection(IDWriteTextLayout3* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout3_GetFlowDirection(IDWriteTextLayout3* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextLayout3_GetIncrementalTabStop(IDWriteTextLayout3* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextLayout3_GetTrimming(IDWriteTextLayout3* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -/*** IDWriteTextLayout methods ***/ -static inline HRESULT IDWriteTextLayout3_SetMaxWidth(IDWriteTextLayout3* This, FLOAT maxWidth) { - return This->lpVtbl->SetMaxWidth(This, maxWidth); -} -static inline HRESULT IDWriteTextLayout3_SetMaxHeight(IDWriteTextLayout3* This, FLOAT maxHeight) { - return This->lpVtbl->SetMaxHeight(This, maxHeight); -} -static inline HRESULT IDWriteTextLayout3_SetFontCollection(IDWriteTextLayout3* This, IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontCollection(This, collection, range); -} -static inline HRESULT IDWriteTextLayout3_SetFontFamilyName(IDWriteTextLayout3* This, const WCHAR* name, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontFamilyName(This, name, range); -} -static inline HRESULT IDWriteTextLayout3_SetFontWeight(IDWriteTextLayout3* This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontWeight(This, weight, range); -} -static inline HRESULT IDWriteTextLayout3_SetFontStyle(IDWriteTextLayout3* This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStyle(This, style, range); -} -static inline HRESULT IDWriteTextLayout3_SetFontStretch(IDWriteTextLayout3* This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStretch(This, stretch, range); -} -static inline HRESULT IDWriteTextLayout3_SetFontSize(IDWriteTextLayout3* This, FLOAT size, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontSize(This, size, range); -} -static inline HRESULT IDWriteTextLayout3_SetUnderline(IDWriteTextLayout3* This, WINBOOL underline, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetUnderline(This, underline, range); -} -static inline HRESULT IDWriteTextLayout3_SetStrikethrough(IDWriteTextLayout3* This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetStrikethrough(This, strikethrough, range); -} -static inline HRESULT IDWriteTextLayout3_SetDrawingEffect(IDWriteTextLayout3* This, IUnknown* effect, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetDrawingEffect(This, effect, range); -} -static inline HRESULT IDWriteTextLayout3_SetInlineObject(IDWriteTextLayout3* This, IDWriteInlineObject* object, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetInlineObject(This, object, range); -} -static inline HRESULT IDWriteTextLayout3_SetTypography(IDWriteTextLayout3* This, IDWriteTypography* typography, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetTypography(This, typography, range); -} -static inline HRESULT IDWriteTextLayout3_SetLocaleName(IDWriteTextLayout3* This, const WCHAR* locale, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetLocaleName(This, locale, range); -} -static inline FLOAT IDWriteTextLayout3_GetMaxWidth(IDWriteTextLayout3* This) { - return This->lpVtbl->GetMaxWidth(This); -} -static inline FLOAT IDWriteTextLayout3_GetMaxHeight(IDWriteTextLayout3* This) { - return This->lpVtbl->GetMaxHeight(This); -} -static inline HRESULT IDWriteTextLayout3_GetFontCollection(IDWriteTextLayout3* This, UINT32 pos, IDWriteFontCollection** collection, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range); -} -static inline HRESULT IDWriteTextLayout3_GetFontFamilyNameLength(IDWriteTextLayout3* This, UINT32 pos, UINT32* len, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range); -} -static inline HRESULT IDWriteTextLayout3_GetFontFamilyName(IDWriteTextLayout3* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout3_GetFontWeight(IDWriteTextLayout3* This, UINT32 position, DWRITE_FONT_WEIGHT* weight, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range); -} -static inline HRESULT IDWriteTextLayout3_GetFontStyle(IDWriteTextLayout3* This, UINT32 currentPosition, DWRITE_FONT_STYLE* style, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range); -} -static inline HRESULT IDWriteTextLayout3_GetFontStretch(IDWriteTextLayout3* This, UINT32 position, DWRITE_FONT_STRETCH* stretch, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range); -} -static inline HRESULT IDWriteTextLayout3_GetFontSize(IDWriteTextLayout3* This, UINT32 position, FLOAT* size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range); -} -static inline HRESULT IDWriteTextLayout3_GetUnderline(IDWriteTextLayout3* This, UINT32 position, WINBOOL* has_underline, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetUnderline(This, position, has_underline, range); -} -static inline HRESULT IDWriteTextLayout3_GetStrikethrough(IDWriteTextLayout3* This, UINT32 position, WINBOOL* has_strikethrough, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range); -} -static inline HRESULT IDWriteTextLayout3_GetDrawingEffect(IDWriteTextLayout3* This, UINT32 position, IUnknown** effect, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetDrawingEffect(This, position, effect, range); -} -static inline HRESULT IDWriteTextLayout3_GetInlineObject(IDWriteTextLayout3* This, UINT32 position, IDWriteInlineObject** object, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetInlineObject(This, position, object, range); -} -static inline HRESULT IDWriteTextLayout3_GetTypography(IDWriteTextLayout3* This, UINT32 position, IDWriteTypography** typography, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetTypography(This, position, typography, range); -} -static inline HRESULT IDWriteTextLayout3_GetLocaleNameLength(IDWriteTextLayout3* This, UINT32 position, UINT32* length, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range); -} -static inline HRESULT IDWriteTextLayout3_GetLocaleName(IDWriteTextLayout3* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout3_Draw(IDWriteTextLayout3* This, void* context, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY) { - return This->lpVtbl->Draw(This, context, renderer, originX, originY); -} -static inline HRESULT IDWriteTextLayout3_GetOverhangMetrics(IDWriteTextLayout3* This, DWRITE_OVERHANG_METRICS* overhangs) { - return This->lpVtbl->GetOverhangMetrics(This, overhangs); -} -static inline HRESULT IDWriteTextLayout3_GetClusterMetrics(IDWriteTextLayout3* This, DWRITE_CLUSTER_METRICS* metrics, UINT32 max_count, UINT32* act_count) { - return This->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count); -} -static inline HRESULT IDWriteTextLayout3_DetermineMinWidth(IDWriteTextLayout3* This, FLOAT* min_width) { - return This->lpVtbl->DetermineMinWidth(This, min_width); -} -static inline HRESULT IDWriteTextLayout3_HitTestPoint(IDWriteTextLayout3* This, FLOAT pointX, FLOAT pointY, WINBOOL* is_trailinghit, WINBOOL* is_inside, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics); -} -static inline HRESULT IDWriteTextLayout3_HitTestTextPosition(IDWriteTextLayout3* This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics); -} -static inline HRESULT IDWriteTextLayout3_HitTestTextRange(IDWriteTextLayout3* This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* metrics, UINT32 max_metricscount, UINT32* actual_metricscount) { - return This->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount); -} -/*** IDWriteTextLayout1 methods ***/ -static inline HRESULT IDWriteTextLayout3_SetPairKerning(IDWriteTextLayout3* This, WINBOOL is_pairkerning_enabled, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range); -} -static inline HRESULT IDWriteTextLayout3_GetPairKerning(IDWriteTextLayout3* This, UINT32 position, WINBOOL* is_pairkerning_enabled, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range); -} -static inline HRESULT IDWriteTextLayout3_SetCharacterSpacing(IDWriteTextLayout3* This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT minimum_advance_width, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range); -} -static inline HRESULT IDWriteTextLayout3_GetCharacterSpacing(IDWriteTextLayout3* This, UINT32 position, FLOAT* leading_spacing, FLOAT* trailing_spacing, FLOAT* minimum_advance_width, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range); -} -/*** IDWriteTextLayout2 methods ***/ -static inline HRESULT IDWriteTextLayout3_GetMetrics(IDWriteTextLayout3* This, DWRITE_TEXT_METRICS1* metrics) { - return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteTextLayout3_SetVerticalGlyphOrientation(IDWriteTextLayout3* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { - return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation); -} -static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout3_GetVerticalGlyphOrientation(IDWriteTextLayout3* This) { - return This->lpVtbl->GetVerticalGlyphOrientation(This); -} -static inline HRESULT IDWriteTextLayout3_SetLastLineWrapping(IDWriteTextLayout3* This, WINBOOL lastline_wrapping_enabled) { - return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled); -} -static inline WINBOOL IDWriteTextLayout3_GetLastLineWrapping(IDWriteTextLayout3* This) { - return This->lpVtbl->GetLastLineWrapping(This); -} -static inline HRESULT IDWriteTextLayout3_SetOpticalAlignment(IDWriteTextLayout3* This, DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This, alignment); -} -static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout3_GetOpticalAlignment(IDWriteTextLayout3* This) { - return This->lpVtbl->GetOpticalAlignment(This); -} -static inline HRESULT IDWriteTextLayout3_SetFontFallback(IDWriteTextLayout3* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->SetFontFallback(This, fallback); -} -static inline HRESULT IDWriteTextLayout3_GetFontFallback(IDWriteTextLayout3* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetFontFallback(This, fallback); -} -/*** IDWriteTextLayout3 methods ***/ -static inline HRESULT IDWriteTextLayout3_InvalidateLayout(IDWriteTextLayout3* This) { - return This->lpVtbl->InvalidateLayout(This); -} -static inline HRESULT IDWriteTextLayout3_SetLineSpacing(IDWriteTextLayout3* This, const DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This, spacing); -} -static inline HRESULT IDWriteTextLayout3_GetLineSpacing(IDWriteTextLayout3* This, DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This, spacing); -} -static inline HRESULT IDWriteTextLayout3_GetLineMetrics(IDWriteTextLayout3* This, DWRITE_LINE_METRICS1* metrics, UINT32 max_count, UINT32* count) { - return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This, metrics, max_count, count); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextLayout3_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteTextLayout4 interface - */ -#ifndef __IDWriteTextLayout4_INTERFACE_DEFINED__ -#define __IDWriteTextLayout4_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5, 0xfb, 0x82, 0x63, 0x68, 0x5f, 0x55, 0xe9); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("05a9bf42-223f-4441-b5fb-8263685f55e9") -IDWriteTextLayout4 : public IDWriteTextLayout3 { - virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - DWRITE_TEXT_RANGE range) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( - UINT32 pos) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( - UINT32 pos, - DWRITE_FONT_AXIS_VALUE * values, - UINT32 num_values, - DWRITE_TEXT_RANGE * range) = 0; - - virtual DWRITE_AUTOMATIC_FONT_AXES STDMETHODCALLTYPE GetAutomaticFontAxes() = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAutomaticFontAxes( - DWRITE_AUTOMATIC_FONT_AXES axes) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5, 0xfb, 0x82, 0x63, 0x68, 0x5f, 0x55, 0xe9) -#endif -#else -typedef struct IDWriteTextLayout4Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteTextLayout4* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteTextLayout4* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteTextLayout4* This); - - /*** IDWriteTextFormat methods ***/ - HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( - IDWriteTextLayout4* This, - DWRITE_TEXT_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( - IDWriteTextLayout4* This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); - - HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( - IDWriteTextLayout4* This, - DWRITE_WORD_WRAPPING wrapping); - - HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( - IDWriteTextLayout4* This, - DWRITE_READING_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( - IDWriteTextLayout4* This, - DWRITE_FLOW_DIRECTION direction); - - HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( - IDWriteTextLayout4* This, - FLOAT tabstop); - - HRESULT(STDMETHODCALLTYPE* SetTrimming)( - IDWriteTextLayout4* This, - const DWRITE_TRIMMING* trimming, - IDWriteInlineObject* trimming_sign); - - HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( - IDWriteTextLayout4* This, - DWRITE_LINE_SPACING_METHOD spacing, - FLOAT line_spacing, - FLOAT baseline); - - DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( - IDWriteTextLayout4* This); - - DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( - IDWriteTextLayout4* This); - - DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( - IDWriteTextLayout4* This); - - DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( - IDWriteTextLayout4* This); - - DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( - IDWriteTextLayout4* This); - - FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* GetTrimming)( - IDWriteTextLayout4* This, - DWRITE_TRIMMING* options, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* GetLineSpacing)( - IDWriteTextLayout4* This, - DWRITE_LINE_SPACING_METHOD* method, - FLOAT* spacing, - FLOAT* baseline); - - HRESULT(STDMETHODCALLTYPE* GetFontCollection)( - IDWriteTextLayout4* This, - IDWriteFontCollection** collection); - - UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( - IDWriteTextLayout4* This, - WCHAR* name, - UINT32 size); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( - IDWriteTextLayout4* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( - IDWriteTextLayout4* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( - IDWriteTextLayout4* This); - - FLOAT(STDMETHODCALLTYPE* GetFontSize)( - IDWriteTextLayout4* This); - - UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* GetLocaleName)( - IDWriteTextLayout4* This, - WCHAR* name, - UINT32 size); - - /*** IDWriteTextLayout methods ***/ - HRESULT(STDMETHODCALLTYPE* SetMaxWidth)( - IDWriteTextLayout4* This, - FLOAT maxWidth); - - HRESULT(STDMETHODCALLTYPE* SetMaxHeight)( - IDWriteTextLayout4* This, - FLOAT maxHeight); - - HRESULT(STDMETHODCALLTYPE* SetFontCollection)( - IDWriteTextLayout4* This, - IDWriteFontCollection* collection, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontFamilyName)( - IDWriteTextLayout4* This, - const WCHAR* name, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontWeight)( - IDWriteTextLayout4* This, - DWRITE_FONT_WEIGHT weight, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStyle)( - IDWriteTextLayout4* This, - DWRITE_FONT_STYLE style, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontStretch)( - IDWriteTextLayout4* This, - DWRITE_FONT_STRETCH stretch, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetFontSize)( - IDWriteTextLayout4* This, - FLOAT size, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetUnderline)( - IDWriteTextLayout4* This, - WINBOOL underline, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetStrikethrough)( - IDWriteTextLayout4* This, - WINBOOL strikethrough, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetDrawingEffect)( - IDWriteTextLayout4* This, - IUnknown* effect, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetInlineObject)( - IDWriteTextLayout4* This, - IDWriteInlineObject* object, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetTypography)( - IDWriteTextLayout4* This, - IDWriteTypography* typography, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* SetLocaleName)( - IDWriteTextLayout4* This, - const WCHAR* locale, - DWRITE_TEXT_RANGE range); - - FLOAT(STDMETHODCALLTYPE* GetMaxWidth)( - IDWriteTextLayout4* This); - - FLOAT(STDMETHODCALLTYPE* GetMaxHeight)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontCollection)( - IDWriteTextLayout4* This, - UINT32 pos, - IDWriteFontCollection** collection, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyNameLength)( - IDWriteTextLayout4* This, - UINT32 pos, - UINT32* len, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontFamilyName)( - IDWriteTextLayout4* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontWeight)( - IDWriteTextLayout4* This, - UINT32 position, - DWRITE_FONT_WEIGHT* weight, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStyle)( - IDWriteTextLayout4* This, - UINT32 currentPosition, - DWRITE_FONT_STYLE* style, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontStretch)( - IDWriteTextLayout4* This, - UINT32 position, - DWRITE_FONT_STRETCH* stretch, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetFontSize)( - IDWriteTextLayout4* This, - UINT32 position, - FLOAT* size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetUnderline)( - IDWriteTextLayout4* This, - UINT32 position, - WINBOOL* has_underline, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetStrikethrough)( - IDWriteTextLayout4* This, - UINT32 position, - WINBOOL* has_strikethrough, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetDrawingEffect)( - IDWriteTextLayout4* This, - UINT32 position, - IUnknown** effect, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetInlineObject)( - IDWriteTextLayout4* This, - UINT32 position, - IDWriteInlineObject** object, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* GetTypography)( - IDWriteTextLayout4* This, - UINT32 position, - IDWriteTypography** typography, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleNameLength)( - IDWriteTextLayout4* This, - UINT32 position, - UINT32* length, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout_GetLocaleName)( - IDWriteTextLayout4* This, - UINT32 position, - WCHAR* name, - UINT32 name_size, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* Draw)( - IDWriteTextLayout4* This, - void* context, - IDWriteTextRenderer* renderer, - FLOAT originX, - FLOAT originY); - - HRESULT(STDMETHODCALLTYPE* GetLineMetrics)( - IDWriteTextLayout4* This, - DWRITE_LINE_METRICS* metrics, - UINT32 max_count, - UINT32* actual_count); - - HRESULT(STDMETHODCALLTYPE* GetMetrics)( - IDWriteTextLayout4* This, - DWRITE_TEXT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)( - IDWriteTextLayout4* This, - DWRITE_OVERHANG_METRICS* overhangs); - - HRESULT(STDMETHODCALLTYPE* GetClusterMetrics)( - IDWriteTextLayout4* This, - DWRITE_CLUSTER_METRICS* metrics, - UINT32 max_count, - UINT32* act_count); - - HRESULT(STDMETHODCALLTYPE* DetermineMinWidth)( - IDWriteTextLayout4* This, - FLOAT* min_width); - - HRESULT(STDMETHODCALLTYPE* HitTestPoint)( - IDWriteTextLayout4* This, - FLOAT pointX, - FLOAT pointY, - WINBOOL* is_trailinghit, - WINBOOL* is_inside, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextPosition)( - IDWriteTextLayout4* This, - UINT32 textPosition, - WINBOOL is_trailinghit, - FLOAT* pointX, - FLOAT* pointY, - DWRITE_HIT_TEST_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* HitTestTextRange)( - IDWriteTextLayout4* This, - UINT32 textPosition, - UINT32 textLength, - FLOAT originX, - FLOAT originY, - DWRITE_HIT_TEST_METRICS* metrics, - UINT32 max_metricscount, - UINT32* actual_metricscount); - - /*** IDWriteTextLayout1 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetPairKerning)( - IDWriteTextLayout4* This, - WINBOOL is_pairkerning_enabled, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* GetPairKerning)( - IDWriteTextLayout4* This, - UINT32 position, - WINBOOL* is_pairkerning_enabled, - DWRITE_TEXT_RANGE* range); - - HRESULT(STDMETHODCALLTYPE* SetCharacterSpacing)( - IDWriteTextLayout4* This, - FLOAT leading_spacing, - FLOAT trailing_spacing, - FLOAT minimum_advance_width, - DWRITE_TEXT_RANGE range); - - HRESULT(STDMETHODCALLTYPE* GetCharacterSpacing)( - IDWriteTextLayout4* This, - UINT32 position, - FLOAT* leading_spacing, - FLOAT* trailing_spacing, - FLOAT* minimum_advance_width, - DWRITE_TEXT_RANGE* range); - - /*** IDWriteTextLayout2 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout2_GetMetrics)( - IDWriteTextLayout4* This, - DWRITE_TEXT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( - IDWriteTextLayout4* This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - - DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( - IDWriteTextLayout4* This, - WINBOOL lastline_wrapping_enabled); - - WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( - IDWriteTextLayout4* This, - DWRITE_OPTICAL_ALIGNMENT alignment); - - DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* SetFontFallback)( - IDWriteTextLayout4* This, - IDWriteFontFallback* fallback); - - HRESULT(STDMETHODCALLTYPE* GetFontFallback)( - IDWriteTextLayout4* This, - IDWriteFontFallback** fallback); - - /*** IDWriteTextLayout3 methods ***/ - HRESULT(STDMETHODCALLTYPE* InvalidateLayout)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout3_SetLineSpacing)( - IDWriteTextLayout4* This, - const DWRITE_LINE_SPACING* spacing); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout3_GetLineSpacing)( - IDWriteTextLayout4* This, - DWRITE_LINE_SPACING* spacing); - - HRESULT(STDMETHODCALLTYPE* IDWriteTextLayout3_GetLineMetrics)( - IDWriteTextLayout4* This, - DWRITE_LINE_METRICS1* metrics, - UINT32 max_count, - UINT32* count); - - /*** IDWriteTextLayout4 methods ***/ - HRESULT(STDMETHODCALLTYPE* SetFontAxisValues)( - IDWriteTextLayout4* This, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - DWRITE_TEXT_RANGE range); - - UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( - IDWriteTextLayout4* This, - UINT32 pos); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( - IDWriteTextLayout4* This, - UINT32 pos, - DWRITE_FONT_AXIS_VALUE* values, - UINT32 num_values, - DWRITE_TEXT_RANGE* range); - - DWRITE_AUTOMATIC_FONT_AXES(STDMETHODCALLTYPE* GetAutomaticFontAxes)( - IDWriteTextLayout4* This); - - HRESULT(STDMETHODCALLTYPE* SetAutomaticFontAxes)( - IDWriteTextLayout4* This, - DWRITE_AUTOMATIC_FONT_AXES axes); - - END_INTERFACE -} IDWriteTextLayout4Vtbl; - -interface IDWriteTextLayout4 { - CONST_VTBL IDWriteTextLayout4Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteTextLayout4_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteTextLayout4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteTextLayout4_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteTextFormat methods ***/ -#define IDWriteTextLayout4_SetTextAlignment(This, alignment) (This)->lpVtbl->SetTextAlignment(This, alignment) -#define IDWriteTextLayout4_SetParagraphAlignment(This, alignment) (This)->lpVtbl->SetParagraphAlignment(This, alignment) -#define IDWriteTextLayout4_SetWordWrapping(This, wrapping) (This)->lpVtbl->SetWordWrapping(This, wrapping) -#define IDWriteTextLayout4_SetReadingDirection(This, direction) (This)->lpVtbl->SetReadingDirection(This, direction) -#define IDWriteTextLayout4_SetFlowDirection(This, direction) (This)->lpVtbl->SetFlowDirection(This, direction) -#define IDWriteTextLayout4_SetIncrementalTabStop(This, tabstop) (This)->lpVtbl->SetIncrementalTabStop(This, tabstop) -#define IDWriteTextLayout4_SetTrimming(This, trimming, trimming_sign) (This)->lpVtbl->SetTrimming(This, trimming, trimming_sign) -#define IDWriteTextLayout4_GetTextAlignment(This) (This)->lpVtbl->GetTextAlignment(This) -#define IDWriteTextLayout4_GetParagraphAlignment(This) (This)->lpVtbl->GetParagraphAlignment(This) -#define IDWriteTextLayout4_GetWordWrapping(This) (This)->lpVtbl->GetWordWrapping(This) -#define IDWriteTextLayout4_GetReadingDirection(This) (This)->lpVtbl->GetReadingDirection(This) -#define IDWriteTextLayout4_GetFlowDirection(This) (This)->lpVtbl->GetFlowDirection(This) -#define IDWriteTextLayout4_GetIncrementalTabStop(This) (This)->lpVtbl->GetIncrementalTabStop(This) -#define IDWriteTextLayout4_GetTrimming(This, options, trimming_sign) (This)->lpVtbl->GetTrimming(This, options, trimming_sign) -/*** IDWriteTextLayout methods ***/ -#define IDWriteTextLayout4_SetMaxWidth(This, maxWidth) (This)->lpVtbl->SetMaxWidth(This, maxWidth) -#define IDWriteTextLayout4_SetMaxHeight(This, maxHeight) (This)->lpVtbl->SetMaxHeight(This, maxHeight) -#define IDWriteTextLayout4_SetFontCollection(This, collection, range) (This)->lpVtbl->SetFontCollection(This, collection, range) -#define IDWriteTextLayout4_SetFontFamilyName(This, name, range) (This)->lpVtbl->SetFontFamilyName(This, name, range) -#define IDWriteTextLayout4_SetFontWeight(This, weight, range) (This)->lpVtbl->SetFontWeight(This, weight, range) -#define IDWriteTextLayout4_SetFontStyle(This, style, range) (This)->lpVtbl->SetFontStyle(This, style, range) -#define IDWriteTextLayout4_SetFontStretch(This, stretch, range) (This)->lpVtbl->SetFontStretch(This, stretch, range) -#define IDWriteTextLayout4_SetFontSize(This, size, range) (This)->lpVtbl->SetFontSize(This, size, range) -#define IDWriteTextLayout4_SetUnderline(This, underline, range) (This)->lpVtbl->SetUnderline(This, underline, range) -#define IDWriteTextLayout4_SetStrikethrough(This, strikethrough, range) (This)->lpVtbl->SetStrikethrough(This, strikethrough, range) -#define IDWriteTextLayout4_SetDrawingEffect(This, effect, range) (This)->lpVtbl->SetDrawingEffect(This, effect, range) -#define IDWriteTextLayout4_SetInlineObject(This, object, range) (This)->lpVtbl->SetInlineObject(This, object, range) -#define IDWriteTextLayout4_SetTypography(This, typography, range) (This)->lpVtbl->SetTypography(This, typography, range) -#define IDWriteTextLayout4_SetLocaleName(This, locale, range) (This)->lpVtbl->SetLocaleName(This, locale, range) -#define IDWriteTextLayout4_GetMaxWidth(This) (This)->lpVtbl->GetMaxWidth(This) -#define IDWriteTextLayout4_GetMaxHeight(This) (This)->lpVtbl->GetMaxHeight(This) -#define IDWriteTextLayout4_GetFontCollection(This, pos, collection, range) (This)->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range) -#define IDWriteTextLayout4_GetFontFamilyNameLength(This, pos, len, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range) -#define IDWriteTextLayout4_GetFontFamilyName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range) -#define IDWriteTextLayout4_GetFontWeight(This, position, weight, range) (This)->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range) -#define IDWriteTextLayout4_GetFontStyle(This, currentPosition, style, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range) -#define IDWriteTextLayout4_GetFontStretch(This, position, stretch, range) (This)->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range) -#define IDWriteTextLayout4_GetFontSize(This, position, size, range) (This)->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range) -#define IDWriteTextLayout4_GetUnderline(This, position, has_underline, range) (This)->lpVtbl->GetUnderline(This, position, has_underline, range) -#define IDWriteTextLayout4_GetStrikethrough(This, position, has_strikethrough, range) (This)->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range) -#define IDWriteTextLayout4_GetDrawingEffect(This, position, effect, range) (This)->lpVtbl->GetDrawingEffect(This, position, effect, range) -#define IDWriteTextLayout4_GetInlineObject(This, position, object, range) (This)->lpVtbl->GetInlineObject(This, position, object, range) -#define IDWriteTextLayout4_GetTypography(This, position, typography, range) (This)->lpVtbl->GetTypography(This, position, typography, range) -#define IDWriteTextLayout4_GetLocaleNameLength(This, position, length, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range) -#define IDWriteTextLayout4_GetLocaleName(This, position, name, name_size, range) (This)->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range) -#define IDWriteTextLayout4_Draw(This, context, renderer, originX, originY) (This)->lpVtbl->Draw(This, context, renderer, originX, originY) -#define IDWriteTextLayout4_GetOverhangMetrics(This, overhangs) (This)->lpVtbl->GetOverhangMetrics(This, overhangs) -#define IDWriteTextLayout4_GetClusterMetrics(This, metrics, max_count, act_count) (This)->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count) -#define IDWriteTextLayout4_DetermineMinWidth(This, min_width) (This)->lpVtbl->DetermineMinWidth(This, min_width) -#define IDWriteTextLayout4_HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) (This)->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics) -#define IDWriteTextLayout4_HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) (This)->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics) -#define IDWriteTextLayout4_HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) (This)->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount) -/*** IDWriteTextLayout1 methods ***/ -#define IDWriteTextLayout4_SetPairKerning(This, is_pairkerning_enabled, range) (This)->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range) -#define IDWriteTextLayout4_GetPairKerning(This, position, is_pairkerning_enabled, range) (This)->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range) -#define IDWriteTextLayout4_SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range) -#define IDWriteTextLayout4_GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) (This)->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range) -/*** IDWriteTextLayout2 methods ***/ -#define IDWriteTextLayout4_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics) -#define IDWriteTextLayout4_SetVerticalGlyphOrientation(This, orientation) (This)->lpVtbl->SetVerticalGlyphOrientation(This, orientation) -#define IDWriteTextLayout4_GetVerticalGlyphOrientation(This) (This)->lpVtbl->GetVerticalGlyphOrientation(This) -#define IDWriteTextLayout4_SetLastLineWrapping(This, lastline_wrapping_enabled) (This)->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled) -#define IDWriteTextLayout4_GetLastLineWrapping(This) (This)->lpVtbl->GetLastLineWrapping(This) -#define IDWriteTextLayout4_SetOpticalAlignment(This, alignment) (This)->lpVtbl->SetOpticalAlignment(This, alignment) -#define IDWriteTextLayout4_GetOpticalAlignment(This) (This)->lpVtbl->GetOpticalAlignment(This) -#define IDWriteTextLayout4_SetFontFallback(This, fallback) (This)->lpVtbl->SetFontFallback(This, fallback) -#define IDWriteTextLayout4_GetFontFallback(This, fallback) (This)->lpVtbl->GetFontFallback(This, fallback) -/*** IDWriteTextLayout3 methods ***/ -#define IDWriteTextLayout4_InvalidateLayout(This) (This)->lpVtbl->InvalidateLayout(This) -#define IDWriteTextLayout4_SetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This, spacing) -#define IDWriteTextLayout4_GetLineSpacing(This, spacing) (This)->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This, spacing) -#define IDWriteTextLayout4_GetLineMetrics(This, metrics, max_count, count) (This)->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This, metrics, max_count, count) -/*** IDWriteTextLayout4 methods ***/ -#define IDWriteTextLayout4_SetFontAxisValues(This, axis_values, num_values, range) (This)->lpVtbl->SetFontAxisValues(This, axis_values, num_values, range) -#define IDWriteTextLayout4_GetFontAxisValueCount(This, pos) (This)->lpVtbl->GetFontAxisValueCount(This, pos) -#define IDWriteTextLayout4_GetFontAxisValues(This, pos, values, num_values, range) (This)->lpVtbl->GetFontAxisValues(This, pos, values, num_values, range) -#define IDWriteTextLayout4_GetAutomaticFontAxes(This) (This)->lpVtbl->GetAutomaticFontAxes(This) -#define IDWriteTextLayout4_SetAutomaticFontAxes(This, axes) (This)->lpVtbl->SetAutomaticFontAxes(This, axes) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteTextLayout4_QueryInterface(IDWriteTextLayout4* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteTextLayout4_AddRef(IDWriteTextLayout4* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteTextLayout4_Release(IDWriteTextLayout4* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteTextFormat methods ***/ -static inline HRESULT IDWriteTextLayout4_SetTextAlignment(IDWriteTextLayout4* This, DWRITE_TEXT_ALIGNMENT alignment) { - return This->lpVtbl->SetTextAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout4_SetParagraphAlignment(IDWriteTextLayout4* This, DWRITE_PARAGRAPH_ALIGNMENT alignment) { - return This->lpVtbl->SetParagraphAlignment(This, alignment); -} -static inline HRESULT IDWriteTextLayout4_SetWordWrapping(IDWriteTextLayout4* This, DWRITE_WORD_WRAPPING wrapping) { - return This->lpVtbl->SetWordWrapping(This, wrapping); -} -static inline HRESULT IDWriteTextLayout4_SetReadingDirection(IDWriteTextLayout4* This, DWRITE_READING_DIRECTION direction) { - return This->lpVtbl->SetReadingDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout4_SetFlowDirection(IDWriteTextLayout4* This, DWRITE_FLOW_DIRECTION direction) { - return This->lpVtbl->SetFlowDirection(This, direction); -} -static inline HRESULT IDWriteTextLayout4_SetIncrementalTabStop(IDWriteTextLayout4* This, FLOAT tabstop) { - return This->lpVtbl->SetIncrementalTabStop(This, tabstop); -} -static inline HRESULT IDWriteTextLayout4_SetTrimming(IDWriteTextLayout4* This, const DWRITE_TRIMMING* trimming, IDWriteInlineObject* trimming_sign) { - return This->lpVtbl->SetTrimming(This, trimming, trimming_sign); -} -static inline DWRITE_TEXT_ALIGNMENT IDWriteTextLayout4_GetTextAlignment(IDWriteTextLayout4* This) { - return This->lpVtbl->GetTextAlignment(This); -} -static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout4_GetParagraphAlignment(IDWriteTextLayout4* This) { - return This->lpVtbl->GetParagraphAlignment(This); -} -static inline DWRITE_WORD_WRAPPING IDWriteTextLayout4_GetWordWrapping(IDWriteTextLayout4* This) { - return This->lpVtbl->GetWordWrapping(This); -} -static inline DWRITE_READING_DIRECTION IDWriteTextLayout4_GetReadingDirection(IDWriteTextLayout4* This) { - return This->lpVtbl->GetReadingDirection(This); -} -static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout4_GetFlowDirection(IDWriteTextLayout4* This) { - return This->lpVtbl->GetFlowDirection(This); -} -static inline FLOAT IDWriteTextLayout4_GetIncrementalTabStop(IDWriteTextLayout4* This) { - return This->lpVtbl->GetIncrementalTabStop(This); -} -static inline HRESULT IDWriteTextLayout4_GetTrimming(IDWriteTextLayout4* This, DWRITE_TRIMMING* options, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->GetTrimming(This, options, trimming_sign); -} -/*** IDWriteTextLayout methods ***/ -static inline HRESULT IDWriteTextLayout4_SetMaxWidth(IDWriteTextLayout4* This, FLOAT maxWidth) { - return This->lpVtbl->SetMaxWidth(This, maxWidth); -} -static inline HRESULT IDWriteTextLayout4_SetMaxHeight(IDWriteTextLayout4* This, FLOAT maxHeight) { - return This->lpVtbl->SetMaxHeight(This, maxHeight); -} -static inline HRESULT IDWriteTextLayout4_SetFontCollection(IDWriteTextLayout4* This, IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontCollection(This, collection, range); -} -static inline HRESULT IDWriteTextLayout4_SetFontFamilyName(IDWriteTextLayout4* This, const WCHAR* name, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontFamilyName(This, name, range); -} -static inline HRESULT IDWriteTextLayout4_SetFontWeight(IDWriteTextLayout4* This, DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontWeight(This, weight, range); -} -static inline HRESULT IDWriteTextLayout4_SetFontStyle(IDWriteTextLayout4* This, DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStyle(This, style, range); -} -static inline HRESULT IDWriteTextLayout4_SetFontStretch(IDWriteTextLayout4* This, DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontStretch(This, stretch, range); -} -static inline HRESULT IDWriteTextLayout4_SetFontSize(IDWriteTextLayout4* This, FLOAT size, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontSize(This, size, range); -} -static inline HRESULT IDWriteTextLayout4_SetUnderline(IDWriteTextLayout4* This, WINBOOL underline, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetUnderline(This, underline, range); -} -static inline HRESULT IDWriteTextLayout4_SetStrikethrough(IDWriteTextLayout4* This, WINBOOL strikethrough, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetStrikethrough(This, strikethrough, range); -} -static inline HRESULT IDWriteTextLayout4_SetDrawingEffect(IDWriteTextLayout4* This, IUnknown* effect, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetDrawingEffect(This, effect, range); -} -static inline HRESULT IDWriteTextLayout4_SetInlineObject(IDWriteTextLayout4* This, IDWriteInlineObject* object, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetInlineObject(This, object, range); -} -static inline HRESULT IDWriteTextLayout4_SetTypography(IDWriteTextLayout4* This, IDWriteTypography* typography, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetTypography(This, typography, range); -} -static inline HRESULT IDWriteTextLayout4_SetLocaleName(IDWriteTextLayout4* This, const WCHAR* locale, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetLocaleName(This, locale, range); -} -static inline FLOAT IDWriteTextLayout4_GetMaxWidth(IDWriteTextLayout4* This) { - return This->lpVtbl->GetMaxWidth(This); -} -static inline FLOAT IDWriteTextLayout4_GetMaxHeight(IDWriteTextLayout4* This) { - return This->lpVtbl->GetMaxHeight(This); -} -static inline HRESULT IDWriteTextLayout4_GetFontCollection(IDWriteTextLayout4* This, UINT32 pos, IDWriteFontCollection** collection, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontCollection(This, pos, collection, range); -} -static inline HRESULT IDWriteTextLayout4_GetFontFamilyNameLength(IDWriteTextLayout4* This, UINT32 pos, UINT32* len, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyNameLength(This, pos, len, range); -} -static inline HRESULT IDWriteTextLayout4_GetFontFamilyName(IDWriteTextLayout4* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontFamilyName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout4_GetFontWeight(IDWriteTextLayout4* This, UINT32 position, DWRITE_FONT_WEIGHT* weight, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontWeight(This, position, weight, range); -} -static inline HRESULT IDWriteTextLayout4_GetFontStyle(IDWriteTextLayout4* This, UINT32 currentPosition, DWRITE_FONT_STYLE* style, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStyle(This, currentPosition, style, range); -} -static inline HRESULT IDWriteTextLayout4_GetFontStretch(IDWriteTextLayout4* This, UINT32 position, DWRITE_FONT_STRETCH* stretch, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontStretch(This, position, stretch, range); -} -static inline HRESULT IDWriteTextLayout4_GetFontSize(IDWriteTextLayout4* This, UINT32 position, FLOAT* size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetFontSize(This, position, size, range); -} -static inline HRESULT IDWriteTextLayout4_GetUnderline(IDWriteTextLayout4* This, UINT32 position, WINBOOL* has_underline, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetUnderline(This, position, has_underline, range); -} -static inline HRESULT IDWriteTextLayout4_GetStrikethrough(IDWriteTextLayout4* This, UINT32 position, WINBOOL* has_strikethrough, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetStrikethrough(This, position, has_strikethrough, range); -} -static inline HRESULT IDWriteTextLayout4_GetDrawingEffect(IDWriteTextLayout4* This, UINT32 position, IUnknown** effect, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetDrawingEffect(This, position, effect, range); -} -static inline HRESULT IDWriteTextLayout4_GetInlineObject(IDWriteTextLayout4* This, UINT32 position, IDWriteInlineObject** object, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetInlineObject(This, position, object, range); -} -static inline HRESULT IDWriteTextLayout4_GetTypography(IDWriteTextLayout4* This, UINT32 position, IDWriteTypography** typography, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetTypography(This, position, typography, range); -} -static inline HRESULT IDWriteTextLayout4_GetLocaleNameLength(IDWriteTextLayout4* This, UINT32 position, UINT32* length, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleNameLength(This, position, length, range); -} -static inline HRESULT IDWriteTextLayout4_GetLocaleName(IDWriteTextLayout4* This, UINT32 position, WCHAR* name, UINT32 name_size, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->IDWriteTextLayout_GetLocaleName(This, position, name, name_size, range); -} -static inline HRESULT IDWriteTextLayout4_Draw(IDWriteTextLayout4* This, void* context, IDWriteTextRenderer* renderer, FLOAT originX, FLOAT originY) { - return This->lpVtbl->Draw(This, context, renderer, originX, originY); -} -static inline HRESULT IDWriteTextLayout4_GetOverhangMetrics(IDWriteTextLayout4* This, DWRITE_OVERHANG_METRICS* overhangs) { - return This->lpVtbl->GetOverhangMetrics(This, overhangs); -} -static inline HRESULT IDWriteTextLayout4_GetClusterMetrics(IDWriteTextLayout4* This, DWRITE_CLUSTER_METRICS* metrics, UINT32 max_count, UINT32* act_count) { - return This->lpVtbl->GetClusterMetrics(This, metrics, max_count, act_count); -} -static inline HRESULT IDWriteTextLayout4_DetermineMinWidth(IDWriteTextLayout4* This, FLOAT* min_width) { - return This->lpVtbl->DetermineMinWidth(This, min_width); -} -static inline HRESULT IDWriteTextLayout4_HitTestPoint(IDWriteTextLayout4* This, FLOAT pointX, FLOAT pointY, WINBOOL* is_trailinghit, WINBOOL* is_inside, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestPoint(This, pointX, pointY, is_trailinghit, is_inside, metrics); -} -static inline HRESULT IDWriteTextLayout4_HitTestTextPosition(IDWriteTextLayout4* This, UINT32 textPosition, WINBOOL is_trailinghit, FLOAT* pointX, FLOAT* pointY, DWRITE_HIT_TEST_METRICS* metrics) { - return This->lpVtbl->HitTestTextPosition(This, textPosition, is_trailinghit, pointX, pointY, metrics); -} -static inline HRESULT IDWriteTextLayout4_HitTestTextRange(IDWriteTextLayout4* This, UINT32 textPosition, UINT32 textLength, FLOAT originX, FLOAT originY, DWRITE_HIT_TEST_METRICS* metrics, UINT32 max_metricscount, UINT32* actual_metricscount) { - return This->lpVtbl->HitTestTextRange(This, textPosition, textLength, originX, originY, metrics, max_metricscount, actual_metricscount); -} -/*** IDWriteTextLayout1 methods ***/ -static inline HRESULT IDWriteTextLayout4_SetPairKerning(IDWriteTextLayout4* This, WINBOOL is_pairkerning_enabled, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetPairKerning(This, is_pairkerning_enabled, range); -} -static inline HRESULT IDWriteTextLayout4_GetPairKerning(IDWriteTextLayout4* This, UINT32 position, WINBOOL* is_pairkerning_enabled, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetPairKerning(This, position, is_pairkerning_enabled, range); -} -static inline HRESULT IDWriteTextLayout4_SetCharacterSpacing(IDWriteTextLayout4* This, FLOAT leading_spacing, FLOAT trailing_spacing, FLOAT minimum_advance_width, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetCharacterSpacing(This, leading_spacing, trailing_spacing, minimum_advance_width, range); -} -static inline HRESULT IDWriteTextLayout4_GetCharacterSpacing(IDWriteTextLayout4* This, UINT32 position, FLOAT* leading_spacing, FLOAT* trailing_spacing, FLOAT* minimum_advance_width, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetCharacterSpacing(This, position, leading_spacing, trailing_spacing, minimum_advance_width, range); -} -/*** IDWriteTextLayout2 methods ***/ -static inline HRESULT IDWriteTextLayout4_GetMetrics(IDWriteTextLayout4* This, DWRITE_TEXT_METRICS1* metrics) { - return This->lpVtbl->IDWriteTextLayout2_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteTextLayout4_SetVerticalGlyphOrientation(IDWriteTextLayout4* This, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) { - return This->lpVtbl->SetVerticalGlyphOrientation(This, orientation); -} -static inline DWRITE_VERTICAL_GLYPH_ORIENTATION IDWriteTextLayout4_GetVerticalGlyphOrientation(IDWriteTextLayout4* This) { - return This->lpVtbl->GetVerticalGlyphOrientation(This); -} -static inline HRESULT IDWriteTextLayout4_SetLastLineWrapping(IDWriteTextLayout4* This, WINBOOL lastline_wrapping_enabled) { - return This->lpVtbl->SetLastLineWrapping(This, lastline_wrapping_enabled); -} -static inline WINBOOL IDWriteTextLayout4_GetLastLineWrapping(IDWriteTextLayout4* This) { - return This->lpVtbl->GetLastLineWrapping(This); -} -static inline HRESULT IDWriteTextLayout4_SetOpticalAlignment(IDWriteTextLayout4* This, DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This, alignment); -} -static inline DWRITE_OPTICAL_ALIGNMENT IDWriteTextLayout4_GetOpticalAlignment(IDWriteTextLayout4* This) { - return This->lpVtbl->GetOpticalAlignment(This); -} -static inline HRESULT IDWriteTextLayout4_SetFontFallback(IDWriteTextLayout4* This, IDWriteFontFallback* fallback) { - return This->lpVtbl->SetFontFallback(This, fallback); -} -static inline HRESULT IDWriteTextLayout4_GetFontFallback(IDWriteTextLayout4* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetFontFallback(This, fallback); -} -/*** IDWriteTextLayout3 methods ***/ -static inline HRESULT IDWriteTextLayout4_InvalidateLayout(IDWriteTextLayout4* This) { - return This->lpVtbl->InvalidateLayout(This); -} -static inline HRESULT IDWriteTextLayout4_SetLineSpacing(IDWriteTextLayout4* This, const DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextLayout3_SetLineSpacing(This, spacing); -} -static inline HRESULT IDWriteTextLayout4_GetLineSpacing(IDWriteTextLayout4* This, DWRITE_LINE_SPACING* spacing) { - return This->lpVtbl->IDWriteTextLayout3_GetLineSpacing(This, spacing); -} -static inline HRESULT IDWriteTextLayout4_GetLineMetrics(IDWriteTextLayout4* This, DWRITE_LINE_METRICS1* metrics, UINT32 max_count, UINT32* count) { - return This->lpVtbl->IDWriteTextLayout3_GetLineMetrics(This, metrics, max_count, count); -} -/*** IDWriteTextLayout4 methods ***/ -static inline HRESULT IDWriteTextLayout4_SetFontAxisValues(IDWriteTextLayout4* This, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, DWRITE_TEXT_RANGE range) { - return This->lpVtbl->SetFontAxisValues(This, axis_values, num_values, range); -} -static inline UINT32 IDWriteTextLayout4_GetFontAxisValueCount(IDWriteTextLayout4* This, UINT32 pos) { - return This->lpVtbl->GetFontAxisValueCount(This, pos); -} -static inline HRESULT IDWriteTextLayout4_GetFontAxisValues(IDWriteTextLayout4* This, UINT32 pos, DWRITE_FONT_AXIS_VALUE* values, UINT32 num_values, DWRITE_TEXT_RANGE* range) { - return This->lpVtbl->GetFontAxisValues(This, pos, values, num_values, range); -} -static inline DWRITE_AUTOMATIC_FONT_AXES IDWriteTextLayout4_GetAutomaticFontAxes(IDWriteTextLayout4* This) { - return This->lpVtbl->GetAutomaticFontAxes(This); -} -static inline HRESULT IDWriteTextLayout4_SetAutomaticFontAxes(IDWriteTextLayout4* This, DWRITE_AUTOMATIC_FONT_AXES axes) { - return This->lpVtbl->SetAutomaticFontAxes(This, axes); -} -#endif -#endif - -#endif - -#endif /* __IDWriteTextLayout4_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFallback1 interface - */ -#ifndef __IDWriteFontFallback1_INTERFACE_DEFINED__ -#define __IDWriteFontFallback1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd, 0x6a, 0xf4, 0xf3, 0x1e, 0xaa, 0xde, 0x77); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("2397599d-dd0d-4681-bd6a-f4f31eaade77") -IDWriteFontFallback1 : public IDWriteFontFallback { - virtual HRESULT STDMETHODCALLTYPE MapCharacters( - IDWriteTextAnalysisSource * source, - UINT32 pos, - UINT32 length, - IDWriteFontCollection * base_collection, - const WCHAR* familyname, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - UINT32* mapped_length, - FLOAT* scale, - IDWriteFontFace5** fontface) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd, 0x6a, 0xf4, 0xf3, 0x1e, 0xaa, 0xde, 0x77) -#endif -#else -typedef struct IDWriteFontFallback1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFallback1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFallback1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFallback1* This); - - /*** IDWriteFontFallback methods ***/ - HRESULT(STDMETHODCALLTYPE* MapCharacters)( - IDWriteFontFallback1* This, - IDWriteTextAnalysisSource* source, - UINT32 position, - UINT32 length, - IDWriteFontCollection* basecollection, - const WCHAR* baseFamilyName, - DWRITE_FONT_WEIGHT baseWeight, - DWRITE_FONT_STYLE baseStyle, - DWRITE_FONT_STRETCH baseStretch, - UINT32* mappedLength, - IDWriteFont** mappedFont, - FLOAT* scale); - - /*** IDWriteFontFallback1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontFallback1_MapCharacters)( - IDWriteFontFallback1* This, - IDWriteTextAnalysisSource* source, - UINT32 pos, - UINT32 length, - IDWriteFontCollection* base_collection, - const WCHAR* familyname, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - UINT32* mapped_length, - FLOAT* scale, - IDWriteFontFace5** fontface); - - END_INTERFACE -} IDWriteFontFallback1Vtbl; - -interface IDWriteFontFallback1 { - CONST_VTBL IDWriteFontFallback1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFallback1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFallback1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFallback1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFallback methods ***/ -/*** IDWriteFontFallback1 methods ***/ -#define IDWriteFontFallback1_MapCharacters(This, source, pos, length, base_collection, familyname, axis_values, num_values, mapped_length, scale, fontface) (This)->lpVtbl->IDWriteFontFallback1_MapCharacters(This, source, pos, length, base_collection, familyname, axis_values, num_values, mapped_length, scale, fontface) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFallback1_QueryInterface(IDWriteFontFallback1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFallback1_AddRef(IDWriteFontFallback1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFallback1_Release(IDWriteFontFallback1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFallback methods ***/ -/*** IDWriteFontFallback1 methods ***/ -static inline HRESULT IDWriteFontFallback1_MapCharacters(IDWriteFontFallback1* This, IDWriteTextAnalysisSource* source, UINT32 pos, UINT32 length, IDWriteFontCollection* base_collection, const WCHAR* familyname, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, UINT32* mapped_length, FLOAT* scale, IDWriteFontFace5** fontface) { - return This->lpVtbl->IDWriteFontFallback1_MapCharacters(This, source, pos, length, base_collection, familyname, axis_values, num_values, mapped_length, scale, fontface); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFallback1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteGdiInterop1 interface - */ -#ifndef __IDWriteGdiInterop1_INTERFACE_DEFINED__ -#define __IDWriteGdiInterop1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90, 0xbe, 0x42, 0x17, 0x80, 0xa6, 0xf5, 0x15); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("4556be70-3abd-4f70-90be-421780a6f515") -IDWriteGdiInterop1 : public IDWriteGdiInterop { - virtual HRESULT STDMETHODCALLTYPE CreateFontFromLOGFONT( - const LOGFONTW* logfont, - IDWriteFontCollection* collection, - IDWriteFont** font) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontSignature_( - IDWriteFontFace * fontface, - FONTSIGNATURE * fontsig) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontSignature( - IDWriteFont * font, - FONTSIGNATURE * fontsig) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMatchingFontsByLOGFONT( - const LOGFONTW* logfont, - IDWriteFontSet* fontset, - IDWriteFontSet** subset) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90, 0xbe, 0x42, 0x17, 0x80, 0xa6, 0xf5, 0x15) -#endif -#else -typedef struct IDWriteGdiInterop1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteGdiInterop1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteGdiInterop1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteGdiInterop1* This); - - /*** IDWriteGdiInterop methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateFontFromLOGFONT)( - IDWriteGdiInterop1* This, - const LOGFONTW* logfont, - IDWriteFont** font); - - HRESULT(STDMETHODCALLTYPE* ConvertFontToLOGFONT)( - IDWriteGdiInterop1* This, - IDWriteFont* font, - LOGFONTW* logfont, - WINBOOL* is_systemfont); - - HRESULT(STDMETHODCALLTYPE* ConvertFontFaceToLOGFONT)( - IDWriteGdiInterop1* This, - IDWriteFontFace* font, - LOGFONTW* logfont); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceFromHdc)( - IDWriteGdiInterop1* This, - HDC hdc, - IDWriteFontFace** fontface); - - HRESULT(STDMETHODCALLTYPE* CreateBitmapRenderTarget)( - IDWriteGdiInterop1* This, - HDC hdc, - UINT32 width, - UINT32 height, - IDWriteBitmapRenderTarget** target); - - /*** IDWriteGdiInterop1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteGdiInterop1_CreateFontFromLOGFONT)( - IDWriteGdiInterop1* This, - const LOGFONTW* logfont, - IDWriteFontCollection* collection, - IDWriteFont** font); - - HRESULT(STDMETHODCALLTYPE* GetFontSignature_)( - IDWriteGdiInterop1* This, - IDWriteFontFace* fontface, - FONTSIGNATURE* fontsig); - - HRESULT(STDMETHODCALLTYPE* GetFontSignature)( - IDWriteGdiInterop1* This, - IDWriteFont* font, - FONTSIGNATURE* fontsig); - - HRESULT(STDMETHODCALLTYPE* GetMatchingFontsByLOGFONT)( - IDWriteGdiInterop1* This, - const LOGFONTW* logfont, - IDWriteFontSet* fontset, - IDWriteFontSet** subset); - - END_INTERFACE -} IDWriteGdiInterop1Vtbl; - -interface IDWriteGdiInterop1 { - CONST_VTBL IDWriteGdiInterop1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteGdiInterop1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteGdiInterop1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteGdiInterop1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteGdiInterop methods ***/ -#define IDWriteGdiInterop1_ConvertFontToLOGFONT(This, font, logfont, is_systemfont) (This)->lpVtbl->ConvertFontToLOGFONT(This, font, logfont, is_systemfont) -#define IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(This, font, logfont) (This)->lpVtbl->ConvertFontFaceToLOGFONT(This, font, logfont) -#define IDWriteGdiInterop1_CreateFontFaceFromHdc(This, hdc, fontface) (This)->lpVtbl->CreateFontFaceFromHdc(This, hdc, fontface) -#define IDWriteGdiInterop1_CreateBitmapRenderTarget(This, hdc, width, height, target) (This)->lpVtbl->CreateBitmapRenderTarget(This, hdc, width, height, target) -/*** IDWriteGdiInterop1 methods ***/ -#define IDWriteGdiInterop1_CreateFontFromLOGFONT(This, logfont, collection, font) (This)->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This, logfont, collection, font) -#define IDWriteGdiInterop1_GetFontSignature_(This, fontface, fontsig) (This)->lpVtbl->GetFontSignature_(This, fontface, fontsig) -#define IDWriteGdiInterop1_GetFontSignature(This, font, fontsig) (This)->lpVtbl->GetFontSignature(This, font, fontsig) -#define IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(This, logfont, fontset, subset) (This)->lpVtbl->GetMatchingFontsByLOGFONT(This, logfont, fontset, subset) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteGdiInterop1_QueryInterface(IDWriteGdiInterop1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteGdiInterop1_AddRef(IDWriteGdiInterop1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteGdiInterop1_Release(IDWriteGdiInterop1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteGdiInterop methods ***/ -static inline HRESULT IDWriteGdiInterop1_ConvertFontToLOGFONT(IDWriteGdiInterop1* This, IDWriteFont* font, LOGFONTW* logfont, WINBOOL* is_systemfont) { - return This->lpVtbl->ConvertFontToLOGFONT(This, font, logfont, is_systemfont); -} -static inline HRESULT IDWriteGdiInterop1_ConvertFontFaceToLOGFONT(IDWriteGdiInterop1* This, IDWriteFontFace* font, LOGFONTW* logfont) { - return This->lpVtbl->ConvertFontFaceToLOGFONT(This, font, logfont); -} -static inline HRESULT IDWriteGdiInterop1_CreateFontFaceFromHdc(IDWriteGdiInterop1* This, HDC hdc, IDWriteFontFace** fontface) { - return This->lpVtbl->CreateFontFaceFromHdc(This, hdc, fontface); -} -static inline HRESULT IDWriteGdiInterop1_CreateBitmapRenderTarget(IDWriteGdiInterop1* This, HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget** target) { - return This->lpVtbl->CreateBitmapRenderTarget(This, hdc, width, height, target); -} -/*** IDWriteGdiInterop1 methods ***/ -static inline HRESULT IDWriteGdiInterop1_CreateFontFromLOGFONT(IDWriteGdiInterop1* This, const LOGFONTW* logfont, IDWriteFontCollection* collection, IDWriteFont** font) { - return This->lpVtbl->IDWriteGdiInterop1_CreateFontFromLOGFONT(This, logfont, collection, font); -} -static inline HRESULT IDWriteGdiInterop1_GetFontSignature_(IDWriteGdiInterop1* This, IDWriteFontFace* fontface, FONTSIGNATURE* fontsig) { - return This->lpVtbl->GetFontSignature_(This, fontface, fontsig); -} -static inline HRESULT IDWriteGdiInterop1_GetFontSignature(IDWriteGdiInterop1* This, IDWriteFont* font, FONTSIGNATURE* fontsig) { - return This->lpVtbl->GetFontSignature(This, font, fontsig); -} -static inline HRESULT IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(IDWriteGdiInterop1* This, const LOGFONTW* logfont, IDWriteFontSet* fontset, IDWriteFontSet** subset) { - return This->lpVtbl->GetMatchingFontsByLOGFONT(This, logfont, fontset, subset); -} -#endif -#endif - -#endif - -#endif /* __IDWriteGdiInterop1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSetBuilder interface - */ -#ifndef __IDWriteFontSetBuilder_INTERFACE_DEFINED__ -#define __IDWriteFontSetBuilder_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8, 0xbe, 0x45, 0x74, 0x01, 0xaf, 0xcb, 0x3d); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("2f642afe-9c68-4f40-b8be-457401afcb3d") -IDWriteFontSetBuilder : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference_( - IDWriteFontFaceReference * ref, - const DWRITE_FONT_PROPERTY* props, - UINT32 prop_count) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddFontFaceReference( - IDWriteFontFaceReference * ref) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddFontSet( - IDWriteFontSet * fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontSet( - IDWriteFontSet * *fontset) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8, 0xbe, 0x45, 0x74, 0x01, 0xaf, 0xcb, 0x3d) -#endif -#else -typedef struct IDWriteFontSetBuilderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSetBuilder* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSetBuilder* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSetBuilder* This); - - /*** IDWriteFontSetBuilder methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFontFaceReference_)( - IDWriteFontSetBuilder* This, - IDWriteFontFaceReference* ref, - const DWRITE_FONT_PROPERTY* props, - UINT32 prop_count); - - HRESULT(STDMETHODCALLTYPE* AddFontFaceReference)( - IDWriteFontSetBuilder* This, - IDWriteFontFaceReference* ref); - - HRESULT(STDMETHODCALLTYPE* AddFontSet)( - IDWriteFontSetBuilder* This, - IDWriteFontSet* fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSet)( - IDWriteFontSetBuilder* This, - IDWriteFontSet** fontset); - - END_INTERFACE -} IDWriteFontSetBuilderVtbl; - -interface IDWriteFontSetBuilder { - CONST_VTBL IDWriteFontSetBuilderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSetBuilder_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSetBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSetBuilder_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSetBuilder methods ***/ -#define IDWriteFontSetBuilder_AddFontFaceReference_(This, ref, props, prop_count) (This)->lpVtbl->AddFontFaceReference_(This, ref, props, prop_count) -#define IDWriteFontSetBuilder_AddFontFaceReference(This, ref) (This)->lpVtbl->AddFontFaceReference(This, ref) -#define IDWriteFontSetBuilder_AddFontSet(This, fontset) (This)->lpVtbl->AddFontSet(This, fontset) -#define IDWriteFontSetBuilder_CreateFontSet(This, fontset) (This)->lpVtbl->CreateFontSet(This, fontset) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSetBuilder_QueryInterface(IDWriteFontSetBuilder* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSetBuilder_AddRef(IDWriteFontSetBuilder* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSetBuilder_Release(IDWriteFontSetBuilder* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSetBuilder methods ***/ -static inline HRESULT IDWriteFontSetBuilder_AddFontFaceReference_(IDWriteFontSetBuilder* This, IDWriteFontFaceReference* ref, const DWRITE_FONT_PROPERTY* props, UINT32 prop_count) { - return This->lpVtbl->AddFontFaceReference_(This, ref, props, prop_count); -} -static inline HRESULT IDWriteFontSetBuilder_AddFontFaceReference(IDWriteFontSetBuilder* This, IDWriteFontFaceReference* ref) { - return This->lpVtbl->AddFontFaceReference(This, ref); -} -static inline HRESULT IDWriteFontSetBuilder_AddFontSet(IDWriteFontSetBuilder* This, IDWriteFontSet* fontset) { - return This->lpVtbl->AddFontSet(This, fontset); -} -static inline HRESULT IDWriteFontSetBuilder_CreateFontSet(IDWriteFontSetBuilder* This, IDWriteFontSet** fontset) { - return This->lpVtbl->CreateFontSet(This, fontset); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSetBuilder_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSetBuilder1 interface - */ -#ifndef __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ -#define __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b, 0x72, 0xec, 0x56, 0x21, 0xdc, 0xca, 0xfd); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("3ff7715f-3cdc-4dc6-9b72-ec5621dccafd") -IDWriteFontSetBuilder1 : public IDWriteFontSetBuilder { - virtual HRESULT STDMETHODCALLTYPE AddFontFile( - IDWriteFontFile * file) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b, 0x72, 0xec, 0x56, 0x21, 0xdc, 0xca, 0xfd) -#endif -#else -typedef struct IDWriteFontSetBuilder1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSetBuilder1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSetBuilder1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSetBuilder1* This); - - /*** IDWriteFontSetBuilder methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFontFaceReference_)( - IDWriteFontSetBuilder1* This, - IDWriteFontFaceReference* ref, - const DWRITE_FONT_PROPERTY* props, - UINT32 prop_count); - - HRESULT(STDMETHODCALLTYPE* AddFontFaceReference)( - IDWriteFontSetBuilder1* This, - IDWriteFontFaceReference* ref); - - HRESULT(STDMETHODCALLTYPE* AddFontSet)( - IDWriteFontSetBuilder1* This, - IDWriteFontSet* fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSet)( - IDWriteFontSetBuilder1* This, - IDWriteFontSet** fontset); - - /*** IDWriteFontSetBuilder1 methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFontFile)( - IDWriteFontSetBuilder1* This, - IDWriteFontFile* file); - - END_INTERFACE -} IDWriteFontSetBuilder1Vtbl; - -interface IDWriteFontSetBuilder1 { - CONST_VTBL IDWriteFontSetBuilder1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSetBuilder1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSetBuilder1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSetBuilder1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSetBuilder methods ***/ -#define IDWriteFontSetBuilder1_AddFontFaceReference_(This, ref, props, prop_count) (This)->lpVtbl->AddFontFaceReference_(This, ref, props, prop_count) -#define IDWriteFontSetBuilder1_AddFontFaceReference(This, ref) (This)->lpVtbl->AddFontFaceReference(This, ref) -#define IDWriteFontSetBuilder1_AddFontSet(This, fontset) (This)->lpVtbl->AddFontSet(This, fontset) -#define IDWriteFontSetBuilder1_CreateFontSet(This, fontset) (This)->lpVtbl->CreateFontSet(This, fontset) -/*** IDWriteFontSetBuilder1 methods ***/ -#define IDWriteFontSetBuilder1_AddFontFile(This, file) (This)->lpVtbl->AddFontFile(This, file) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSetBuilder1_QueryInterface(IDWriteFontSetBuilder1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSetBuilder1_AddRef(IDWriteFontSetBuilder1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSetBuilder1_Release(IDWriteFontSetBuilder1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSetBuilder methods ***/ -static inline HRESULT IDWriteFontSetBuilder1_AddFontFaceReference_(IDWriteFontSetBuilder1* This, IDWriteFontFaceReference* ref, const DWRITE_FONT_PROPERTY* props, UINT32 prop_count) { - return This->lpVtbl->AddFontFaceReference_(This, ref, props, prop_count); -} -static inline HRESULT IDWriteFontSetBuilder1_AddFontFaceReference(IDWriteFontSetBuilder1* This, IDWriteFontFaceReference* ref) { - return This->lpVtbl->AddFontFaceReference(This, ref); -} -static inline HRESULT IDWriteFontSetBuilder1_AddFontSet(IDWriteFontSetBuilder1* This, IDWriteFontSet* fontset) { - return This->lpVtbl->AddFontSet(This, fontset); -} -static inline HRESULT IDWriteFontSetBuilder1_CreateFontSet(IDWriteFontSetBuilder1* This, IDWriteFontSet** fontset) { - return This->lpVtbl->CreateFontSet(This, fontset); -} -/*** IDWriteFontSetBuilder1 methods ***/ -static inline HRESULT IDWriteFontSetBuilder1_AddFontFile(IDWriteFontSetBuilder1* This, IDWriteFontFile* file) { - return This->lpVtbl->AddFontFile(This, file); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontSetBuilder2 interface - */ -#ifndef __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ -#define __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f, 0x4f, 0x31, 0x89, 0xb9, 0x40, 0x1e, 0x45); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("ee5ba612-b131-463c-8f4f-3189b9401e45") -IDWriteFontSetBuilder2 : public IDWriteFontSetBuilder1 { - virtual HRESULT STDMETHODCALLTYPE AddFont( - IDWriteFontFile * fontfile, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddFontFile( - const WCHAR* filepath) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f, 0x4f, 0x31, 0x89, 0xb9, 0x40, 0x1e, 0x45) -#endif -#else -typedef struct IDWriteFontSetBuilder2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontSetBuilder2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontSetBuilder2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontSetBuilder2* This); - - /*** IDWriteFontSetBuilder methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFontFaceReference_)( - IDWriteFontSetBuilder2* This, - IDWriteFontFaceReference* ref, - const DWRITE_FONT_PROPERTY* props, - UINT32 prop_count); - - HRESULT(STDMETHODCALLTYPE* AddFontFaceReference)( - IDWriteFontSetBuilder2* This, - IDWriteFontFaceReference* ref); - - HRESULT(STDMETHODCALLTYPE* AddFontSet)( - IDWriteFontSetBuilder2* This, - IDWriteFontSet* fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSet)( - IDWriteFontSetBuilder2* This, - IDWriteFontSet** fontset); - - /*** IDWriteFontSetBuilder1 methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFontFile)( - IDWriteFontSetBuilder2* This, - IDWriteFontFile* file); - - /*** IDWriteFontSetBuilder2 methods ***/ - HRESULT(STDMETHODCALLTYPE* AddFont)( - IDWriteFontSetBuilder2* This, - IDWriteFontFile* fontfile, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_values, - const DWRITE_FONT_AXIS_RANGE* axis_ranges, - UINT32 num_ranges, - const DWRITE_FONT_PROPERTY* props, - UINT32 num_properties); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontSetBuilder2_AddFontFile)( - IDWriteFontSetBuilder2* This, - const WCHAR* filepath); - - END_INTERFACE -} IDWriteFontSetBuilder2Vtbl; - -interface IDWriteFontSetBuilder2 { - CONST_VTBL IDWriteFontSetBuilder2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontSetBuilder2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontSetBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontSetBuilder2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontSetBuilder methods ***/ -#define IDWriteFontSetBuilder2_AddFontFaceReference_(This, ref, props, prop_count) (This)->lpVtbl->AddFontFaceReference_(This, ref, props, prop_count) -#define IDWriteFontSetBuilder2_AddFontFaceReference(This, ref) (This)->lpVtbl->AddFontFaceReference(This, ref) -#define IDWriteFontSetBuilder2_AddFontSet(This, fontset) (This)->lpVtbl->AddFontSet(This, fontset) -#define IDWriteFontSetBuilder2_CreateFontSet(This, fontset) (This)->lpVtbl->CreateFontSet(This, fontset) -/*** IDWriteFontSetBuilder1 methods ***/ -/*** IDWriteFontSetBuilder2 methods ***/ -#define IDWriteFontSetBuilder2_AddFont(This, fontfile, face_index, simulations, axis_values, num_values, axis_ranges, num_ranges, props, num_properties) (This)->lpVtbl->AddFont(This, fontfile, face_index, simulations, axis_values, num_values, axis_ranges, num_ranges, props, num_properties) -#define IDWriteFontSetBuilder2_AddFontFile(This, filepath) (This)->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This, filepath) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontSetBuilder2_QueryInterface(IDWriteFontSetBuilder2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontSetBuilder2_AddRef(IDWriteFontSetBuilder2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontSetBuilder2_Release(IDWriteFontSetBuilder2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontSetBuilder methods ***/ -static inline HRESULT IDWriteFontSetBuilder2_AddFontFaceReference_(IDWriteFontSetBuilder2* This, IDWriteFontFaceReference* ref, const DWRITE_FONT_PROPERTY* props, UINT32 prop_count) { - return This->lpVtbl->AddFontFaceReference_(This, ref, props, prop_count); -} -static inline HRESULT IDWriteFontSetBuilder2_AddFontFaceReference(IDWriteFontSetBuilder2* This, IDWriteFontFaceReference* ref) { - return This->lpVtbl->AddFontFaceReference(This, ref); -} -static inline HRESULT IDWriteFontSetBuilder2_AddFontSet(IDWriteFontSetBuilder2* This, IDWriteFontSet* fontset) { - return This->lpVtbl->AddFontSet(This, fontset); -} -static inline HRESULT IDWriteFontSetBuilder2_CreateFontSet(IDWriteFontSetBuilder2* This, IDWriteFontSet** fontset) { - return This->lpVtbl->CreateFontSet(This, fontset); -} -/*** IDWriteFontSetBuilder1 methods ***/ -/*** IDWriteFontSetBuilder2 methods ***/ -static inline HRESULT IDWriteFontSetBuilder2_AddFont(IDWriteFontSetBuilder2* This, IDWriteFontFile* fontfile, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_values, const DWRITE_FONT_AXIS_RANGE* axis_ranges, UINT32 num_ranges, const DWRITE_FONT_PROPERTY* props, UINT32 num_properties) { - return This->lpVtbl->AddFont(This, fontfile, face_index, simulations, axis_values, num_values, axis_ranges, num_ranges, props, num_properties); -} -static inline HRESULT IDWriteFontSetBuilder2_AddFontFile(IDWriteFontSetBuilder2* This, const WCHAR* filepath) { - return This->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This, filepath); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory3 interface - */ -#ifndef __IDWriteFactory3_INTERFACE_DEFINED__ -#define __IDWriteFactory3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87, 0xfc, 0xfe, 0x67, 0x55, 0x6a, 0x3b, 0x65); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("9a1b41c3-d3bb-466a-87fc-fe67556a3b65") -IDWriteFactory3 : public IDWriteFactory2 { - virtual HRESULT STDMETHODCALLTYPE CreateGlyphRunAnalysis( - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams( - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3 * *params) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference_( - IDWriteFontFile * file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference * *reference) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( - IDWriteFontSet * *fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( - IDWriteFontSetBuilder * *builder) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( - IDWriteFontSet * fontset, - IDWriteFontCollection1 * *collection) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( - WINBOOL include_downloadable, - IDWriteFontCollection1 * *collection, - WINBOOL check_for_updates) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontDownloadQueue( - IDWriteFontDownloadQueue * *queue) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87, 0xfc, 0xfe, 0x67, 0x55, 0x6a, 0x3b, 0x65) -#endif -#else -typedef struct IDWriteFactory3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory3* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory3* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory3* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory3* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory3* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory3* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory3* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory3* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory3* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory3* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory3* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory3* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory3* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory3* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory3* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory3* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory3* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory3* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory3* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory3* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory3* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory3* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory3* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory3* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory3* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory3* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory3* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory3* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory3* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateGlyphRunAnalysis)( - IDWriteFactory3* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateCustomRenderingParams)( - IDWriteFactory3* This, - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3** params); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference_)( - IDWriteFactory3* This, - IDWriteFontFile* file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFactory3* This, - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* GetSystemFontSet)( - IDWriteFactory3* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( - IDWriteFactory3* This, - IDWriteFontSetBuilder** builder); - - HRESULT(STDMETHODCALLTYPE* CreateFontCollectionFromFontSet)( - IDWriteFactory3* This, - IDWriteFontSet* fontset, - IDWriteFontCollection1** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_GetSystemFontCollection)( - IDWriteFactory3* This, - WINBOOL include_downloadable, - IDWriteFontCollection1** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( - IDWriteFactory3* This, - IDWriteFontDownloadQueue** queue); - - END_INTERFACE -} IDWriteFactory3Vtbl; - -interface IDWriteFactory3 { - CONST_VTBL IDWriteFactory3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory3_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory3_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory3_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory3_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory3_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory3_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory3_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory3_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory3_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory3_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory3_CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) (This)->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) -#define IDWriteFactory3_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory3_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory3_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory3_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory3_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory3_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory3_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory3_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory3_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory3_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -#define IDWriteFactory3_TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers) (This)->lpVtbl->TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers) -/*** IDWriteFactory3 methods ***/ -#define IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) -#define IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) -#define IDWriteFactory3_CreateFontFaceReference_(This, file, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference) -#define IDWriteFactory3_CreateFontFaceReference(This, path, writetime, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference(This, path, writetime, index, simulations, reference) -#define IDWriteFactory3_GetSystemFontSet(This, fontset) (This)->lpVtbl->GetSystemFontSet(This, fontset) -#define IDWriteFactory3_CreateFontSetBuilder(This, builder) (This)->lpVtbl->CreateFontSetBuilder(This, builder) -#define IDWriteFactory3_CreateFontCollectionFromFontSet(This, fontset, collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This, fontset, collection) -#define IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates) -#define IDWriteFactory3_GetFontDownloadQueue(This, queue) (This)->lpVtbl->GetFontDownloadQueue(This, queue) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory3_QueryInterface(IDWriteFactory3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory3_AddRef(IDWriteFactory3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory3_Release(IDWriteFactory3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory3_CreateCustomFontCollection(IDWriteFactory3* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory3_RegisterFontCollectionLoader(IDWriteFactory3* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory3_UnregisterFontCollectionLoader(IDWriteFactory3* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory3_CreateFontFileReference(IDWriteFactory3* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory3_CreateCustomFontFileReference(IDWriteFactory3* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory3_CreateFontFace(IDWriteFactory3* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory3_CreateRenderingParams(IDWriteFactory3* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory3_CreateMonitorRenderingParams(IDWriteFactory3* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory3_RegisterFontFileLoader(IDWriteFactory3* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory3_UnregisterFontFileLoader(IDWriteFactory3* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory3_CreateTextFormat(IDWriteFactory3* This, const WCHAR* family_name, IDWriteFontCollection* collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, const WCHAR* locale, IDWriteTextFormat** format) { - return This->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format); -} -static inline HRESULT IDWriteFactory3_CreateTypography(IDWriteFactory3* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory3_GetGdiInterop(IDWriteFactory3* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory3_CreateTextLayout(IDWriteFactory3* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory3_CreateGdiCompatibleTextLayout(IDWriteFactory3* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory3_CreateEllipsisTrimmingSign(IDWriteFactory3* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory3_CreateTextAnalyzer(IDWriteFactory3* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory3_CreateNumberSubstitution(IDWriteFactory3* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory3_GetEudcFontCollection(IDWriteFactory3* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory3_GetSystemFontFallback(IDWriteFactory3* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory3_CreateFontFallbackBuilder(IDWriteFactory3* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -static inline HRESULT IDWriteFactory3_TranslateColorGlyphRun(IDWriteFactory3* This, FLOAT originX, FLOAT originY, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, DWRITE_MEASURING_MODE mode, const DWRITE_MATRIX* transform, UINT32 palette_index, IDWriteColorGlyphRunEnumerator** colorlayers) { - return This->lpVtbl->TranslateColorGlyphRun(This, originX, originY, run, rundescr, mode, transform, palette_index, colorlayers); -} -/*** IDWriteFactory3 methods ***/ -static inline HRESULT IDWriteFactory3_CreateGlyphRunAnalysis(IDWriteFactory3* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, FLOAT origin_x, FLOAT origin_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis); -} -static inline HRESULT IDWriteFactory3_CreateCustomRenderingParams(IDWriteFactory3* This, FLOAT gamma, FLOAT enhanced_contrast, FLOAT grayscale_enhanced_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3** params) { - return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params); -} -static inline HRESULT IDWriteFactory3_CreateFontFaceReference_(IDWriteFactory3* This, IDWriteFontFile* file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference); -} -static inline HRESULT IDWriteFactory3_CreateFontFaceReference(IDWriteFactory3* This, const WCHAR* path, const FILETIME* writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference(This, path, writetime, index, simulations, reference); -} -static inline HRESULT IDWriteFactory3_GetSystemFontSet(IDWriteFactory3* This, IDWriteFontSet** fontset) { - return This->lpVtbl->GetSystemFontSet(This, fontset); -} -static inline HRESULT IDWriteFactory3_CreateFontSetBuilder(IDWriteFactory3* This, IDWriteFontSetBuilder** builder) { - return This->lpVtbl->CreateFontSetBuilder(This, builder); -} -static inline HRESULT IDWriteFactory3_CreateFontCollectionFromFontSet(IDWriteFactory3* This, IDWriteFontSet* fontset, IDWriteFontCollection1** collection) { - return This->lpVtbl->CreateFontCollectionFromFontSet(This, fontset, collection); -} -static inline HRESULT IDWriteFactory3_GetSystemFontCollection(IDWriteFactory3* This, WINBOOL include_downloadable, IDWriteFontCollection1** collection, WINBOOL check_for_updates) { - return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates); -} -static inline HRESULT IDWriteFactory3_GetFontDownloadQueue(IDWriteFactory3* This, IDWriteFontDownloadQueue** queue) { - return This->lpVtbl->GetFontDownloadQueue(This, queue); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory3_INTERFACE_DEFINED__ */ - -typedef struct DWRITE_GLYPH_IMAGE_DATA { - const void* imageData; - UINT32 imageDataSize; - UINT32 uniqueDataId; - UINT32 pixelsPerEm; - D2D1_SIZE_U pixelSize; - D2D1_POINT_2L horizontalLeftOrigin; - D2D1_POINT_2L horizontalRightOrigin; - D2D1_POINT_2L verticalTopOrigin; - D2D1_POINT_2L verticalBottomOrigin; -} DWRITE_GLYPH_IMAGE_DATA; -/***************************************************************************** - * IDWriteFontFace4 interface - */ -#ifndef __IDWriteFontFace4_INTERFACE_DEFINED__ -#define __IDWriteFontFace4_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96, 0x78, 0x05, 0x63, 0xf5, 0x3e, 0x3e, 0x2f); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("27f2a904-4eb8-441d-9678-0563f53e3e2f") -IDWriteFontFace4 : public IDWriteFontFace3 { - virtual HRESULT STDMETHODCALLTYPE GetGlyphImageFormats_( - UINT16 glyph, - UINT32 ppem_first, - UINT32 ppem_last, - DWRITE_GLYPH_IMAGE_FORMATS * formats) = 0; - - virtual DWRITE_GLYPH_IMAGE_FORMATS STDMETHODCALLTYPE GetGlyphImageFormats() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGlyphImageData( - UINT16 glyph, - UINT32 ppem, - DWRITE_GLYPH_IMAGE_FORMATS format, - DWRITE_GLYPH_IMAGE_DATA * data, - void** context) = 0; - - virtual void STDMETHODCALLTYPE ReleaseGlyphImageData( - void* context) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96, 0x78, 0x05, 0x63, 0xf5, 0x3e, 0x3e, 0x2f) -#endif -#else -typedef struct IDWriteFontFace4Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace4* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace4* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace4* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace4* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace4* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace4* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace4* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace4* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace4* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace4* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace4* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace4* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace4* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace4* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace4* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace4* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - /*** IDWriteFontFace1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)( - IDWriteFontFace4* This, - DWRITE_FONT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)( - IDWriteFontFace4* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetCaretMetrics)( - IDWriteFontFace4* This, - DWRITE_CARET_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFontFace4* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)( - IDWriteFontFace4* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)( - IDWriteFontFace4* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances); - - HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( - IDWriteFontFace4* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* adjustments); - - WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)( - IDWriteFontFace4* This, - FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( - IDWriteFontFace4* This, - UINT32 glyph_count, - const UINT16* nominal_indices, - UINT16* vertical_indices); - - WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( - IDWriteFontFace4* This); - - /*** IDWriteFontFace2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFontFace4* This); - - UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( - IDWriteFontFace4* This); - - UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)( - IDWriteFontFace4* This, - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F* entries); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)( - IDWriteFontFace4* This, - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode); - - /*** IDWriteFontFace3 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFace4* This, - IDWriteFontFaceReference** reference); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFontFace4* This, - DWRITE_PANOSE* panose); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFontFace4* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFontFace4* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFace4* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFontFace4* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFontFace4* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - WINBOOL(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFontFace4* This, - UINT32 character); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace3_GetRecommendedRenderingMode)( - IDWriteFontFace4* This, - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE1* rendering_mode, - DWRITE_GRID_FIT_MODE* gridfit_mode); - - WINBOOL(STDMETHODCALLTYPE* IsCharacterLocal)( - IDWriteFontFace4* This, - UINT32 character); - - WINBOOL(STDMETHODCALLTYPE* IsGlyphLocal)( - IDWriteFontFace4* This, - UINT16 glyph); - - HRESULT(STDMETHODCALLTYPE* AreCharactersLocal)( - IDWriteFontFace4* This, - const WCHAR* characters, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - HRESULT(STDMETHODCALLTYPE* AreGlyphsLocal)( - IDWriteFontFace4* This, - const UINT16* glyphs, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - /*** IDWriteFontFace4 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetGlyphImageFormats_)( - IDWriteFontFace4* This, - UINT16 glyph, - UINT32 ppem_first, - UINT32 ppem_last, - DWRITE_GLYPH_IMAGE_FORMATS* formats); - - DWRITE_GLYPH_IMAGE_FORMATS(STDMETHODCALLTYPE* GetGlyphImageFormats)( - IDWriteFontFace4* This); - - HRESULT(STDMETHODCALLTYPE* GetGlyphImageData)( - IDWriteFontFace4* This, - UINT16 glyph, - UINT32 ppem, - DWRITE_GLYPH_IMAGE_FORMATS format, - DWRITE_GLYPH_IMAGE_DATA* data, - void** context); - - void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( - IDWriteFontFace4* This, - void* context); - - END_INTERFACE -} IDWriteFontFace4Vtbl; - -interface IDWriteFontFace4 { - CONST_VTBL IDWriteFontFace4Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace4_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace4_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace4_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace4_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace4_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace4_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace4_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace4_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace4_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace4_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace4_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace4_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace4_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace4_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -/*** IDWriteFontFace1 methods ***/ -#define IDWriteFontFace4_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics) -#define IDWriteFontFace4_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) -#define IDWriteFontFace4_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics) -#define IDWriteFontFace4_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFontFace4_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -#define IDWriteFontFace4_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) -#define IDWriteFontFace4_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) -#define IDWriteFontFace4_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments) -#define IDWriteFontFace4_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) -#define IDWriteFontFace4_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) -#define IDWriteFontFace4_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) -/*** IDWriteFontFace2 methods ***/ -#define IDWriteFontFace4_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#define IDWriteFontFace4_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) -#define IDWriteFontFace4_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) -#define IDWriteFontFace4_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) -/*** IDWriteFontFace3 methods ***/ -#define IDWriteFontFace4_GetFontFaceReference(This, reference) (This)->lpVtbl->GetFontFaceReference(This, reference) -#define IDWriteFontFace4_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFontFace4_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFontFace4_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFontFace4_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFontFace4_GetFamilyNames(This, names) (This)->lpVtbl->GetFamilyNames(This, names) -#define IDWriteFontFace4_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names) -#define IDWriteFontFace4_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFontFace4_HasCharacter(This, character) (This)->lpVtbl->HasCharacter(This, character) -#define IDWriteFontFace4_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) -#define IDWriteFontFace4_IsCharacterLocal(This, character) (This)->lpVtbl->IsCharacterLocal(This, character) -#define IDWriteFontFace4_IsGlyphLocal(This, glyph) (This)->lpVtbl->IsGlyphLocal(This, glyph) -#define IDWriteFontFace4_AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) (This)->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) -#define IDWriteFontFace4_AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) (This)->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) -/*** IDWriteFontFace4 methods ***/ -#define IDWriteFontFace4_GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) (This)->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) -#define IDWriteFontFace4_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) -#define IDWriteFontFace4_GetGlyphImageData(This, glyph, ppem, format, data, context) (This)->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context) -#define IDWriteFontFace4_ReleaseGlyphImageData(This, context) (This)->lpVtbl->ReleaseGlyphImageData(This, context) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace4_QueryInterface(IDWriteFontFace4* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace4_AddRef(IDWriteFontFace4* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace4_Release(IDWriteFontFace4* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace4_GetType(IDWriteFontFace4* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace4_GetFiles(IDWriteFontFace4* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace4_GetIndex(IDWriteFontFace4* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace4_GetSimulations(IDWriteFontFace4* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace4_IsSymbolFont(IDWriteFontFace4* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline UINT16 IDWriteFontFace4_GetGlyphCount(IDWriteFontFace4* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace4_GetDesignGlyphMetrics(IDWriteFontFace4* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace4_GetGlyphIndices(IDWriteFontFace4* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace4_TryGetFontTable(IDWriteFontFace4* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace4_ReleaseFontTable(IDWriteFontFace4* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace4_GetGlyphRunOutline(IDWriteFontFace4* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace4_GetGdiCompatibleGlyphMetrics(IDWriteFontFace4* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -/*** IDWriteFontFace1 methods ***/ -static inline void IDWriteFontFace4_GetMetrics(IDWriteFontFace4* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace4_GetGdiCompatibleMetrics(IDWriteFontFace4* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) { - return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics); -} -static inline void IDWriteFontFace4_GetCaretMetrics(IDWriteFontFace4* This, DWRITE_CARET_METRICS* metrics) { - This->lpVtbl->GetCaretMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace4_GetUnicodeRanges(IDWriteFontFace4* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFontFace4_IsMonospacedFont(IDWriteFontFace4* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -static inline HRESULT IDWriteFontFace4_GetDesignGlyphAdvances(IDWriteFontFace4* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways); -} -static inline HRESULT IDWriteFontFace4_GetGdiCompatibleGlyphAdvances(IDWriteFontFace4* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) { - return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances); -} -static inline HRESULT IDWriteFontFace4_GetKerningPairAdjustments(IDWriteFontFace4* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) { - return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments); -} -static inline WINBOOL IDWriteFontFace4_HasKerningPairs(IDWriteFontFace4* This) { - return This->lpVtbl->HasKerningPairs(This); -} -static inline HRESULT IDWriteFontFace4_GetVerticalGlyphVariants(IDWriteFontFace4* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) { - return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices); -} -static inline WINBOOL IDWriteFontFace4_HasVerticalGlyphVariants(IDWriteFontFace4* This) { - return This->lpVtbl->HasVerticalGlyphVariants(This); -} -/*** IDWriteFontFace2 methods ***/ -static inline WINBOOL IDWriteFontFace4_IsColorFont(IDWriteFontFace4* This) { - return This->lpVtbl->IsColorFont(This); -} -static inline UINT32 IDWriteFontFace4_GetColorPaletteCount(IDWriteFontFace4* This) { - return This->lpVtbl->GetColorPaletteCount(This); -} -static inline UINT32 IDWriteFontFace4_GetPaletteEntryCount(IDWriteFontFace4* This) { - return This->lpVtbl->GetPaletteEntryCount(This); -} -static inline HRESULT IDWriteFontFace4_GetPaletteEntries(IDWriteFontFace4* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) { - return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries); -} -/*** IDWriteFontFace3 methods ***/ -static inline HRESULT IDWriteFontFace4_GetFontFaceReference(IDWriteFontFace4* This, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, reference); -} -static inline void IDWriteFontFace4_GetPanose(IDWriteFontFace4* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline DWRITE_FONT_WEIGHT IDWriteFontFace4_GetWeight(IDWriteFontFace4* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFontFace4_GetStretch(IDWriteFontFace4* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFontFace4_GetStyle(IDWriteFontFace4* This) { - return This->lpVtbl->GetStyle(This); -} -static inline HRESULT IDWriteFontFace4_GetFamilyNames(IDWriteFontFace4* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFamilyNames(This, names); -} -static inline HRESULT IDWriteFontFace4_GetFaceNames(IDWriteFontFace4* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFaceNames(This, names); -} -static inline HRESULT IDWriteFontFace4_GetInformationalStrings(IDWriteFontFace4* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline WINBOOL IDWriteFontFace4_HasCharacter(IDWriteFontFace4* This, UINT32 character) { - return This->lpVtbl->HasCharacter(This, character); -} -static inline HRESULT IDWriteFontFace4_GetRecommendedRenderingMode(IDWriteFontFace4* This, FLOAT emsize, FLOAT dpi_x, FLOAT dpi_y, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE1* rendering_mode, DWRITE_GRID_FIT_MODE* gridfit_mode) { - return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode); -} -static inline WINBOOL IDWriteFontFace4_IsCharacterLocal(IDWriteFontFace4* This, UINT32 character) { - return This->lpVtbl->IsCharacterLocal(This, character); -} -static inline WINBOOL IDWriteFontFace4_IsGlyphLocal(IDWriteFontFace4* This, UINT16 glyph) { - return This->lpVtbl->IsGlyphLocal(This, glyph); -} -static inline HRESULT IDWriteFontFace4_AreCharactersLocal(IDWriteFontFace4* This, const WCHAR* characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local); -} -static inline HRESULT IDWriteFontFace4_AreGlyphsLocal(IDWriteFontFace4* This, const UINT16* glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local); -} -/*** IDWriteFontFace4 methods ***/ -static inline HRESULT IDWriteFontFace4_GetGlyphImageFormats_(IDWriteFontFace4* This, UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS* formats) { - return This->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats); -} -static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace4_GetGlyphImageFormats(IDWriteFontFace4* This) { - return This->lpVtbl->GetGlyphImageFormats(This); -} -static inline HRESULT IDWriteFontFace4_GetGlyphImageData(IDWriteFontFace4* This, UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA* data, void** context) { - return This->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context); -} -static inline void IDWriteFontFace4_ReleaseGlyphImageData(IDWriteFontFace4* This, void* context) { - This->lpVtbl->ReleaseGlyphImageData(This, context); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace4_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFace5 interface - */ -#ifndef __IDWriteFontFace5_INTERFACE_DEFINED__ -#define __IDWriteFontFace5_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1, 0x45, 0xe2, 0xfa, 0x5b, 0x9f, 0xdc, 0x29); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("98eff3a5-b667-479a-b145-e2fa5b9fdc29") -IDWriteFontFace5 : public IDWriteFontFace4 { - virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE * values, - UINT32 value_count) = 0; - - virtual WINBOOL STDMETHODCALLTYPE HasVariations() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontResource( - IDWriteFontResource * *resource) = 0; - - virtual WINBOOL STDMETHODCALLTYPE Equals( - IDWriteFontFace * fontface) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1, 0x45, 0xe2, 0xfa, 0x5b, 0x9f, 0xdc, 0x29) -#endif -#else -typedef struct IDWriteFontFace5Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace5* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace5* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace5* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace5* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace5* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace5* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace5* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace5* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace5* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace5* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace5* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace5* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace5* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace5* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace5* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace5* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - /*** IDWriteFontFace1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)( - IDWriteFontFace5* This, - DWRITE_FONT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)( - IDWriteFontFace5* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetCaretMetrics)( - IDWriteFontFace5* This, - DWRITE_CARET_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFontFace5* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)( - IDWriteFontFace5* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)( - IDWriteFontFace5* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances); - - HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( - IDWriteFontFace5* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* adjustments); - - WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)( - IDWriteFontFace5* This, - FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( - IDWriteFontFace5* This, - UINT32 glyph_count, - const UINT16* nominal_indices, - UINT16* vertical_indices); - - WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( - IDWriteFontFace5* This); - - /*** IDWriteFontFace2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFontFace5* This); - - UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( - IDWriteFontFace5* This); - - UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)( - IDWriteFontFace5* This, - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F* entries); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)( - IDWriteFontFace5* This, - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode); - - /*** IDWriteFontFace3 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFace5* This, - IDWriteFontFaceReference** reference); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFontFace5* This, - DWRITE_PANOSE* panose); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFontFace5* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFontFace5* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFace5* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFontFace5* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFontFace5* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - WINBOOL(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFontFace5* This, - UINT32 character); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace3_GetRecommendedRenderingMode)( - IDWriteFontFace5* This, - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE1* rendering_mode, - DWRITE_GRID_FIT_MODE* gridfit_mode); - - WINBOOL(STDMETHODCALLTYPE* IsCharacterLocal)( - IDWriteFontFace5* This, - UINT32 character); - - WINBOOL(STDMETHODCALLTYPE* IsGlyphLocal)( - IDWriteFontFace5* This, - UINT16 glyph); - - HRESULT(STDMETHODCALLTYPE* AreCharactersLocal)( - IDWriteFontFace5* This, - const WCHAR* characters, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - HRESULT(STDMETHODCALLTYPE* AreGlyphsLocal)( - IDWriteFontFace5* This, - const UINT16* glyphs, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - /*** IDWriteFontFace4 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetGlyphImageFormats_)( - IDWriteFontFace5* This, - UINT16 glyph, - UINT32 ppem_first, - UINT32 ppem_last, - DWRITE_GLYPH_IMAGE_FORMATS* formats); - - DWRITE_GLYPH_IMAGE_FORMATS(STDMETHODCALLTYPE* GetGlyphImageFormats)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetGlyphImageData)( - IDWriteFontFace5* This, - UINT16 glyph, - UINT32 ppem, - DWRITE_GLYPH_IMAGE_FORMATS format, - DWRITE_GLYPH_IMAGE_DATA* data, - void** context); - - void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( - IDWriteFontFace5* This, - void* context); - - /*** IDWriteFontFace5 methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( - IDWriteFontFace5* This, - DWRITE_FONT_AXIS_VALUE* values, - UINT32 value_count); - - WINBOOL(STDMETHODCALLTYPE* HasVariations)( - IDWriteFontFace5* This); - - HRESULT(STDMETHODCALLTYPE* GetFontResource)( - IDWriteFontFace5* This, - IDWriteFontResource** resource); - - WINBOOL(STDMETHODCALLTYPE* Equals)( - IDWriteFontFace5* This, - IDWriteFontFace* fontface); - - END_INTERFACE -} IDWriteFontFace5Vtbl; - -interface IDWriteFontFace5 { - CONST_VTBL IDWriteFontFace5Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace5_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace5_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace5_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace5_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace5_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace5_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace5_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace5_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace5_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace5_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace5_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace5_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace5_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace5_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace5_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -/*** IDWriteFontFace1 methods ***/ -#define IDWriteFontFace5_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics) -#define IDWriteFontFace5_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) -#define IDWriteFontFace5_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics) -#define IDWriteFontFace5_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFontFace5_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -#define IDWriteFontFace5_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) -#define IDWriteFontFace5_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) -#define IDWriteFontFace5_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments) -#define IDWriteFontFace5_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) -#define IDWriteFontFace5_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) -#define IDWriteFontFace5_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) -/*** IDWriteFontFace2 methods ***/ -#define IDWriteFontFace5_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#define IDWriteFontFace5_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) -#define IDWriteFontFace5_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) -#define IDWriteFontFace5_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) -/*** IDWriteFontFace3 methods ***/ -#define IDWriteFontFace5_GetFontFaceReference(This, reference) (This)->lpVtbl->GetFontFaceReference(This, reference) -#define IDWriteFontFace5_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFontFace5_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFontFace5_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFontFace5_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFontFace5_GetFamilyNames(This, names) (This)->lpVtbl->GetFamilyNames(This, names) -#define IDWriteFontFace5_GetFaceNames(This, names) (This)->lpVtbl->GetFaceNames(This, names) -#define IDWriteFontFace5_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFontFace5_HasCharacter(This, character) (This)->lpVtbl->HasCharacter(This, character) -#define IDWriteFontFace5_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) -#define IDWriteFontFace5_IsCharacterLocal(This, character) (This)->lpVtbl->IsCharacterLocal(This, character) -#define IDWriteFontFace5_IsGlyphLocal(This, glyph) (This)->lpVtbl->IsGlyphLocal(This, glyph) -#define IDWriteFontFace5_AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) (This)->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) -#define IDWriteFontFace5_AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) (This)->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) -/*** IDWriteFontFace4 methods ***/ -#define IDWriteFontFace5_GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) (This)->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) -#define IDWriteFontFace5_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) -#define IDWriteFontFace5_GetGlyphImageData(This, glyph, ppem, format, data, context) (This)->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context) -#define IDWriteFontFace5_ReleaseGlyphImageData(This, context) (This)->lpVtbl->ReleaseGlyphImageData(This, context) -/*** IDWriteFontFace5 methods ***/ -#define IDWriteFontFace5_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) -#define IDWriteFontFace5_GetFontAxisValues(This, values, value_count) (This)->lpVtbl->GetFontAxisValues(This, values, value_count) -#define IDWriteFontFace5_HasVariations(This) (This)->lpVtbl->HasVariations(This) -#define IDWriteFontFace5_GetFontResource(This, resource) (This)->lpVtbl->GetFontResource(This, resource) -#define IDWriteFontFace5_Equals(This, fontface) (This)->lpVtbl->Equals(This, fontface) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace5_QueryInterface(IDWriteFontFace5* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace5_AddRef(IDWriteFontFace5* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace5_Release(IDWriteFontFace5* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace5_GetType(IDWriteFontFace5* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace5_GetFiles(IDWriteFontFace5* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace5_GetIndex(IDWriteFontFace5* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace5_GetSimulations(IDWriteFontFace5* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace5_IsSymbolFont(IDWriteFontFace5* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline UINT16 IDWriteFontFace5_GetGlyphCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace5_GetDesignGlyphMetrics(IDWriteFontFace5* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace5_GetGlyphIndices(IDWriteFontFace5* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace5_TryGetFontTable(IDWriteFontFace5* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace5_ReleaseFontTable(IDWriteFontFace5* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace5_GetGlyphRunOutline(IDWriteFontFace5* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace5_GetGdiCompatibleGlyphMetrics(IDWriteFontFace5* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -/*** IDWriteFontFace1 methods ***/ -static inline void IDWriteFontFace5_GetMetrics(IDWriteFontFace5* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace5_GetGdiCompatibleMetrics(IDWriteFontFace5* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) { - return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics); -} -static inline void IDWriteFontFace5_GetCaretMetrics(IDWriteFontFace5* This, DWRITE_CARET_METRICS* metrics) { - This->lpVtbl->GetCaretMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace5_GetUnicodeRanges(IDWriteFontFace5* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFontFace5_IsMonospacedFont(IDWriteFontFace5* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -static inline HRESULT IDWriteFontFace5_GetDesignGlyphAdvances(IDWriteFontFace5* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways); -} -static inline HRESULT IDWriteFontFace5_GetGdiCompatibleGlyphAdvances(IDWriteFontFace5* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) { - return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances); -} -static inline HRESULT IDWriteFontFace5_GetKerningPairAdjustments(IDWriteFontFace5* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) { - return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments); -} -static inline WINBOOL IDWriteFontFace5_HasKerningPairs(IDWriteFontFace5* This) { - return This->lpVtbl->HasKerningPairs(This); -} -static inline HRESULT IDWriteFontFace5_GetVerticalGlyphVariants(IDWriteFontFace5* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) { - return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices); -} -static inline WINBOOL IDWriteFontFace5_HasVerticalGlyphVariants(IDWriteFontFace5* This) { - return This->lpVtbl->HasVerticalGlyphVariants(This); -} -/*** IDWriteFontFace2 methods ***/ -static inline WINBOOL IDWriteFontFace5_IsColorFont(IDWriteFontFace5* This) { - return This->lpVtbl->IsColorFont(This); -} -static inline UINT32 IDWriteFontFace5_GetColorPaletteCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetColorPaletteCount(This); -} -static inline UINT32 IDWriteFontFace5_GetPaletteEntryCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetPaletteEntryCount(This); -} -static inline HRESULT IDWriteFontFace5_GetPaletteEntries(IDWriteFontFace5* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) { - return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries); -} -/*** IDWriteFontFace3 methods ***/ -static inline HRESULT IDWriteFontFace5_GetFontFaceReference(IDWriteFontFace5* This, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, reference); -} -static inline void IDWriteFontFace5_GetPanose(IDWriteFontFace5* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline DWRITE_FONT_WEIGHT IDWriteFontFace5_GetWeight(IDWriteFontFace5* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFontFace5_GetStretch(IDWriteFontFace5* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFontFace5_GetStyle(IDWriteFontFace5* This) { - return This->lpVtbl->GetStyle(This); -} -static inline HRESULT IDWriteFontFace5_GetFamilyNames(IDWriteFontFace5* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFamilyNames(This, names); -} -static inline HRESULT IDWriteFontFace5_GetFaceNames(IDWriteFontFace5* This, IDWriteLocalizedStrings** names) { - return This->lpVtbl->GetFaceNames(This, names); -} -static inline HRESULT IDWriteFontFace5_GetInformationalStrings(IDWriteFontFace5* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline WINBOOL IDWriteFontFace5_HasCharacter(IDWriteFontFace5* This, UINT32 character) { - return This->lpVtbl->HasCharacter(This, character); -} -static inline HRESULT IDWriteFontFace5_GetRecommendedRenderingMode(IDWriteFontFace5* This, FLOAT emsize, FLOAT dpi_x, FLOAT dpi_y, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE1* rendering_mode, DWRITE_GRID_FIT_MODE* gridfit_mode) { - return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode); -} -static inline WINBOOL IDWriteFontFace5_IsCharacterLocal(IDWriteFontFace5* This, UINT32 character) { - return This->lpVtbl->IsCharacterLocal(This, character); -} -static inline WINBOOL IDWriteFontFace5_IsGlyphLocal(IDWriteFontFace5* This, UINT16 glyph) { - return This->lpVtbl->IsGlyphLocal(This, glyph); -} -static inline HRESULT IDWriteFontFace5_AreCharactersLocal(IDWriteFontFace5* This, const WCHAR* characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local); -} -static inline HRESULT IDWriteFontFace5_AreGlyphsLocal(IDWriteFontFace5* This, const UINT16* glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local); -} -/*** IDWriteFontFace4 methods ***/ -static inline HRESULT IDWriteFontFace5_GetGlyphImageFormats_(IDWriteFontFace5* This, UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS* formats) { - return This->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats); -} -static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace5_GetGlyphImageFormats(IDWriteFontFace5* This) { - return This->lpVtbl->GetGlyphImageFormats(This); -} -static inline HRESULT IDWriteFontFace5_GetGlyphImageData(IDWriteFontFace5* This, UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA* data, void** context) { - return This->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context); -} -static inline void IDWriteFontFace5_ReleaseGlyphImageData(IDWriteFontFace5* This, void* context) { - This->lpVtbl->ReleaseGlyphImageData(This, context); -} -/*** IDWriteFontFace5 methods ***/ -static inline UINT32 IDWriteFontFace5_GetFontAxisValueCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetFontAxisValueCount(This); -} -static inline HRESULT IDWriteFontFace5_GetFontAxisValues(IDWriteFontFace5* This, DWRITE_FONT_AXIS_VALUE* values, UINT32 value_count) { - return This->lpVtbl->GetFontAxisValues(This, values, value_count); -} -static inline WINBOOL IDWriteFontFace5_HasVariations(IDWriteFontFace5* This) { - return This->lpVtbl->HasVariations(This); -} -static inline HRESULT IDWriteFontFace5_GetFontResource(IDWriteFontFace5* This, IDWriteFontResource** resource) { - return This->lpVtbl->GetFontResource(This, resource); -} -static inline WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This, IDWriteFontFace* fontface) { - return This->lpVtbl->Equals(This, fontface); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFace6 interface - */ -#ifndef __IDWriteFontFace6_INTERFACE_DEFINED__ -#define __IDWriteFontFace6_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace6, 0xc4b1fe1b, 0x6e84, 0x47d5, 0xb5, 0x4c, 0xa5, 0x97, 0x98, 0x1b, 0x06, 0xad); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("c4b1fe1b-6e84-47d5-b54c-a597981b06ad") -IDWriteFontFace6 : public IDWriteFontFace5 { - virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings * *names) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFaceNames( - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings * *names) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace6, 0xc4b1fe1b, 0x6e84, 0x47d5, 0xb5, 0x4c, 0xa5, 0x97, 0x98, 0x1b, 0x06, 0xad) -#endif -#else -typedef struct IDWriteFontFace6Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace6* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace6* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace6* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace6* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace6* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace6* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace6* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace6* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace6* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace6* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace6* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace6* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace6* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace6* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace6* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace6* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - /*** IDWriteFontFace1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)( - IDWriteFontFace6* This, - DWRITE_FONT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)( - IDWriteFontFace6* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetCaretMetrics)( - IDWriteFontFace6* This, - DWRITE_CARET_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFontFace6* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)( - IDWriteFontFace6* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)( - IDWriteFontFace6* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances); - - HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( - IDWriteFontFace6* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* adjustments); - - WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)( - IDWriteFontFace6* This, - FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( - IDWriteFontFace6* This, - UINT32 glyph_count, - const UINT16* nominal_indices, - UINT16* vertical_indices); - - WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( - IDWriteFontFace6* This); - - /*** IDWriteFontFace2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFontFace6* This); - - UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( - IDWriteFontFace6* This); - - UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)( - IDWriteFontFace6* This, - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F* entries); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)( - IDWriteFontFace6* This, - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode); - - /*** IDWriteFontFace3 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFace6* This, - IDWriteFontFaceReference** reference); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFontFace6* This, - DWRITE_PANOSE* panose); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFontFace6* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFontFace6* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFace6* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFontFace6* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFontFace6* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - WINBOOL(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFontFace6* This, - UINT32 character); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace3_GetRecommendedRenderingMode)( - IDWriteFontFace6* This, - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE1* rendering_mode, - DWRITE_GRID_FIT_MODE* gridfit_mode); - - WINBOOL(STDMETHODCALLTYPE* IsCharacterLocal)( - IDWriteFontFace6* This, - UINT32 character); - - WINBOOL(STDMETHODCALLTYPE* IsGlyphLocal)( - IDWriteFontFace6* This, - UINT16 glyph); - - HRESULT(STDMETHODCALLTYPE* AreCharactersLocal)( - IDWriteFontFace6* This, - const WCHAR* characters, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - HRESULT(STDMETHODCALLTYPE* AreGlyphsLocal)( - IDWriteFontFace6* This, - const UINT16* glyphs, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - /*** IDWriteFontFace4 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetGlyphImageFormats_)( - IDWriteFontFace6* This, - UINT16 glyph, - UINT32 ppem_first, - UINT32 ppem_last, - DWRITE_GLYPH_IMAGE_FORMATS* formats); - - DWRITE_GLYPH_IMAGE_FORMATS(STDMETHODCALLTYPE* GetGlyphImageFormats)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetGlyphImageData)( - IDWriteFontFace6* This, - UINT16 glyph, - UINT32 ppem, - DWRITE_GLYPH_IMAGE_FORMATS format, - DWRITE_GLYPH_IMAGE_DATA* data, - void** context); - - void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( - IDWriteFontFace6* This, - void* context); - - /*** IDWriteFontFace5 methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( - IDWriteFontFace6* This, - DWRITE_FONT_AXIS_VALUE* values, - UINT32 value_count); - - WINBOOL(STDMETHODCALLTYPE* HasVariations)( - IDWriteFontFace6* This); - - HRESULT(STDMETHODCALLTYPE* GetFontResource)( - IDWriteFontFace6* This, - IDWriteFontResource** resource); - - WINBOOL(STDMETHODCALLTYPE* Equals)( - IDWriteFontFace6* This, - IDWriteFontFace* fontface); - - /*** IDWriteFontFace6 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace6_GetFamilyNames)( - IDWriteFontFace6* This, - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace6_GetFaceNames)( - IDWriteFontFace6* This, - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings** names); - - END_INTERFACE -} IDWriteFontFace6Vtbl; - -interface IDWriteFontFace6 { - CONST_VTBL IDWriteFontFace6Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace6_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace6_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace6_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace6_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace6_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace6_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace6_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace6_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace6_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace6_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace6_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace6_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace6_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace6_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace6_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -/*** IDWriteFontFace1 methods ***/ -#define IDWriteFontFace6_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics) -#define IDWriteFontFace6_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) -#define IDWriteFontFace6_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics) -#define IDWriteFontFace6_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFontFace6_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -#define IDWriteFontFace6_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) -#define IDWriteFontFace6_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) -#define IDWriteFontFace6_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments) -#define IDWriteFontFace6_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) -#define IDWriteFontFace6_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) -#define IDWriteFontFace6_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) -/*** IDWriteFontFace2 methods ***/ -#define IDWriteFontFace6_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#define IDWriteFontFace6_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) -#define IDWriteFontFace6_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) -#define IDWriteFontFace6_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) -/*** IDWriteFontFace3 methods ***/ -#define IDWriteFontFace6_GetFontFaceReference(This, reference) (This)->lpVtbl->GetFontFaceReference(This, reference) -#define IDWriteFontFace6_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFontFace6_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFontFace6_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFontFace6_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFontFace6_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFontFace6_HasCharacter(This, character) (This)->lpVtbl->HasCharacter(This, character) -#define IDWriteFontFace6_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) -#define IDWriteFontFace6_IsCharacterLocal(This, character) (This)->lpVtbl->IsCharacterLocal(This, character) -#define IDWriteFontFace6_IsGlyphLocal(This, glyph) (This)->lpVtbl->IsGlyphLocal(This, glyph) -#define IDWriteFontFace6_AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) (This)->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) -#define IDWriteFontFace6_AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) (This)->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) -/*** IDWriteFontFace4 methods ***/ -#define IDWriteFontFace6_GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) (This)->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) -#define IDWriteFontFace6_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) -#define IDWriteFontFace6_GetGlyphImageData(This, glyph, ppem, format, data, context) (This)->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context) -#define IDWriteFontFace6_ReleaseGlyphImageData(This, context) (This)->lpVtbl->ReleaseGlyphImageData(This, context) -/*** IDWriteFontFace5 methods ***/ -#define IDWriteFontFace6_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) -#define IDWriteFontFace6_GetFontAxisValues(This, values, value_count) (This)->lpVtbl->GetFontAxisValues(This, values, value_count) -#define IDWriteFontFace6_HasVariations(This) (This)->lpVtbl->HasVariations(This) -#define IDWriteFontFace6_GetFontResource(This, resource) (This)->lpVtbl->GetFontResource(This, resource) -#define IDWriteFontFace6_Equals(This, fontface) (This)->lpVtbl->Equals(This, fontface) -/*** IDWriteFontFace6 methods ***/ -#define IDWriteFontFace6_GetFamilyNames(This, font_family_model, names) (This)->lpVtbl->IDWriteFontFace6_GetFamilyNames(This, font_family_model, names) -#define IDWriteFontFace6_GetFaceNames(This, font_family_model, names) (This)->lpVtbl->IDWriteFontFace6_GetFaceNames(This, font_family_model, names) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace6_QueryInterface(IDWriteFontFace6* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace6_AddRef(IDWriteFontFace6* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace6_Release(IDWriteFontFace6* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace6_GetType(IDWriteFontFace6* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace6_GetFiles(IDWriteFontFace6* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace6_GetIndex(IDWriteFontFace6* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace6_GetSimulations(IDWriteFontFace6* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace6_IsSymbolFont(IDWriteFontFace6* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline UINT16 IDWriteFontFace6_GetGlyphCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace6_GetDesignGlyphMetrics(IDWriteFontFace6* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace6_GetGlyphIndices(IDWriteFontFace6* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace6_TryGetFontTable(IDWriteFontFace6* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace6_ReleaseFontTable(IDWriteFontFace6* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace6_GetGlyphRunOutline(IDWriteFontFace6* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace6_GetGdiCompatibleGlyphMetrics(IDWriteFontFace6* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -/*** IDWriteFontFace1 methods ***/ -static inline void IDWriteFontFace6_GetMetrics(IDWriteFontFace6* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace6_GetGdiCompatibleMetrics(IDWriteFontFace6* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) { - return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics); -} -static inline void IDWriteFontFace6_GetCaretMetrics(IDWriteFontFace6* This, DWRITE_CARET_METRICS* metrics) { - This->lpVtbl->GetCaretMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace6_GetUnicodeRanges(IDWriteFontFace6* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFontFace6_IsMonospacedFont(IDWriteFontFace6* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -static inline HRESULT IDWriteFontFace6_GetDesignGlyphAdvances(IDWriteFontFace6* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways); -} -static inline HRESULT IDWriteFontFace6_GetGdiCompatibleGlyphAdvances(IDWriteFontFace6* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) { - return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances); -} -static inline HRESULT IDWriteFontFace6_GetKerningPairAdjustments(IDWriteFontFace6* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) { - return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments); -} -static inline WINBOOL IDWriteFontFace6_HasKerningPairs(IDWriteFontFace6* This) { - return This->lpVtbl->HasKerningPairs(This); -} -static inline HRESULT IDWriteFontFace6_GetVerticalGlyphVariants(IDWriteFontFace6* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) { - return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices); -} -static inline WINBOOL IDWriteFontFace6_HasVerticalGlyphVariants(IDWriteFontFace6* This) { - return This->lpVtbl->HasVerticalGlyphVariants(This); -} -/*** IDWriteFontFace2 methods ***/ -static inline WINBOOL IDWriteFontFace6_IsColorFont(IDWriteFontFace6* This) { - return This->lpVtbl->IsColorFont(This); -} -static inline UINT32 IDWriteFontFace6_GetColorPaletteCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetColorPaletteCount(This); -} -static inline UINT32 IDWriteFontFace6_GetPaletteEntryCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetPaletteEntryCount(This); -} -static inline HRESULT IDWriteFontFace6_GetPaletteEntries(IDWriteFontFace6* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) { - return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries); -} -/*** IDWriteFontFace3 methods ***/ -static inline HRESULT IDWriteFontFace6_GetFontFaceReference(IDWriteFontFace6* This, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, reference); -} -static inline void IDWriteFontFace6_GetPanose(IDWriteFontFace6* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline DWRITE_FONT_WEIGHT IDWriteFontFace6_GetWeight(IDWriteFontFace6* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFontFace6_GetStretch(IDWriteFontFace6* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFontFace6_GetStyle(IDWriteFontFace6* This) { - return This->lpVtbl->GetStyle(This); -} -static inline HRESULT IDWriteFontFace6_GetInformationalStrings(IDWriteFontFace6* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline WINBOOL IDWriteFontFace6_HasCharacter(IDWriteFontFace6* This, UINT32 character) { - return This->lpVtbl->HasCharacter(This, character); -} -static inline HRESULT IDWriteFontFace6_GetRecommendedRenderingMode(IDWriteFontFace6* This, FLOAT emsize, FLOAT dpi_x, FLOAT dpi_y, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE1* rendering_mode, DWRITE_GRID_FIT_MODE* gridfit_mode) { - return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode); -} -static inline WINBOOL IDWriteFontFace6_IsCharacterLocal(IDWriteFontFace6* This, UINT32 character) { - return This->lpVtbl->IsCharacterLocal(This, character); -} -static inline WINBOOL IDWriteFontFace6_IsGlyphLocal(IDWriteFontFace6* This, UINT16 glyph) { - return This->lpVtbl->IsGlyphLocal(This, glyph); -} -static inline HRESULT IDWriteFontFace6_AreCharactersLocal(IDWriteFontFace6* This, const WCHAR* characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local); -} -static inline HRESULT IDWriteFontFace6_AreGlyphsLocal(IDWriteFontFace6* This, const UINT16* glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local); -} -/*** IDWriteFontFace4 methods ***/ -static inline HRESULT IDWriteFontFace6_GetGlyphImageFormats_(IDWriteFontFace6* This, UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS* formats) { - return This->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats); -} -static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace6_GetGlyphImageFormats(IDWriteFontFace6* This) { - return This->lpVtbl->GetGlyphImageFormats(This); -} -static inline HRESULT IDWriteFontFace6_GetGlyphImageData(IDWriteFontFace6* This, UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA* data, void** context) { - return This->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context); -} -static inline void IDWriteFontFace6_ReleaseGlyphImageData(IDWriteFontFace6* This, void* context) { - This->lpVtbl->ReleaseGlyphImageData(This, context); -} -/*** IDWriteFontFace5 methods ***/ -static inline UINT32 IDWriteFontFace6_GetFontAxisValueCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetFontAxisValueCount(This); -} -static inline HRESULT IDWriteFontFace6_GetFontAxisValues(IDWriteFontFace6* This, DWRITE_FONT_AXIS_VALUE* values, UINT32 value_count) { - return This->lpVtbl->GetFontAxisValues(This, values, value_count); -} -static inline WINBOOL IDWriteFontFace6_HasVariations(IDWriteFontFace6* This) { - return This->lpVtbl->HasVariations(This); -} -static inline HRESULT IDWriteFontFace6_GetFontResource(IDWriteFontFace6* This, IDWriteFontResource** resource) { - return This->lpVtbl->GetFontResource(This, resource); -} -static inline WINBOOL IDWriteFontFace6_Equals(IDWriteFontFace6* This, IDWriteFontFace* fontface) { - return This->lpVtbl->Equals(This, fontface); -} -/*** IDWriteFontFace6 methods ***/ -static inline HRESULT IDWriteFontFace6_GetFamilyNames(IDWriteFontFace6* This, DWRITE_FONT_FAMILY_MODEL font_family_model, IDWriteLocalizedStrings** names) { - return This->lpVtbl->IDWriteFontFace6_GetFamilyNames(This, font_family_model, names); -} -static inline HRESULT IDWriteFontFace6_GetFaceNames(IDWriteFontFace6* This, DWRITE_FONT_FAMILY_MODEL font_family_model, IDWriteLocalizedStrings** names) { - return This->lpVtbl->IDWriteFontFace6_GetFaceNames(This, font_family_model, names); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace6_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWritePaintReader interface - */ -#ifndef __IDWritePaintReader_INTERFACE_DEFINED__ -#define __IDWritePaintReader_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWritePaintReader, 0x8128e912, 0x3b97, 0x42a5, 0xab, 0x6c, 0x24, 0xaa, 0xd3, 0xa8, 0x6e, 0x54); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("8128e912-3b97-42a5-ab6c-24aad3a86e54") -IDWritePaintReader : public IUnknown { - virtual HRESULT STDMETHODCALLTYPE SetCurrentGlyph( - UINT32 glyph_index, - DWRITE_PAINT_ELEMENT * paint_element, - UINT32 struct_size, - D2D_RECT_F * clip_box, - DWRITE_PAINT_ATTRIBUTES* glyph_attributes = 0) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTextColor( - const DWRITE_COLOR_F* text_color) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetColorPaletteIndex( - UINT32 color_palette_index) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCustomColorPalette( - const DWRITE_COLOR_F* palette_entries, - UINT32 palette_entry_count) = 0; - - virtual HRESULT STDMETHODCALLTYPE MoveToFirstChild( - DWRITE_PAINT_ELEMENT * paint_element, - UINT32 struct_size) = 0; - - virtual HRESULT STDMETHODCALLTYPE MoveToNextSibling( - DWRITE_PAINT_ELEMENT * paint_element, - UINT32 struct_size) = 0; - - virtual HRESULT STDMETHODCALLTYPE MoveToParent() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGradientStops( - UINT32 first_gradient_stop_index, - UINT32 gradient_stop_count, - D2D1_GRADIENT_STOP * gradient_stops) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGradientStopColors( - UINT32 first_gradient_stop_index, - UINT32 gradient_stop_count, - DWRITE_PAINT_COLOR * gradient_stop_colors) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWritePaintReader, 0x8128e912, 0x3b97, 0x42a5, 0xab, 0x6c, 0x24, 0xaa, 0xd3, 0xa8, 0x6e, 0x54) -#endif -#else -typedef struct IDWritePaintReaderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWritePaintReader* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWritePaintReader* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWritePaintReader* This); - - /*** IDWritePaintReader methods ***/ - HRESULT(STDMETHODCALLTYPE* SetCurrentGlyph)( - IDWritePaintReader* This, - UINT32 glyph_index, - DWRITE_PAINT_ELEMENT* paint_element, - UINT32 struct_size, - D2D_RECT_F* clip_box, - DWRITE_PAINT_ATTRIBUTES* glyph_attributes); - - HRESULT(STDMETHODCALLTYPE* SetTextColor)( - IDWritePaintReader* This, - const DWRITE_COLOR_F* text_color); - - HRESULT(STDMETHODCALLTYPE* SetColorPaletteIndex)( - IDWritePaintReader* This, - UINT32 color_palette_index); - - HRESULT(STDMETHODCALLTYPE* SetCustomColorPalette)( - IDWritePaintReader* This, - const DWRITE_COLOR_F* palette_entries, - UINT32 palette_entry_count); - - HRESULT(STDMETHODCALLTYPE* MoveToFirstChild)( - IDWritePaintReader* This, - DWRITE_PAINT_ELEMENT* paint_element, - UINT32 struct_size); - - HRESULT(STDMETHODCALLTYPE* MoveToNextSibling)( - IDWritePaintReader* This, - DWRITE_PAINT_ELEMENT* paint_element, - UINT32 struct_size); - - HRESULT(STDMETHODCALLTYPE* MoveToParent)( - IDWritePaintReader* This); - - HRESULT(STDMETHODCALLTYPE* GetGradientStops)( - IDWritePaintReader* This, - UINT32 first_gradient_stop_index, - UINT32 gradient_stop_count, - D2D1_GRADIENT_STOP* gradient_stops); - - HRESULT(STDMETHODCALLTYPE* GetGradientStopColors)( - IDWritePaintReader* This, - UINT32 first_gradient_stop_index, - UINT32 gradient_stop_count, - DWRITE_PAINT_COLOR* gradient_stop_colors); - - END_INTERFACE -} IDWritePaintReaderVtbl; - -interface IDWritePaintReader { - CONST_VTBL IDWritePaintReaderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWritePaintReader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWritePaintReader_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWritePaintReader_Release(This) (This)->lpVtbl->Release(This) -/*** IDWritePaintReader methods ***/ -#define IDWritePaintReader_SetCurrentGlyph(This, glyph_index, paint_element, struct_size, clip_box, glyph_attributes) (This)->lpVtbl->SetCurrentGlyph(This, glyph_index, paint_element, struct_size, clip_box, glyph_attributes) -#define IDWritePaintReader_SetTextColor(This, text_color) (This)->lpVtbl->SetTextColor(This, text_color) -#define IDWritePaintReader_SetColorPaletteIndex(This, color_palette_index) (This)->lpVtbl->SetColorPaletteIndex(This, color_palette_index) -#define IDWritePaintReader_SetCustomColorPalette(This, palette_entries, palette_entry_count) (This)->lpVtbl->SetCustomColorPalette(This, palette_entries, palette_entry_count) -#define IDWritePaintReader_MoveToFirstChild(This, paint_element, struct_size) (This)->lpVtbl->MoveToFirstChild(This, paint_element, struct_size) -#define IDWritePaintReader_MoveToNextSibling(This, paint_element, struct_size) (This)->lpVtbl->MoveToNextSibling(This, paint_element, struct_size) -#define IDWritePaintReader_MoveToParent(This) (This)->lpVtbl->MoveToParent(This) -#define IDWritePaintReader_GetGradientStops(This, first_gradient_stop_index, gradient_stop_count, gradient_stops) (This)->lpVtbl->GetGradientStops(This, first_gradient_stop_index, gradient_stop_count, gradient_stops) -#define IDWritePaintReader_GetGradientStopColors(This, first_gradient_stop_index, gradient_stop_count, gradient_stop_colors) (This)->lpVtbl->GetGradientStopColors(This, first_gradient_stop_index, gradient_stop_count, gradient_stop_colors) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWritePaintReader_QueryInterface(IDWritePaintReader* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWritePaintReader_AddRef(IDWritePaintReader* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWritePaintReader_Release(IDWritePaintReader* This) { - return This->lpVtbl->Release(This); -} -/*** IDWritePaintReader methods ***/ -static inline HRESULT IDWritePaintReader_SetCurrentGlyph(IDWritePaintReader* This, UINT32 glyph_index, DWRITE_PAINT_ELEMENT* paint_element, UINT32 struct_size, D2D_RECT_F* clip_box, DWRITE_PAINT_ATTRIBUTES* glyph_attributes) { - return This->lpVtbl->SetCurrentGlyph(This, glyph_index, paint_element, struct_size, clip_box, glyph_attributes); -} -static inline HRESULT IDWritePaintReader_SetTextColor(IDWritePaintReader* This, const DWRITE_COLOR_F* text_color) { - return This->lpVtbl->SetTextColor(This, text_color); -} -static inline HRESULT IDWritePaintReader_SetColorPaletteIndex(IDWritePaintReader* This, UINT32 color_palette_index) { - return This->lpVtbl->SetColorPaletteIndex(This, color_palette_index); -} -static inline HRESULT IDWritePaintReader_SetCustomColorPalette(IDWritePaintReader* This, const DWRITE_COLOR_F* palette_entries, UINT32 palette_entry_count) { - return This->lpVtbl->SetCustomColorPalette(This, palette_entries, palette_entry_count); -} -static inline HRESULT IDWritePaintReader_MoveToFirstChild(IDWritePaintReader* This, DWRITE_PAINT_ELEMENT* paint_element, UINT32 struct_size) { - return This->lpVtbl->MoveToFirstChild(This, paint_element, struct_size); -} -static inline HRESULT IDWritePaintReader_MoveToNextSibling(IDWritePaintReader* This, DWRITE_PAINT_ELEMENT* paint_element, UINT32 struct_size) { - return This->lpVtbl->MoveToNextSibling(This, paint_element, struct_size); -} -static inline HRESULT IDWritePaintReader_MoveToParent(IDWritePaintReader* This) { - return This->lpVtbl->MoveToParent(This); -} -static inline HRESULT IDWritePaintReader_GetGradientStops(IDWritePaintReader* This, UINT32 first_gradient_stop_index, UINT32 gradient_stop_count, D2D1_GRADIENT_STOP* gradient_stops) { - return This->lpVtbl->GetGradientStops(This, first_gradient_stop_index, gradient_stop_count, gradient_stops); -} -static inline HRESULT IDWritePaintReader_GetGradientStopColors(IDWritePaintReader* This, UINT32 first_gradient_stop_index, UINT32 gradient_stop_count, DWRITE_PAINT_COLOR* gradient_stop_colors) { - return This->lpVtbl->GetGradientStopColors(This, first_gradient_stop_index, gradient_stop_count, gradient_stop_colors); -} -#endif -#endif - -#endif - -#endif /* __IDWritePaintReader_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFontFace7 interface - */ -#ifndef __IDWriteFontFace7_INTERFACE_DEFINED__ -#define __IDWriteFontFace7_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFontFace7, 0x3945b85b, 0xbc95, 0x40f7, 0xb7, 0x2c, 0x8b, 0x73, 0xbf, 0xc7, 0xe1, 0x3b); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("3945b85b-bc95-40f7-b72c-8b73bfc7e13b") -IDWriteFontFace7 : public IDWriteFontFace6 { - virtual DWRITE_PAINT_FEATURE_LEVEL STDMETHODCALLTYPE GetPaintFeatureLevel( - DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreatePaintReader( - DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, - DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, - IDWritePaintReader * *paint_reader) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFontFace7, 0x3945b85b, 0xbc95, 0x40f7, 0xb7, 0x2c, 0x8b, 0x73, 0xbf, 0xc7, 0xe1, 0x3b) -#endif -#else -typedef struct IDWriteFontFace7Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFontFace7* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFontFace7* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFontFace7* This); - - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetFiles)( - IDWriteFontFace7* This, - UINT32* number_of_files, - IDWriteFontFile** fontfiles); - - UINT32(STDMETHODCALLTYPE* GetIndex)( - IDWriteFontFace7* This); - - DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( - IDWriteFontFace7* This); - - WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( - IDWriteFontFace7* This); - - void(STDMETHODCALLTYPE* GetMetrics)( - IDWriteFontFace7* This, - DWRITE_FONT_METRICS* metrics); - - UINT16(STDMETHODCALLTYPE* GetGlyphCount)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphMetrics)( - IDWriteFontFace7* This, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGlyphIndices)( - IDWriteFontFace7* This, - const UINT32* codepoints, - UINT32 count, - UINT16* glyph_indices); - - HRESULT(STDMETHODCALLTYPE* TryGetFontTable)( - IDWriteFontFace7* This, - UINT32 table_tag, - const void** table_data, - UINT32* table_size, - void** context, - WINBOOL* exists); - - void(STDMETHODCALLTYPE* ReleaseFontTable)( - IDWriteFontFace7* This, - void* table_context); - - HRESULT(STDMETHODCALLTYPE* GetGlyphRunOutline)( - IDWriteFontFace7* This, - FLOAT emSize, - const UINT16* glyph_indices, - const FLOAT* glyph_advances, - const DWRITE_GLYPH_OFFSET* glyph_offsets, - UINT32 glyph_count, - WINBOOL is_sideways, - WINBOOL is_rtl, - IDWriteGeometrySink* geometrysink); - - HRESULT(STDMETHODCALLTYPE* GetRecommendedRenderingMode)( - IDWriteFontFace7* This, - FLOAT emSize, - FLOAT pixels_per_dip, - DWRITE_MEASURING_MODE mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleMetrics)( - IDWriteFontFace7* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphMetrics)( - IDWriteFontFace7* This, - FLOAT emSize, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - const UINT16* glyph_indices, - UINT32 glyph_count, - DWRITE_GLYPH_METRICS* metrics, - WINBOOL is_sideways); - - /*** IDWriteFontFace1 methods ***/ - void(STDMETHODCALLTYPE* IDWriteFontFace1_GetMetrics)( - IDWriteFontFace7* This, - DWRITE_FONT_METRICS1* metrics); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetGdiCompatibleMetrics)( - IDWriteFontFace7* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_FONT_METRICS1* metrics); - - void(STDMETHODCALLTYPE* GetCaretMetrics)( - IDWriteFontFace7* This, - DWRITE_CARET_METRICS* metrics); - - HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( - IDWriteFontFace7* This, - UINT32 max_count, - DWRITE_UNICODE_RANGE* ranges, - UINT32* count); - - WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetDesignGlyphAdvances)( - IDWriteFontFace7* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances, - WINBOOL is_sideways); - - HRESULT(STDMETHODCALLTYPE* GetGdiCompatibleGlyphAdvances)( - IDWriteFontFace7* This, - FLOAT em_size, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - WINBOOL is_sideways, - UINT32 glyph_count, - const UINT16* indices, - INT32* advances); - - HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( - IDWriteFontFace7* This, - UINT32 glyph_count, - const UINT16* indices, - INT32* adjustments); - - WINBOOL(STDMETHODCALLTYPE* HasKerningPairs)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace1_GetRecommendedRenderingMode)( - IDWriteFontFace7* This, - FLOAT font_emsize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_RENDERING_MODE* rendering_mode); - - HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( - IDWriteFontFace7* This, - UINT32 glyph_count, - const UINT16* nominal_indices, - UINT16* vertical_indices); - - WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( - IDWriteFontFace7* This); - - /*** IDWriteFontFace2 methods ***/ - WINBOOL(STDMETHODCALLTYPE* IsColorFont)( - IDWriteFontFace7* This); - - UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( - IDWriteFontFace7* This); - - UINT32(STDMETHODCALLTYPE* GetPaletteEntryCount)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetPaletteEntries)( - IDWriteFontFace7* This, - UINT32 palette_index, - UINT32 first_entry_index, - UINT32 entry_count, - DWRITE_COLOR_F* entries); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace2_GetRecommendedRenderingMode)( - IDWriteFontFace7* This, - FLOAT fontEmSize, - FLOAT dpiX, - FLOAT dpiY, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuringmode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE* renderingmode, - DWRITE_GRID_FIT_MODE* gridfitmode); - - /*** IDWriteFontFace3 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( - IDWriteFontFace7* This, - IDWriteFontFaceReference** reference); - - void(STDMETHODCALLTYPE* GetPanose)( - IDWriteFontFace7* This, - DWRITE_PANOSE* panose); - - DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( - IDWriteFontFace7* This); - - DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( - IDWriteFontFace7* This); - - DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( - IDWriteFontFace7* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetFaceNames)( - IDWriteFontFace7* This, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( - IDWriteFontFace7* This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings** strings, - WINBOOL* exists); - - WINBOOL(STDMETHODCALLTYPE* HasCharacter)( - IDWriteFontFace7* This, - UINT32 character); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace3_GetRecommendedRenderingMode)( - IDWriteFontFace7* This, - FLOAT emsize, - FLOAT dpi_x, - FLOAT dpi_y, - const DWRITE_MATRIX* transform, - WINBOOL is_sideways, - DWRITE_OUTLINE_THRESHOLD threshold, - DWRITE_MEASURING_MODE measuring_mode, - IDWriteRenderingParams* params, - DWRITE_RENDERING_MODE1* rendering_mode, - DWRITE_GRID_FIT_MODE* gridfit_mode); - - WINBOOL(STDMETHODCALLTYPE* IsCharacterLocal)( - IDWriteFontFace7* This, - UINT32 character); - - WINBOOL(STDMETHODCALLTYPE* IsGlyphLocal)( - IDWriteFontFace7* This, - UINT16 glyph); - - HRESULT(STDMETHODCALLTYPE* AreCharactersLocal)( - IDWriteFontFace7* This, - const WCHAR* characters, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - HRESULT(STDMETHODCALLTYPE* AreGlyphsLocal)( - IDWriteFontFace7* This, - const UINT16* glyphs, - UINT32 count, - WINBOOL enqueue_if_not, - WINBOOL* are_local); - - /*** IDWriteFontFace4 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetGlyphImageFormats_)( - IDWriteFontFace7* This, - UINT16 glyph, - UINT32 ppem_first, - UINT32 ppem_last, - DWRITE_GLYPH_IMAGE_FORMATS* formats); - - DWRITE_GLYPH_IMAGE_FORMATS(STDMETHODCALLTYPE* GetGlyphImageFormats)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetGlyphImageData)( - IDWriteFontFace7* This, - UINT16 glyph, - UINT32 ppem, - DWRITE_GLYPH_IMAGE_FORMATS format, - DWRITE_GLYPH_IMAGE_DATA* data, - void** context); - - void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( - IDWriteFontFace7* This, - void* context); - - /*** IDWriteFontFace5 methods ***/ - UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( - IDWriteFontFace7* This, - DWRITE_FONT_AXIS_VALUE* values, - UINT32 value_count); - - WINBOOL(STDMETHODCALLTYPE* HasVariations)( - IDWriteFontFace7* This); - - HRESULT(STDMETHODCALLTYPE* GetFontResource)( - IDWriteFontFace7* This, - IDWriteFontResource** resource); - - WINBOOL(STDMETHODCALLTYPE* Equals)( - IDWriteFontFace7* This, - IDWriteFontFace* fontface); - - /*** IDWriteFontFace6 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace6_GetFamilyNames)( - IDWriteFontFace7* This, - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings** names); - - HRESULT(STDMETHODCALLTYPE* IDWriteFontFace6_GetFaceNames)( - IDWriteFontFace7* This, - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings** names); - - /*** IDWriteFontFace7 methods ***/ - DWRITE_PAINT_FEATURE_LEVEL(STDMETHODCALLTYPE* GetPaintFeatureLevel)( - IDWriteFontFace7* This, - DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format); - - HRESULT(STDMETHODCALLTYPE* CreatePaintReader)( - IDWriteFontFace7* This, - DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, - DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, - IDWritePaintReader** paint_reader); - - END_INTERFACE -} IDWriteFontFace7Vtbl; - -interface IDWriteFontFace7 { - CONST_VTBL IDWriteFontFace7Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFontFace7_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFontFace7_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFontFace7_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFace methods ***/ -#define IDWriteFontFace7_GetType(This) (This)->lpVtbl->GetType(This) -#define IDWriteFontFace7_GetFiles(This, number_of_files, fontfiles) (This)->lpVtbl->GetFiles(This, number_of_files, fontfiles) -#define IDWriteFontFace7_GetIndex(This) (This)->lpVtbl->GetIndex(This) -#define IDWriteFontFace7_GetSimulations(This) (This)->lpVtbl->GetSimulations(This) -#define IDWriteFontFace7_IsSymbolFont(This) (This)->lpVtbl->IsSymbolFont(This) -#define IDWriteFontFace7_GetGlyphCount(This) (This)->lpVtbl->GetGlyphCount(This) -#define IDWriteFontFace7_GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways) -#define IDWriteFontFace7_GetGlyphIndices(This, codepoints, count, glyph_indices) (This)->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices) -#define IDWriteFontFace7_TryGetFontTable(This, table_tag, table_data, table_size, context, exists) (This)->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists) -#define IDWriteFontFace7_ReleaseFontTable(This, table_context) (This)->lpVtbl->ReleaseFontTable(This, table_context) -#define IDWriteFontFace7_GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) (This)->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink) -#define IDWriteFontFace7_GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) (This)->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways) -/*** IDWriteFontFace1 methods ***/ -#define IDWriteFontFace7_GetMetrics(This, metrics) (This)->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics) -#define IDWriteFontFace7_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) (This)->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics) -#define IDWriteFontFace7_GetCaretMetrics(This, metrics) (This)->lpVtbl->GetCaretMetrics(This, metrics) -#define IDWriteFontFace7_GetUnicodeRanges(This, max_count, ranges, count) (This)->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count) -#define IDWriteFontFace7_IsMonospacedFont(This) (This)->lpVtbl->IsMonospacedFont(This) -#define IDWriteFontFace7_GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) (This)->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways) -#define IDWriteFontFace7_GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) (This)->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances) -#define IDWriteFontFace7_GetKerningPairAdjustments(This, glyph_count, indices, adjustments) (This)->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments) -#define IDWriteFontFace7_HasKerningPairs(This) (This)->lpVtbl->HasKerningPairs(This) -#define IDWriteFontFace7_GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) (This)->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices) -#define IDWriteFontFace7_HasVerticalGlyphVariants(This) (This)->lpVtbl->HasVerticalGlyphVariants(This) -/*** IDWriteFontFace2 methods ***/ -#define IDWriteFontFace7_IsColorFont(This) (This)->lpVtbl->IsColorFont(This) -#define IDWriteFontFace7_GetColorPaletteCount(This) (This)->lpVtbl->GetColorPaletteCount(This) -#define IDWriteFontFace7_GetPaletteEntryCount(This) (This)->lpVtbl->GetPaletteEntryCount(This) -#define IDWriteFontFace7_GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) (This)->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries) -/*** IDWriteFontFace3 methods ***/ -#define IDWriteFontFace7_GetFontFaceReference(This, reference) (This)->lpVtbl->GetFontFaceReference(This, reference) -#define IDWriteFontFace7_GetPanose(This, panose) (This)->lpVtbl->GetPanose(This, panose) -#define IDWriteFontFace7_GetWeight(This) (This)->lpVtbl->GetWeight(This) -#define IDWriteFontFace7_GetStretch(This) (This)->lpVtbl->GetStretch(This) -#define IDWriteFontFace7_GetStyle(This) (This)->lpVtbl->GetStyle(This) -#define IDWriteFontFace7_GetInformationalStrings(This, stringid, strings, exists) (This)->lpVtbl->GetInformationalStrings(This, stringid, strings, exists) -#define IDWriteFontFace7_HasCharacter(This, character) (This)->lpVtbl->HasCharacter(This, character) -#define IDWriteFontFace7_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) (This)->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode) -#define IDWriteFontFace7_IsCharacterLocal(This, character) (This)->lpVtbl->IsCharacterLocal(This, character) -#define IDWriteFontFace7_IsGlyphLocal(This, glyph) (This)->lpVtbl->IsGlyphLocal(This, glyph) -#define IDWriteFontFace7_AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) (This)->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local) -#define IDWriteFontFace7_AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) (This)->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local) -/*** IDWriteFontFace4 methods ***/ -#define IDWriteFontFace7_GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) (This)->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats) -#define IDWriteFontFace7_GetGlyphImageFormats(This) (This)->lpVtbl->GetGlyphImageFormats(This) -#define IDWriteFontFace7_GetGlyphImageData(This, glyph, ppem, format, data, context) (This)->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context) -#define IDWriteFontFace7_ReleaseGlyphImageData(This, context) (This)->lpVtbl->ReleaseGlyphImageData(This, context) -/*** IDWriteFontFace5 methods ***/ -#define IDWriteFontFace7_GetFontAxisValueCount(This) (This)->lpVtbl->GetFontAxisValueCount(This) -#define IDWriteFontFace7_GetFontAxisValues(This, values, value_count) (This)->lpVtbl->GetFontAxisValues(This, values, value_count) -#define IDWriteFontFace7_HasVariations(This) (This)->lpVtbl->HasVariations(This) -#define IDWriteFontFace7_GetFontResource(This, resource) (This)->lpVtbl->GetFontResource(This, resource) -#define IDWriteFontFace7_Equals(This, fontface) (This)->lpVtbl->Equals(This, fontface) -/*** IDWriteFontFace6 methods ***/ -#define IDWriteFontFace7_GetFamilyNames(This, font_family_model, names) (This)->lpVtbl->IDWriteFontFace6_GetFamilyNames(This, font_family_model, names) -#define IDWriteFontFace7_GetFaceNames(This, font_family_model, names) (This)->lpVtbl->IDWriteFontFace6_GetFaceNames(This, font_family_model, names) -/*** IDWriteFontFace7 methods ***/ -#define IDWriteFontFace7_GetPaintFeatureLevel(This, glyph_image_format) (This)->lpVtbl->GetPaintFeatureLevel(This, glyph_image_format) -#define IDWriteFontFace7_CreatePaintReader(This, glyph_image_format, paint_feature_level, paint_reader) (This)->lpVtbl->CreatePaintReader(This, glyph_image_format, paint_feature_level, paint_reader) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFontFace7_QueryInterface(IDWriteFontFace7* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFontFace7_AddRef(IDWriteFontFace7* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFontFace7_Release(IDWriteFontFace7* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFace methods ***/ -static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace7_GetType(IDWriteFontFace7* This) { - return This->lpVtbl->GetType(This); -} -static inline HRESULT IDWriteFontFace7_GetFiles(IDWriteFontFace7* This, UINT32* number_of_files, IDWriteFontFile** fontfiles) { - return This->lpVtbl->GetFiles(This, number_of_files, fontfiles); -} -static inline UINT32 IDWriteFontFace7_GetIndex(IDWriteFontFace7* This) { - return This->lpVtbl->GetIndex(This); -} -static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace7_GetSimulations(IDWriteFontFace7* This) { - return This->lpVtbl->GetSimulations(This); -} -static inline WINBOOL IDWriteFontFace7_IsSymbolFont(IDWriteFontFace7* This) { - return This->lpVtbl->IsSymbolFont(This); -} -static inline UINT16 IDWriteFontFace7_GetGlyphCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetGlyphCount(This); -} -static inline HRESULT IDWriteFontFace7_GetDesignGlyphMetrics(IDWriteFontFace7* This, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphMetrics(This, glyph_indices, glyph_count, metrics, is_sideways); -} -static inline HRESULT IDWriteFontFace7_GetGlyphIndices(IDWriteFontFace7* This, const UINT32* codepoints, UINT32 count, UINT16* glyph_indices) { - return This->lpVtbl->GetGlyphIndices(This, codepoints, count, glyph_indices); -} -static inline HRESULT IDWriteFontFace7_TryGetFontTable(IDWriteFontFace7* This, UINT32 table_tag, const void** table_data, UINT32* table_size, void** context, WINBOOL* exists) { - return This->lpVtbl->TryGetFontTable(This, table_tag, table_data, table_size, context, exists); -} -static inline void IDWriteFontFace7_ReleaseFontTable(IDWriteFontFace7* This, void* table_context) { - This->lpVtbl->ReleaseFontTable(This, table_context); -} -static inline HRESULT IDWriteFontFace7_GetGlyphRunOutline(IDWriteFontFace7* This, FLOAT emSize, const UINT16* glyph_indices, const FLOAT* glyph_advances, const DWRITE_GLYPH_OFFSET* glyph_offsets, UINT32 glyph_count, WINBOOL is_sideways, WINBOOL is_rtl, IDWriteGeometrySink* geometrysink) { - return This->lpVtbl->GetGlyphRunOutline(This, emSize, glyph_indices, glyph_advances, glyph_offsets, glyph_count, is_sideways, is_rtl, geometrysink); -} -static inline HRESULT IDWriteFontFace7_GetGdiCompatibleGlyphMetrics(IDWriteFontFace7* This, FLOAT emSize, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, const UINT16* glyph_indices, UINT32 glyph_count, DWRITE_GLYPH_METRICS* metrics, WINBOOL is_sideways) { - return This->lpVtbl->GetGdiCompatibleGlyphMetrics(This, emSize, pixels_per_dip, transform, use_gdi_natural, glyph_indices, glyph_count, metrics, is_sideways); -} -/*** IDWriteFontFace1 methods ***/ -static inline void IDWriteFontFace7_GetMetrics(IDWriteFontFace7* This, DWRITE_FONT_METRICS1* metrics) { - This->lpVtbl->IDWriteFontFace1_GetMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace7_GetGdiCompatibleMetrics(IDWriteFontFace7* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, DWRITE_FONT_METRICS1* metrics) { - return This->lpVtbl->IDWriteFontFace1_GetGdiCompatibleMetrics(This, em_size, pixels_per_dip, transform, metrics); -} -static inline void IDWriteFontFace7_GetCaretMetrics(IDWriteFontFace7* This, DWRITE_CARET_METRICS* metrics) { - This->lpVtbl->GetCaretMetrics(This, metrics); -} -static inline HRESULT IDWriteFontFace7_GetUnicodeRanges(IDWriteFontFace7* This, UINT32 max_count, DWRITE_UNICODE_RANGE* ranges, UINT32* count) { - return This->lpVtbl->GetUnicodeRanges(This, max_count, ranges, count); -} -static inline WINBOOL IDWriteFontFace7_IsMonospacedFont(IDWriteFontFace7* This) { - return This->lpVtbl->IsMonospacedFont(This); -} -static inline HRESULT IDWriteFontFace7_GetDesignGlyphAdvances(IDWriteFontFace7* This, UINT32 glyph_count, const UINT16* indices, INT32* advances, WINBOOL is_sideways) { - return This->lpVtbl->GetDesignGlyphAdvances(This, glyph_count, indices, advances, is_sideways); -} -static inline HRESULT IDWriteFontFace7_GetGdiCompatibleGlyphAdvances(IDWriteFontFace7* This, FLOAT em_size, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, WINBOOL is_sideways, UINT32 glyph_count, const UINT16* indices, INT32* advances) { - return This->lpVtbl->GetGdiCompatibleGlyphAdvances(This, em_size, pixels_per_dip, transform, use_gdi_natural, is_sideways, glyph_count, indices, advances); -} -static inline HRESULT IDWriteFontFace7_GetKerningPairAdjustments(IDWriteFontFace7* This, UINT32 glyph_count, const UINT16* indices, INT32* adjustments) { - return This->lpVtbl->GetKerningPairAdjustments(This, glyph_count, indices, adjustments); -} -static inline WINBOOL IDWriteFontFace7_HasKerningPairs(IDWriteFontFace7* This) { - return This->lpVtbl->HasKerningPairs(This); -} -static inline HRESULT IDWriteFontFace7_GetVerticalGlyphVariants(IDWriteFontFace7* This, UINT32 glyph_count, const UINT16* nominal_indices, UINT16* vertical_indices) { - return This->lpVtbl->GetVerticalGlyphVariants(This, glyph_count, nominal_indices, vertical_indices); -} -static inline WINBOOL IDWriteFontFace7_HasVerticalGlyphVariants(IDWriteFontFace7* This) { - return This->lpVtbl->HasVerticalGlyphVariants(This); -} -/*** IDWriteFontFace2 methods ***/ -static inline WINBOOL IDWriteFontFace7_IsColorFont(IDWriteFontFace7* This) { - return This->lpVtbl->IsColorFont(This); -} -static inline UINT32 IDWriteFontFace7_GetColorPaletteCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetColorPaletteCount(This); -} -static inline UINT32 IDWriteFontFace7_GetPaletteEntryCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetPaletteEntryCount(This); -} -static inline HRESULT IDWriteFontFace7_GetPaletteEntries(IDWriteFontFace7* This, UINT32 palette_index, UINT32 first_entry_index, UINT32 entry_count, DWRITE_COLOR_F* entries) { - return This->lpVtbl->GetPaletteEntries(This, palette_index, first_entry_index, entry_count, entries); -} -/*** IDWriteFontFace3 methods ***/ -static inline HRESULT IDWriteFontFace7_GetFontFaceReference(IDWriteFontFace7* This, IDWriteFontFaceReference** reference) { - return This->lpVtbl->GetFontFaceReference(This, reference); -} -static inline void IDWriteFontFace7_GetPanose(IDWriteFontFace7* This, DWRITE_PANOSE* panose) { - This->lpVtbl->GetPanose(This, panose); -} -static inline DWRITE_FONT_WEIGHT IDWriteFontFace7_GetWeight(IDWriteFontFace7* This) { - return This->lpVtbl->GetWeight(This); -} -static inline DWRITE_FONT_STRETCH IDWriteFontFace7_GetStretch(IDWriteFontFace7* This) { - return This->lpVtbl->GetStretch(This); -} -static inline DWRITE_FONT_STYLE IDWriteFontFace7_GetStyle(IDWriteFontFace7* This) { - return This->lpVtbl->GetStyle(This); -} -static inline HRESULT IDWriteFontFace7_GetInformationalStrings(IDWriteFontFace7* This, DWRITE_INFORMATIONAL_STRING_ID stringid, IDWriteLocalizedStrings** strings, WINBOOL* exists) { - return This->lpVtbl->GetInformationalStrings(This, stringid, strings, exists); -} -static inline WINBOOL IDWriteFontFace7_HasCharacter(IDWriteFontFace7* This, UINT32 character) { - return This->lpVtbl->HasCharacter(This, character); -} -static inline HRESULT IDWriteFontFace7_GetRecommendedRenderingMode(IDWriteFontFace7* This, FLOAT emsize, FLOAT dpi_x, FLOAT dpi_y, const DWRITE_MATRIX* transform, WINBOOL is_sideways, DWRITE_OUTLINE_THRESHOLD threshold, DWRITE_MEASURING_MODE measuring_mode, IDWriteRenderingParams* params, DWRITE_RENDERING_MODE1* rendering_mode, DWRITE_GRID_FIT_MODE* gridfit_mode) { - return This->lpVtbl->IDWriteFontFace3_GetRecommendedRenderingMode(This, emsize, dpi_x, dpi_y, transform, is_sideways, threshold, measuring_mode, params, rendering_mode, gridfit_mode); -} -static inline WINBOOL IDWriteFontFace7_IsCharacterLocal(IDWriteFontFace7* This, UINT32 character) { - return This->lpVtbl->IsCharacterLocal(This, character); -} -static inline WINBOOL IDWriteFontFace7_IsGlyphLocal(IDWriteFontFace7* This, UINT16 glyph) { - return This->lpVtbl->IsGlyphLocal(This, glyph); -} -static inline HRESULT IDWriteFontFace7_AreCharactersLocal(IDWriteFontFace7* This, const WCHAR* characters, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreCharactersLocal(This, characters, count, enqueue_if_not, are_local); -} -static inline HRESULT IDWriteFontFace7_AreGlyphsLocal(IDWriteFontFace7* This, const UINT16* glyphs, UINT32 count, WINBOOL enqueue_if_not, WINBOOL* are_local) { - return This->lpVtbl->AreGlyphsLocal(This, glyphs, count, enqueue_if_not, are_local); -} -/*** IDWriteFontFace4 methods ***/ -static inline HRESULT IDWriteFontFace7_GetGlyphImageFormats_(IDWriteFontFace7* This, UINT16 glyph, UINT32 ppem_first, UINT32 ppem_last, DWRITE_GLYPH_IMAGE_FORMATS* formats) { - return This->lpVtbl->GetGlyphImageFormats_(This, glyph, ppem_first, ppem_last, formats); -} -static inline DWRITE_GLYPH_IMAGE_FORMATS IDWriteFontFace7_GetGlyphImageFormats(IDWriteFontFace7* This) { - return This->lpVtbl->GetGlyphImageFormats(This); -} -static inline HRESULT IDWriteFontFace7_GetGlyphImageData(IDWriteFontFace7* This, UINT16 glyph, UINT32 ppem, DWRITE_GLYPH_IMAGE_FORMATS format, DWRITE_GLYPH_IMAGE_DATA* data, void** context) { - return This->lpVtbl->GetGlyphImageData(This, glyph, ppem, format, data, context); -} -static inline void IDWriteFontFace7_ReleaseGlyphImageData(IDWriteFontFace7* This, void* context) { - This->lpVtbl->ReleaseGlyphImageData(This, context); -} -/*** IDWriteFontFace5 methods ***/ -static inline UINT32 IDWriteFontFace7_GetFontAxisValueCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetFontAxisValueCount(This); -} -static inline HRESULT IDWriteFontFace7_GetFontAxisValues(IDWriteFontFace7* This, DWRITE_FONT_AXIS_VALUE* values, UINT32 value_count) { - return This->lpVtbl->GetFontAxisValues(This, values, value_count); -} -static inline WINBOOL IDWriteFontFace7_HasVariations(IDWriteFontFace7* This) { - return This->lpVtbl->HasVariations(This); -} -static inline HRESULT IDWriteFontFace7_GetFontResource(IDWriteFontFace7* This, IDWriteFontResource** resource) { - return This->lpVtbl->GetFontResource(This, resource); -} -static inline WINBOOL IDWriteFontFace7_Equals(IDWriteFontFace7* This, IDWriteFontFace* fontface) { - return This->lpVtbl->Equals(This, fontface); -} -/*** IDWriteFontFace6 methods ***/ -static inline HRESULT IDWriteFontFace7_GetFamilyNames(IDWriteFontFace7* This, DWRITE_FONT_FAMILY_MODEL font_family_model, IDWriteLocalizedStrings** names) { - return This->lpVtbl->IDWriteFontFace6_GetFamilyNames(This, font_family_model, names); -} -static inline HRESULT IDWriteFontFace7_GetFaceNames(IDWriteFontFace7* This, DWRITE_FONT_FAMILY_MODEL font_family_model, IDWriteLocalizedStrings** names) { - return This->lpVtbl->IDWriteFontFace6_GetFaceNames(This, font_family_model, names); -} -/*** IDWriteFontFace7 methods ***/ -static inline DWRITE_PAINT_FEATURE_LEVEL IDWriteFontFace7_GetPaintFeatureLevel(IDWriteFontFace7* This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format) { - return This->lpVtbl->GetPaintFeatureLevel(This, glyph_image_format); -} -static inline HRESULT IDWriteFontFace7_CreatePaintReader(IDWriteFontFace7* This, DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, IDWritePaintReader** paint_reader) { - return This->lpVtbl->CreatePaintReader(This, glyph_image_format, paint_feature_level, paint_reader); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFontFace7_INTERFACE_DEFINED__ */ - -typedef struct DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1; -struct DWRITE_COLOR_GLYPH_RUN1 { - DWRITE_GLYPH_RUN glyphRun; - DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription; - FLOAT baselineOriginX; - FLOAT baselineOriginY; - DWRITE_COLOR_F runColor; - UINT16 paletteIndex; -#ifdef _WIN64 - UINT32 _pad; -#endif - DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; - DWRITE_MEASURING_MODE measuringMode; -}; -/***************************************************************************** - * IDWriteColorGlyphRunEnumerator1 interface - */ -#ifndef __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ -#define __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8, 0xe1, 0x55, 0xa1, 0x79, 0xfe, 0x5a, 0x35); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("7c5f86da-c7a1-4f05-b8e1-55a179fe5a35") -IDWriteColorGlyphRunEnumerator1 : public IDWriteColorGlyphRunEnumerator { - virtual HRESULT STDMETHODCALLTYPE GetCurrentRun( - const DWRITE_COLOR_GLYPH_RUN1** run) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8, 0xe1, 0x55, 0xa1, 0x79, 0xfe, 0x5a, 0x35) -#endif -#else -typedef struct IDWriteColorGlyphRunEnumerator1Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteColorGlyphRunEnumerator1* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteColorGlyphRunEnumerator1* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteColorGlyphRunEnumerator1* This); - - /*** IDWriteColorGlyphRunEnumerator methods ***/ - HRESULT(STDMETHODCALLTYPE* MoveNext)( - IDWriteColorGlyphRunEnumerator1* This, - WINBOOL* hasRun); - - HRESULT(STDMETHODCALLTYPE* GetCurrentRun)( - IDWriteColorGlyphRunEnumerator1* This, - const DWRITE_COLOR_GLYPH_RUN** run); - - /*** IDWriteColorGlyphRunEnumerator1 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteColorGlyphRunEnumerator1_GetCurrentRun)( - IDWriteColorGlyphRunEnumerator1* This, - const DWRITE_COLOR_GLYPH_RUN1** run); - - END_INTERFACE -} IDWriteColorGlyphRunEnumerator1Vtbl; - -interface IDWriteColorGlyphRunEnumerator1 { - CONST_VTBL IDWriteColorGlyphRunEnumerator1Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteColorGlyphRunEnumerator1_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteColorGlyphRunEnumerator1_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteColorGlyphRunEnumerator1_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteColorGlyphRunEnumerator methods ***/ -#define IDWriteColorGlyphRunEnumerator1_MoveNext(This, hasRun) (This)->lpVtbl->MoveNext(This, hasRun) -/*** IDWriteColorGlyphRunEnumerator1 methods ***/ -#define IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This, run) (This)->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This, run) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteColorGlyphRunEnumerator1_QueryInterface(IDWriteColorGlyphRunEnumerator1* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteColorGlyphRunEnumerator1_AddRef(IDWriteColorGlyphRunEnumerator1* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteColorGlyphRunEnumerator1_Release(IDWriteColorGlyphRunEnumerator1* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteColorGlyphRunEnumerator methods ***/ -static inline HRESULT IDWriteColorGlyphRunEnumerator1_MoveNext(IDWriteColorGlyphRunEnumerator1* This, WINBOOL* hasRun) { - return This->lpVtbl->MoveNext(This, hasRun); -} -/*** IDWriteColorGlyphRunEnumerator1 methods ***/ -static inline HRESULT IDWriteColorGlyphRunEnumerator1_GetCurrentRun(IDWriteColorGlyphRunEnumerator1* This, const DWRITE_COLOR_GLYPH_RUN1** run) { - return This->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This, run); -} -#endif -#endif - -#endif - -#endif /* __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory4 interface - */ -#ifndef __IDWriteFactory4_INTERFACE_DEFINED__ -#define __IDWriteFactory4_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a, 0xc5, 0xfe, 0x91, 0x5c, 0xc5, 0x38, 0x56); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("4b0b5bd3-0797-4549-8ac5-fe915cc53856") -IDWriteFactory4 : public IDWriteFactory3 { - virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( - D2D1_POINT_2F baseline_origin, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1** layers) = 0; - - virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins_( - const DWRITE_GLYPH_RUN* run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F* origins) = 0; - - virtual HRESULT STDMETHODCALLTYPE ComputeGlyphOrigins( - const DWRITE_GLYPH_RUN* run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - const DWRITE_MATRIX* transform, - D2D1_POINT_2F* origins) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a, 0xc5, 0xfe, 0x91, 0x5c, 0xc5, 0x38, 0x56) -#endif -#else -typedef struct IDWriteFactory4Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory4* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory4* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory4* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory4* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory4* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory4* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory4* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory4* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory4* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory4* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory4* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory4* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory4* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory4* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory4* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory4* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory4* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory4* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory4* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory4* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory4* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory4* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory4* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory4* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory4* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory4* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory4* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory4* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory4* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory4* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory4* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateGlyphRunAnalysis)( - IDWriteFactory4* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateCustomRenderingParams)( - IDWriteFactory4* This, - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3** params); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference_)( - IDWriteFactory4* This, - IDWriteFontFile* file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFactory4* This, - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* GetSystemFontSet)( - IDWriteFactory4* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( - IDWriteFactory4* This, - IDWriteFontSetBuilder** builder); - - HRESULT(STDMETHODCALLTYPE* CreateFontCollectionFromFontSet)( - IDWriteFactory4* This, - IDWriteFontSet* fontset, - IDWriteFontCollection1** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_GetSystemFontCollection)( - IDWriteFactory4* This, - WINBOOL include_downloadable, - IDWriteFontCollection1** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( - IDWriteFactory4* This, - IDWriteFontDownloadQueue** queue); - - /*** IDWriteFactory4 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory4_TranslateColorGlyphRun)( - IDWriteFactory4* This, - D2D1_POINT_2F baseline_origin, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1** layers); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins_)( - IDWriteFactory4* This, - const DWRITE_GLYPH_RUN* run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F* origins); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins)( - IDWriteFactory4* This, - const DWRITE_GLYPH_RUN* run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - const DWRITE_MATRIX* transform, - D2D1_POINT_2F* origins); - - END_INTERFACE -} IDWriteFactory4Vtbl; - -interface IDWriteFactory4 { - CONST_VTBL IDWriteFactory4Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory4_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory4_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory4_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory4_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory4_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory4_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory4_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory4_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory4_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory4_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory4_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory4_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory4_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory4_CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) (This)->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) -#define IDWriteFactory4_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory4_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory4_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory4_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory4_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory4_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory4_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory4_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory4_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory4_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -/*** IDWriteFactory3 methods ***/ -#define IDWriteFactory4_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) -#define IDWriteFactory4_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) -#define IDWriteFactory4_CreateFontFaceReference_(This, file, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference) -#define IDWriteFactory4_CreateFontFaceReference(This, path, writetime, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference(This, path, writetime, index, simulations, reference) -#define IDWriteFactory4_GetSystemFontSet(This, fontset) (This)->lpVtbl->GetSystemFontSet(This, fontset) -#define IDWriteFactory4_CreateFontSetBuilder(This, builder) (This)->lpVtbl->CreateFontSetBuilder(This, builder) -#define IDWriteFactory4_CreateFontCollectionFromFontSet(This, fontset, collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This, fontset, collection) -#define IDWriteFactory4_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates) -#define IDWriteFactory4_GetFontDownloadQueue(This, queue) (This)->lpVtbl->GetFontDownloadQueue(This, queue) -/*** IDWriteFactory4 methods ***/ -#define IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) -#define IDWriteFactory4_ComputeGlyphOrigins_(This, run, baseline_origin, origins) (This)->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins) -#define IDWriteFactory4_ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) (This)->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory4_QueryInterface(IDWriteFactory4* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory4_AddRef(IDWriteFactory4* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory4_Release(IDWriteFactory4* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory4_CreateCustomFontCollection(IDWriteFactory4* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory4_RegisterFontCollectionLoader(IDWriteFactory4* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory4_UnregisterFontCollectionLoader(IDWriteFactory4* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory4_CreateFontFileReference(IDWriteFactory4* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory4_CreateCustomFontFileReference(IDWriteFactory4* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory4_CreateFontFace(IDWriteFactory4* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory4_CreateRenderingParams(IDWriteFactory4* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory4_CreateMonitorRenderingParams(IDWriteFactory4* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory4_RegisterFontFileLoader(IDWriteFactory4* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory4_UnregisterFontFileLoader(IDWriteFactory4* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory4_CreateTextFormat(IDWriteFactory4* This, const WCHAR* family_name, IDWriteFontCollection* collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, const WCHAR* locale, IDWriteTextFormat** format) { - return This->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format); -} -static inline HRESULT IDWriteFactory4_CreateTypography(IDWriteFactory4* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory4_GetGdiInterop(IDWriteFactory4* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory4_CreateTextLayout(IDWriteFactory4* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory4_CreateGdiCompatibleTextLayout(IDWriteFactory4* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory4_CreateEllipsisTrimmingSign(IDWriteFactory4* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory4_CreateTextAnalyzer(IDWriteFactory4* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory4_CreateNumberSubstitution(IDWriteFactory4* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory4_GetEudcFontCollection(IDWriteFactory4* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory4_GetSystemFontFallback(IDWriteFactory4* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory4_CreateFontFallbackBuilder(IDWriteFactory4* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -/*** IDWriteFactory3 methods ***/ -static inline HRESULT IDWriteFactory4_CreateGlyphRunAnalysis(IDWriteFactory4* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, FLOAT origin_x, FLOAT origin_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis); -} -static inline HRESULT IDWriteFactory4_CreateCustomRenderingParams(IDWriteFactory4* This, FLOAT gamma, FLOAT enhanced_contrast, FLOAT grayscale_enhanced_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3** params) { - return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params); -} -static inline HRESULT IDWriteFactory4_CreateFontFaceReference_(IDWriteFactory4* This, IDWriteFontFile* file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference); -} -static inline HRESULT IDWriteFactory4_CreateFontFaceReference(IDWriteFactory4* This, const WCHAR* path, const FILETIME* writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference(This, path, writetime, index, simulations, reference); -} -static inline HRESULT IDWriteFactory4_GetSystemFontSet(IDWriteFactory4* This, IDWriteFontSet** fontset) { - return This->lpVtbl->GetSystemFontSet(This, fontset); -} -static inline HRESULT IDWriteFactory4_CreateFontSetBuilder(IDWriteFactory4* This, IDWriteFontSetBuilder** builder) { - return This->lpVtbl->CreateFontSetBuilder(This, builder); -} -static inline HRESULT IDWriteFactory4_CreateFontCollectionFromFontSet(IDWriteFactory4* This, IDWriteFontSet* fontset, IDWriteFontCollection1** collection) { - return This->lpVtbl->CreateFontCollectionFromFontSet(This, fontset, collection); -} -static inline HRESULT IDWriteFactory4_GetSystemFontCollection(IDWriteFactory4* This, WINBOOL include_downloadable, IDWriteFontCollection1** collection, WINBOOL check_for_updates) { - return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates); -} -static inline HRESULT IDWriteFactory4_GetFontDownloadQueue(IDWriteFactory4* This, IDWriteFontDownloadQueue** queue) { - return This->lpVtbl->GetFontDownloadQueue(This, queue); -} -/*** IDWriteFactory4 methods ***/ -static inline HRESULT IDWriteFactory4_TranslateColorGlyphRun(IDWriteFactory4* This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, DWRITE_GLYPH_IMAGE_FORMATS desired_formats, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_MATRIX* transform, UINT32 palette, IDWriteColorGlyphRunEnumerator1** layers) { - return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers); -} -static inline HRESULT IDWriteFactory4_ComputeGlyphOrigins_(IDWriteFactory4* This, const DWRITE_GLYPH_RUN* run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins); -} -static inline HRESULT IDWriteFactory4_ComputeGlyphOrigins(IDWriteFactory4* This, const DWRITE_GLYPH_RUN* run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, const DWRITE_MATRIX* transform, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory4_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteAsyncResult interface - */ -#ifndef __IDWriteAsyncResult_INTERFACE_DEFINED__ -#define __IDWriteAsyncResult_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96, 0x51, 0xc1, 0xf8, 0x8d, 0xc7, 0x3f, 0xe2); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("ce25f8fd-863b-4d13-9651-c1f88dc73fe2") -IDWriteAsyncResult : public IUnknown { - virtual HANDLE STDMETHODCALLTYPE GetWaitHandle() = 0; - - virtual HRESULT STDMETHODCALLTYPE GetResult() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96, 0x51, 0xc1, 0xf8, 0x8d, 0xc7, 0x3f, 0xe2) -#endif -#else -typedef struct IDWriteAsyncResultVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteAsyncResult* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteAsyncResult* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteAsyncResult* This); - - /*** IDWriteAsyncResult methods ***/ - HANDLE(STDMETHODCALLTYPE* GetWaitHandle)( - IDWriteAsyncResult* This); - - HRESULT(STDMETHODCALLTYPE* GetResult)( - IDWriteAsyncResult* This); - - END_INTERFACE -} IDWriteAsyncResultVtbl; - -interface IDWriteAsyncResult { - CONST_VTBL IDWriteAsyncResultVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteAsyncResult_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteAsyncResult_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteAsyncResult methods ***/ -#define IDWriteAsyncResult_GetWaitHandle(This) (This)->lpVtbl->GetWaitHandle(This) -#define IDWriteAsyncResult_GetResult(This) (This)->lpVtbl->GetResult(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteAsyncResult_QueryInterface(IDWriteAsyncResult* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteAsyncResult_AddRef(IDWriteAsyncResult* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteAsyncResult_Release(IDWriteAsyncResult* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteAsyncResult methods ***/ -static inline HANDLE IDWriteAsyncResult_GetWaitHandle(IDWriteAsyncResult* This) { - return This->lpVtbl->GetWaitHandle(This); -} -static inline HRESULT IDWriteAsyncResult_GetResult(IDWriteAsyncResult* This) { - return This->lpVtbl->GetResult(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteAsyncResult_INTERFACE_DEFINED__ */ - -typedef struct DWRITE_FILE_FRAGMENT { - UINT64 fileOffset; - UINT64 fragmentSize; -} DWRITE_FILE_FRAGMENT; -/***************************************************************************** - * IDWriteRemoteFontFileStream interface - */ -#ifndef __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ -#define __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2, 0xb6, 0x1a, 0xba, 0xbe, 0x1a, 0xff, 0x9c); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("4db3757a-2c72-4ed9-b2b6-1ababe1aff9c") -IDWriteRemoteFontFileStream : public IDWriteFontFileStream { - virtual HRESULT STDMETHODCALLTYPE GetLocalFileSize( - UINT64 * size) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFileFragmentLocality( - UINT64 offset, - UINT64 size, - WINBOOL * is_local, - UINT64 * partial_size) = 0; - - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality() = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginDownload( - const GUID* operation_id, - const DWRITE_FILE_FRAGMENT* fragments, - UINT32 fragment_count, - IDWriteAsyncResult** async_result) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2, 0xb6, 0x1a, 0xba, 0xbe, 0x1a, 0xff, 0x9c) -#endif -#else -typedef struct IDWriteRemoteFontFileStreamVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteRemoteFontFileStream* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteRemoteFontFileStream* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteRemoteFontFileStream* This); - - /*** IDWriteFontFileStream methods ***/ - HRESULT(STDMETHODCALLTYPE* ReadFileFragment)( - IDWriteRemoteFontFileStream* This, - const void** fragment_start, - UINT64 offset, - UINT64 fragment_size, - void** fragment_context); - - void(STDMETHODCALLTYPE* ReleaseFileFragment)( - IDWriteRemoteFontFileStream* This, - void* fragment_context); - - HRESULT(STDMETHODCALLTYPE* GetFileSize)( - IDWriteRemoteFontFileStream* This, - UINT64* size); - - HRESULT(STDMETHODCALLTYPE* GetLastWriteTime)( - IDWriteRemoteFontFileStream* This, - UINT64* last_writetime); - - /*** IDWriteRemoteFontFileStream methods ***/ - HRESULT(STDMETHODCALLTYPE* GetLocalFileSize)( - IDWriteRemoteFontFileStream* This, - UINT64* size); - - HRESULT(STDMETHODCALLTYPE* GetFileFragmentLocality)( - IDWriteRemoteFontFileStream* This, - UINT64 offset, - UINT64 size, - WINBOOL* is_local, - UINT64* partial_size); - - DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( - IDWriteRemoteFontFileStream* This); - - HRESULT(STDMETHODCALLTYPE* BeginDownload)( - IDWriteRemoteFontFileStream* This, - const GUID* operation_id, - const DWRITE_FILE_FRAGMENT* fragments, - UINT32 fragment_count, - IDWriteAsyncResult** async_result); - - END_INTERFACE -} IDWriteRemoteFontFileStreamVtbl; - -interface IDWriteRemoteFontFileStream { - CONST_VTBL IDWriteRemoteFontFileStreamVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteRemoteFontFileStream_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteRemoteFontFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteRemoteFontFileStream_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileStream methods ***/ -#define IDWriteRemoteFontFileStream_ReadFileFragment(This, fragment_start, offset, fragment_size, fragment_context) (This)->lpVtbl->ReadFileFragment(This, fragment_start, offset, fragment_size, fragment_context) -#define IDWriteRemoteFontFileStream_ReleaseFileFragment(This, fragment_context) (This)->lpVtbl->ReleaseFileFragment(This, fragment_context) -#define IDWriteRemoteFontFileStream_GetFileSize(This, size) (This)->lpVtbl->GetFileSize(This, size) -#define IDWriteRemoteFontFileStream_GetLastWriteTime(This, last_writetime) (This)->lpVtbl->GetLastWriteTime(This, last_writetime) -/*** IDWriteRemoteFontFileStream methods ***/ -#define IDWriteRemoteFontFileStream_GetLocalFileSize(This, size) (This)->lpVtbl->GetLocalFileSize(This, size) -#define IDWriteRemoteFontFileStream_GetFileFragmentLocality(This, offset, size, is_local, partial_size) (This)->lpVtbl->GetFileFragmentLocality(This, offset, size, is_local, partial_size) -#define IDWriteRemoteFontFileStream_GetLocality(This) (This)->lpVtbl->GetLocality(This) -#define IDWriteRemoteFontFileStream_BeginDownload(This, operation_id, fragments, fragment_count, async_result) (This)->lpVtbl->BeginDownload(This, operation_id, fragments, fragment_count, async_result) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteRemoteFontFileStream_QueryInterface(IDWriteRemoteFontFileStream* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteRemoteFontFileStream_AddRef(IDWriteRemoteFontFileStream* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteRemoteFontFileStream_Release(IDWriteRemoteFontFileStream* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileStream methods ***/ -static inline HRESULT IDWriteRemoteFontFileStream_ReadFileFragment(IDWriteRemoteFontFileStream* This, const void** fragment_start, UINT64 offset, UINT64 fragment_size, void** fragment_context) { - return This->lpVtbl->ReadFileFragment(This, fragment_start, offset, fragment_size, fragment_context); -} -static inline void IDWriteRemoteFontFileStream_ReleaseFileFragment(IDWriteRemoteFontFileStream* This, void* fragment_context) { - This->lpVtbl->ReleaseFileFragment(This, fragment_context); -} -static inline HRESULT IDWriteRemoteFontFileStream_GetFileSize(IDWriteRemoteFontFileStream* This, UINT64* size) { - return This->lpVtbl->GetFileSize(This, size); -} -static inline HRESULT IDWriteRemoteFontFileStream_GetLastWriteTime(IDWriteRemoteFontFileStream* This, UINT64* last_writetime) { - return This->lpVtbl->GetLastWriteTime(This, last_writetime); -} -/*** IDWriteRemoteFontFileStream methods ***/ -static inline HRESULT IDWriteRemoteFontFileStream_GetLocalFileSize(IDWriteRemoteFontFileStream* This, UINT64* size) { - return This->lpVtbl->GetLocalFileSize(This, size); -} -static inline HRESULT IDWriteRemoteFontFileStream_GetFileFragmentLocality(IDWriteRemoteFontFileStream* This, UINT64 offset, UINT64 size, WINBOOL* is_local, UINT64* partial_size) { - return This->lpVtbl->GetFileFragmentLocality(This, offset, size, is_local, partial_size); -} -static inline DWRITE_LOCALITY IDWriteRemoteFontFileStream_GetLocality(IDWriteRemoteFontFileStream* This) { - return This->lpVtbl->GetLocality(This); -} -static inline HRESULT IDWriteRemoteFontFileStream_BeginDownload(IDWriteRemoteFontFileStream* This, const GUID* operation_id, const DWRITE_FILE_FRAGMENT* fragments, UINT32 fragment_count, IDWriteAsyncResult** async_result) { - return This->lpVtbl->BeginDownload(This, operation_id, fragments, fragment_count, async_result); -} -#endif -#endif - -#endif - -#endif /* __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ */ - -typedef enum DWRITE_CONTAINER_TYPE { - DWRITE_CONTAINER_TYPE_UNKNOWN = 0, - DWRITE_CONTAINER_TYPE_WOFF = 1, - DWRITE_CONTAINER_TYPE_WOFF2 = 2 -} DWRITE_CONTAINER_TYPE; -/***************************************************************************** - * IDWriteRemoteFontFileLoader interface - */ -#ifndef __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ -#define __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab, 0x46, 0x20, 0x08, 0x3a, 0x88, 0x7f, 0xde); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("68648c83-6ede-46c0-ab46-20083a887fde") -IDWriteRemoteFontFileLoader : public IDWriteFontFileLoader { - virtual HRESULT STDMETHODCALLTYPE CreateRemoteStreamFromKey( - const void* key, - UINT32 key_size, - IDWriteRemoteFontFileStream** stream) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalityFromKey( - const void* key, - UINT32 key_size, - DWRITE_LOCALITY* locality) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontFileReferenceFromUrl( - IDWriteFactory * factory, - const WCHAR* base_url, - const WCHAR* file_url, - IDWriteFontFile** fontfile) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab, 0x46, 0x20, 0x08, 0x3a, 0x88, 0x7f, 0xde) -#endif -#else -typedef struct IDWriteRemoteFontFileLoaderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteRemoteFontFileLoader* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteRemoteFontFileLoader* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteRemoteFontFileLoader* This); - - /*** IDWriteFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateStreamFromKey)( - IDWriteRemoteFontFileLoader* This, - const void* key, - UINT32 key_size, - IDWriteFontFileStream** stream); - - /*** IDWriteRemoteFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateRemoteStreamFromKey)( - IDWriteRemoteFontFileLoader* This, - const void* key, - UINT32 key_size, - IDWriteRemoteFontFileStream** stream); - - HRESULT(STDMETHODCALLTYPE* GetLocalityFromKey)( - IDWriteRemoteFontFileLoader* This, - const void* key, - UINT32 key_size, - DWRITE_LOCALITY* locality); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReferenceFromUrl)( - IDWriteRemoteFontFileLoader* This, - IDWriteFactory* factory, - const WCHAR* base_url, - const WCHAR* file_url, - IDWriteFontFile** fontfile); - - END_INTERFACE -} IDWriteRemoteFontFileLoaderVtbl; - -interface IDWriteRemoteFontFileLoader { - CONST_VTBL IDWriteRemoteFontFileLoaderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteRemoteFontFileLoader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteRemoteFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteRemoteFontFileLoader_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileLoader methods ***/ -#define IDWriteRemoteFontFileLoader_CreateStreamFromKey(This, key, key_size, stream) (This)->lpVtbl->CreateStreamFromKey(This, key, key_size, stream) -/*** IDWriteRemoteFontFileLoader methods ***/ -#define IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(This, key, key_size, stream) (This)->lpVtbl->CreateRemoteStreamFromKey(This, key, key_size, stream) -#define IDWriteRemoteFontFileLoader_GetLocalityFromKey(This, key, key_size, locality) (This)->lpVtbl->GetLocalityFromKey(This, key, key_size, locality) -#define IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(This, factory, base_url, file_url, fontfile) (This)->lpVtbl->CreateFontFileReferenceFromUrl(This, factory, base_url, file_url, fontfile) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteRemoteFontFileLoader_QueryInterface(IDWriteRemoteFontFileLoader* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteRemoteFontFileLoader_AddRef(IDWriteRemoteFontFileLoader* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteRemoteFontFileLoader_Release(IDWriteRemoteFontFileLoader* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileLoader methods ***/ -static inline HRESULT IDWriteRemoteFontFileLoader_CreateStreamFromKey(IDWriteRemoteFontFileLoader* This, const void* key, UINT32 key_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->CreateStreamFromKey(This, key, key_size, stream); -} -/*** IDWriteRemoteFontFileLoader methods ***/ -static inline HRESULT IDWriteRemoteFontFileLoader_CreateRemoteStreamFromKey(IDWriteRemoteFontFileLoader* This, const void* key, UINT32 key_size, IDWriteRemoteFontFileStream** stream) { - return This->lpVtbl->CreateRemoteStreamFromKey(This, key, key_size, stream); -} -static inline HRESULT IDWriteRemoteFontFileLoader_GetLocalityFromKey(IDWriteRemoteFontFileLoader* This, const void* key, UINT32 key_size, DWRITE_LOCALITY* locality) { - return This->lpVtbl->GetLocalityFromKey(This, key, key_size, locality); -} -static inline HRESULT IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl(IDWriteRemoteFontFileLoader* This, IDWriteFactory* factory, const WCHAR* base_url, const WCHAR* file_url, IDWriteFontFile** fontfile) { - return This->lpVtbl->CreateFontFileReferenceFromUrl(This, factory, base_url, file_url, fontfile); -} -#endif -#endif - -#endif - -#endif /* __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteInMemoryFontFileLoader interface - */ -#ifndef __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ -#define __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82, 0x2d, 0x9e, 0x11, 0x7e, 0x33, 0x04, 0x3f); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("dc102f47-a12d-4b1c-822d-9e117e33043f") -IDWriteInMemoryFontFileLoader : public IDWriteFontFileLoader { - virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileReference( - IDWriteFactory * factory, - const void* data, - UINT32 data_size, - IUnknown* owner, - IDWriteFontFile** fontfile) = 0; - - virtual UINT32 STDMETHODCALLTYPE GetFileCount() = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82, 0x2d, 0x9e, 0x11, 0x7e, 0x33, 0x04, 0x3f) -#endif -#else -typedef struct IDWriteInMemoryFontFileLoaderVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteInMemoryFontFileLoader* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteInMemoryFontFileLoader* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteInMemoryFontFileLoader* This); - - /*** IDWriteFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateStreamFromKey)( - IDWriteInMemoryFontFileLoader* This, - const void* key, - UINT32 key_size, - IDWriteFontFileStream** stream); - - /*** IDWriteInMemoryFontFileLoader methods ***/ - HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileReference)( - IDWriteInMemoryFontFileLoader* This, - IDWriteFactory* factory, - const void* data, - UINT32 data_size, - IUnknown* owner, - IDWriteFontFile** fontfile); - - UINT32(STDMETHODCALLTYPE* GetFileCount)( - IDWriteInMemoryFontFileLoader* This); - - END_INTERFACE -} IDWriteInMemoryFontFileLoaderVtbl; - -interface IDWriteInMemoryFontFileLoader { - CONST_VTBL IDWriteInMemoryFontFileLoaderVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteInMemoryFontFileLoader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteInMemoryFontFileLoader_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteInMemoryFontFileLoader_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFontFileLoader methods ***/ -#define IDWriteInMemoryFontFileLoader_CreateStreamFromKey(This, key, key_size, stream) (This)->lpVtbl->CreateStreamFromKey(This, key, key_size, stream) -/*** IDWriteInMemoryFontFileLoader methods ***/ -#define IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(This, factory, data, data_size, owner, fontfile) (This)->lpVtbl->CreateInMemoryFontFileReference(This, factory, data, data_size, owner, fontfile) -#define IDWriteInMemoryFontFileLoader_GetFileCount(This) (This)->lpVtbl->GetFileCount(This) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteInMemoryFontFileLoader_QueryInterface(IDWriteInMemoryFontFileLoader* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteInMemoryFontFileLoader_AddRef(IDWriteInMemoryFontFileLoader* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteInMemoryFontFileLoader_Release(IDWriteInMemoryFontFileLoader* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFontFileLoader methods ***/ -static inline HRESULT IDWriteInMemoryFontFileLoader_CreateStreamFromKey(IDWriteInMemoryFontFileLoader* This, const void* key, UINT32 key_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->CreateStreamFromKey(This, key, key_size, stream); -} -/*** IDWriteInMemoryFontFileLoader methods ***/ -static inline HRESULT IDWriteInMemoryFontFileLoader_CreateInMemoryFontFileReference(IDWriteInMemoryFontFileLoader* This, IDWriteFactory* factory, const void* data, UINT32 data_size, IUnknown* owner, IDWriteFontFile** fontfile) { - return This->lpVtbl->CreateInMemoryFontFileReference(This, factory, data, data_size, owner, fontfile); -} -static inline UINT32 IDWriteInMemoryFontFileLoader_GetFileCount(IDWriteInMemoryFontFileLoader* This) { - return This->lpVtbl->GetFileCount(This); -} -#endif -#endif - -#endif - -#endif /* __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory5 interface - */ -#ifndef __IDWriteFactory5_INTERFACE_DEFINED__ -#define __IDWriteFactory5_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf, 0x7d, 0x65, 0x18, 0x98, 0x03, 0xd1, 0xd3); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("958db99a-be2a-4f09-af7d-65189803d1d3") -IDWriteFactory5 : public IDWriteFactory4 { - virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( - IDWriteFontSetBuilder1 * *fontset_builder) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileLoader( - IDWriteInMemoryFontFileLoader * *loader) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateHttpFontFileLoader( - const WCHAR* referrer_url, - const WCHAR* extra_headers, - IDWriteRemoteFontFileLoader** loader) = 0; - - virtual DWRITE_CONTAINER_TYPE STDMETHODCALLTYPE AnalyzeContainerType( - const void* data, - UINT32 data_size) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnpackFontFile( - DWRITE_CONTAINER_TYPE container_type, - const void* data, - UINT32 data_size, - IDWriteFontFileStream** stream) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf, 0x7d, 0x65, 0x18, 0x98, 0x03, 0xd1, 0xd3) -#endif -#else -typedef struct IDWriteFactory5Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory5* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory5* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory5* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory5* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory5* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory5* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory5* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory5* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory5* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory5* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory5* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory5* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory5* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory5* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory5* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory5* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory5* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory5* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory5* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory5* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory5* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory5* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory5* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory5* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory5* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory5* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory5* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory5* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory5* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory5* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory5* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateGlyphRunAnalysis)( - IDWriteFactory5* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateCustomRenderingParams)( - IDWriteFactory5* This, - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3** params); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference_)( - IDWriteFactory5* This, - IDWriteFontFile* file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFactory5* This, - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* GetSystemFontSet)( - IDWriteFactory5* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( - IDWriteFactory5* This, - IDWriteFontSetBuilder** builder); - - HRESULT(STDMETHODCALLTYPE* CreateFontCollectionFromFontSet)( - IDWriteFactory5* This, - IDWriteFontSet* fontset, - IDWriteFontCollection1** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_GetSystemFontCollection)( - IDWriteFactory5* This, - WINBOOL include_downloadable, - IDWriteFontCollection1** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( - IDWriteFactory5* This, - IDWriteFontDownloadQueue** queue); - - /*** IDWriteFactory4 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory4_TranslateColorGlyphRun)( - IDWriteFactory5* This, - D2D1_POINT_2F baseline_origin, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1** layers); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins_)( - IDWriteFactory5* This, - const DWRITE_GLYPH_RUN* run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F* origins); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins)( - IDWriteFactory5* This, - const DWRITE_GLYPH_RUN* run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - const DWRITE_MATRIX* transform, - D2D1_POINT_2F* origins); - - /*** IDWriteFactory5 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( - IDWriteFactory5* This, - IDWriteFontSetBuilder1** fontset_builder); - - HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( - IDWriteFactory5* This, - IDWriteInMemoryFontFileLoader** loader); - - HRESULT(STDMETHODCALLTYPE* CreateHttpFontFileLoader)( - IDWriteFactory5* This, - const WCHAR* referrer_url, - const WCHAR* extra_headers, - IDWriteRemoteFontFileLoader** loader); - - DWRITE_CONTAINER_TYPE(STDMETHODCALLTYPE* AnalyzeContainerType)( - IDWriteFactory5* This, - const void* data, - UINT32 data_size); - - HRESULT(STDMETHODCALLTYPE* UnpackFontFile)( - IDWriteFactory5* This, - DWRITE_CONTAINER_TYPE container_type, - const void* data, - UINT32 data_size, - IDWriteFontFileStream** stream); - - END_INTERFACE -} IDWriteFactory5Vtbl; - -interface IDWriteFactory5 { - CONST_VTBL IDWriteFactory5Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory5_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory5_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory5_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory5_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory5_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory5_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory5_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory5_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory5_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory5_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory5_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory5_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory5_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory5_CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) (This)->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format) -#define IDWriteFactory5_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory5_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory5_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory5_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory5_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory5_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory5_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory5_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory5_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory5_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -/*** IDWriteFactory3 methods ***/ -#define IDWriteFactory5_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) -#define IDWriteFactory5_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) -#define IDWriteFactory5_CreateFontFaceReference_(This, file, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference) -#define IDWriteFactory5_CreateFontFaceReference(This, path, writetime, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference(This, path, writetime, index, simulations, reference) -#define IDWriteFactory5_GetSystemFontSet(This, fontset) (This)->lpVtbl->GetSystemFontSet(This, fontset) -#define IDWriteFactory5_CreateFontCollectionFromFontSet(This, fontset, collection) (This)->lpVtbl->CreateFontCollectionFromFontSet(This, fontset, collection) -#define IDWriteFactory5_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates) (This)->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates) -#define IDWriteFactory5_GetFontDownloadQueue(This, queue) (This)->lpVtbl->GetFontDownloadQueue(This, queue) -/*** IDWriteFactory4 methods ***/ -#define IDWriteFactory5_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) -#define IDWriteFactory5_ComputeGlyphOrigins_(This, run, baseline_origin, origins) (This)->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins) -#define IDWriteFactory5_ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) (This)->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) -/*** IDWriteFactory5 methods ***/ -#define IDWriteFactory5_CreateFontSetBuilder(This, fontset_builder) (This)->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This, fontset_builder) -#define IDWriteFactory5_CreateInMemoryFontFileLoader(This, loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This, loader) -#define IDWriteFactory5_CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) (This)->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) -#define IDWriteFactory5_AnalyzeContainerType(This, data, data_size) (This)->lpVtbl->AnalyzeContainerType(This, data, data_size) -#define IDWriteFactory5_UnpackFontFile(This, container_type, data, data_size, stream) (This)->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory5_QueryInterface(IDWriteFactory5* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory5_AddRef(IDWriteFactory5* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory5_Release(IDWriteFactory5* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory5_CreateCustomFontCollection(IDWriteFactory5* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory5_RegisterFontCollectionLoader(IDWriteFactory5* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory5_UnregisterFontCollectionLoader(IDWriteFactory5* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory5_CreateFontFileReference(IDWriteFactory5* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory5_CreateCustomFontFileReference(IDWriteFactory5* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory5_CreateFontFace(IDWriteFactory5* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory5_CreateRenderingParams(IDWriteFactory5* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory5_CreateMonitorRenderingParams(IDWriteFactory5* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory5_RegisterFontFileLoader(IDWriteFactory5* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory5_UnregisterFontFileLoader(IDWriteFactory5* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory5_CreateTextFormat(IDWriteFactory5* This, const WCHAR* family_name, IDWriteFontCollection* collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, const WCHAR* locale, IDWriteTextFormat** format) { - return This->lpVtbl->CreateTextFormat(This, family_name, collection, weight, style, stretch, size, locale, format); -} -static inline HRESULT IDWriteFactory5_CreateTypography(IDWriteFactory5* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory5_GetGdiInterop(IDWriteFactory5* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory5_CreateTextLayout(IDWriteFactory5* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory5_CreateGdiCompatibleTextLayout(IDWriteFactory5* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory5_CreateEllipsisTrimmingSign(IDWriteFactory5* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory5_CreateTextAnalyzer(IDWriteFactory5* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory5_CreateNumberSubstitution(IDWriteFactory5* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory5_GetEudcFontCollection(IDWriteFactory5* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory5_GetSystemFontFallback(IDWriteFactory5* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory5_CreateFontFallbackBuilder(IDWriteFactory5* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -/*** IDWriteFactory3 methods ***/ -static inline HRESULT IDWriteFactory5_CreateGlyphRunAnalysis(IDWriteFactory5* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, FLOAT origin_x, FLOAT origin_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis); -} -static inline HRESULT IDWriteFactory5_CreateCustomRenderingParams(IDWriteFactory5* This, FLOAT gamma, FLOAT enhanced_contrast, FLOAT grayscale_enhanced_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3** params) { - return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params); -} -static inline HRESULT IDWriteFactory5_CreateFontFaceReference_(IDWriteFactory5* This, IDWriteFontFile* file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference); -} -static inline HRESULT IDWriteFactory5_CreateFontFaceReference(IDWriteFactory5* This, const WCHAR* path, const FILETIME* writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference(This, path, writetime, index, simulations, reference); -} -static inline HRESULT IDWriteFactory5_GetSystemFontSet(IDWriteFactory5* This, IDWriteFontSet** fontset) { - return This->lpVtbl->GetSystemFontSet(This, fontset); -} -static inline HRESULT IDWriteFactory5_CreateFontCollectionFromFontSet(IDWriteFactory5* This, IDWriteFontSet* fontset, IDWriteFontCollection1** collection) { - return This->lpVtbl->CreateFontCollectionFromFontSet(This, fontset, collection); -} -static inline HRESULT IDWriteFactory5_GetSystemFontCollection(IDWriteFactory5* This, WINBOOL include_downloadable, IDWriteFontCollection1** collection, WINBOOL check_for_updates) { - return This->lpVtbl->IDWriteFactory3_GetSystemFontCollection(This, include_downloadable, collection, check_for_updates); -} -static inline HRESULT IDWriteFactory5_GetFontDownloadQueue(IDWriteFactory5* This, IDWriteFontDownloadQueue** queue) { - return This->lpVtbl->GetFontDownloadQueue(This, queue); -} -/*** IDWriteFactory4 methods ***/ -static inline HRESULT IDWriteFactory5_TranslateColorGlyphRun(IDWriteFactory5* This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, DWRITE_GLYPH_IMAGE_FORMATS desired_formats, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_MATRIX* transform, UINT32 palette, IDWriteColorGlyphRunEnumerator1** layers) { - return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers); -} -static inline HRESULT IDWriteFactory5_ComputeGlyphOrigins_(IDWriteFactory5* This, const DWRITE_GLYPH_RUN* run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins); -} -static inline HRESULT IDWriteFactory5_ComputeGlyphOrigins(IDWriteFactory5* This, const DWRITE_GLYPH_RUN* run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, const DWRITE_MATRIX* transform, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins); -} -/*** IDWriteFactory5 methods ***/ -static inline HRESULT IDWriteFactory5_CreateFontSetBuilder(IDWriteFactory5* This, IDWriteFontSetBuilder1** fontset_builder) { - return This->lpVtbl->IDWriteFactory5_CreateFontSetBuilder(This, fontset_builder); -} -static inline HRESULT IDWriteFactory5_CreateInMemoryFontFileLoader(IDWriteFactory5* This, IDWriteInMemoryFontFileLoader** loader) { - return This->lpVtbl->CreateInMemoryFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory5_CreateHttpFontFileLoader(IDWriteFactory5* This, const WCHAR* referrer_url, const WCHAR* extra_headers, IDWriteRemoteFontFileLoader** loader) { - return This->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader); -} -static inline DWRITE_CONTAINER_TYPE IDWriteFactory5_AnalyzeContainerType(IDWriteFactory5* This, const void* data, UINT32 data_size) { - return This->lpVtbl->AnalyzeContainerType(This, data, data_size); -} -static inline HRESULT IDWriteFactory5_UnpackFontFile(IDWriteFactory5* This, DWRITE_CONTAINER_TYPE container_type, const void* data, UINT32 data_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory5_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory6 interface - */ -#ifndef __IDWriteFactory6_INTERFACE_DEFINED__ -#define __IDWriteFactory6_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3, 0x5d, 0x99, 0x5b, 0xc7, 0x2f, 0xc2, 0x23); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("f3744d80-21f7-42eb-b35d-995bc72fc223") -IDWriteFactory6 : public IDWriteFactory5 { - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceReference( - IDWriteFontFile * file, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - IDWriteFontFaceReference1** face_ref) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontResource( - IDWriteFontFile * file, - UINT32 face_index, - IDWriteFontResource * *resource) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( - WINBOOL include_downloadable, - IDWriteFontSet1 * *fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2 * *collection) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( - IDWriteFontSet * fontset, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2 * *collection) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( - IDWriteFontSetBuilder2 * *builder) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateTextFormat( - const WCHAR* familyname, - IDWriteFontCollection* collection, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - FLOAT fontsize, - const WCHAR* localename, - IDWriteTextFormat3** format) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3, 0x5d, 0x99, 0x5b, 0xc7, 0x2f, 0xc2, 0x23) -#endif -#else -typedef struct IDWriteFactory6Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory6* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory6* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory6* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory6* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory6* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory6* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory6* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory6* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory6* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory6* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory6* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory6* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory6* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory6* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory6* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory6* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory6* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory6* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory6* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory6* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory6* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory6* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory6* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory6* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory6* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory6* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory6* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory6* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory6* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory6* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory6* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateGlyphRunAnalysis)( - IDWriteFactory6* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateCustomRenderingParams)( - IDWriteFactory6* This, - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3** params); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference_)( - IDWriteFactory6* This, - IDWriteFontFile* file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFactory6* This, - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* GetSystemFontSet)( - IDWriteFactory6* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( - IDWriteFactory6* This, - IDWriteFontSetBuilder** builder); - - HRESULT(STDMETHODCALLTYPE* CreateFontCollectionFromFontSet)( - IDWriteFactory6* This, - IDWriteFontSet* fontset, - IDWriteFontCollection1** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_GetSystemFontCollection)( - IDWriteFactory6* This, - WINBOOL include_downloadable, - IDWriteFontCollection1** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( - IDWriteFactory6* This, - IDWriteFontDownloadQueue** queue); - - /*** IDWriteFactory4 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory4_TranslateColorGlyphRun)( - IDWriteFactory6* This, - D2D1_POINT_2F baseline_origin, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1** layers); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins_)( - IDWriteFactory6* This, - const DWRITE_GLYPH_RUN* run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F* origins); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins)( - IDWriteFactory6* This, - const DWRITE_GLYPH_RUN* run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - const DWRITE_MATRIX* transform, - D2D1_POINT_2F* origins); - - /*** IDWriteFactory5 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( - IDWriteFactory6* This, - IDWriteFontSetBuilder1** fontset_builder); - - HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( - IDWriteFactory6* This, - IDWriteInMemoryFontFileLoader** loader); - - HRESULT(STDMETHODCALLTYPE* CreateHttpFontFileLoader)( - IDWriteFactory6* This, - const WCHAR* referrer_url, - const WCHAR* extra_headers, - IDWriteRemoteFontFileLoader** loader); - - DWRITE_CONTAINER_TYPE(STDMETHODCALLTYPE* AnalyzeContainerType)( - IDWriteFactory6* This, - const void* data, - UINT32 data_size); - - HRESULT(STDMETHODCALLTYPE* UnpackFontFile)( - IDWriteFactory6* This, - DWRITE_CONTAINER_TYPE container_type, - const void* data, - UINT32 data_size, - IDWriteFontFileStream** stream); - - /*** IDWriteFactory6 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontFaceReference)( - IDWriteFactory6* This, - IDWriteFontFile* file, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - IDWriteFontFaceReference1** face_ref); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFactory6* This, - IDWriteFontFile* file, - UINT32 face_index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_GetSystemFontSet)( - IDWriteFactory6* This, - WINBOOL include_downloadable, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_GetSystemFontCollection)( - IDWriteFactory6* This, - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontCollectionFromFontSet)( - IDWriteFactory6* This, - IDWriteFontSet* fontset, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontSetBuilder)( - IDWriteFactory6* This, - IDWriteFontSetBuilder2** builder); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateTextFormat)( - IDWriteFactory6* This, - const WCHAR* familyname, - IDWriteFontCollection* collection, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - FLOAT fontsize, - const WCHAR* localename, - IDWriteTextFormat3** format); - - END_INTERFACE -} IDWriteFactory6Vtbl; - -interface IDWriteFactory6 { - CONST_VTBL IDWriteFactory6Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory6_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory6_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory6_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory6_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory6_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory6_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory6_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory6_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory6_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory6_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory6_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory6_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory6_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory6_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory6_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory6_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory6_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory6_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory6_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory6_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory6_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory6_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory6_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -/*** IDWriteFactory3 methods ***/ -#define IDWriteFactory6_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) -#define IDWriteFactory6_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) -#define IDWriteFactory6_CreateFontFaceReference_(This, file, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference) -#define IDWriteFactory6_GetFontDownloadQueue(This, queue) (This)->lpVtbl->GetFontDownloadQueue(This, queue) -/*** IDWriteFactory4 methods ***/ -#define IDWriteFactory6_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) -#define IDWriteFactory6_ComputeGlyphOrigins_(This, run, baseline_origin, origins) (This)->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins) -#define IDWriteFactory6_ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) (This)->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) -/*** IDWriteFactory5 methods ***/ -#define IDWriteFactory6_CreateInMemoryFontFileLoader(This, loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This, loader) -#define IDWriteFactory6_CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) (This)->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) -#define IDWriteFactory6_AnalyzeContainerType(This, data, data_size) (This)->lpVtbl->AnalyzeContainerType(This, data, data_size) -#define IDWriteFactory6_UnpackFontFile(This, container_type, data, data_size, stream) (This)->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream) -/*** IDWriteFactory6 methods ***/ -#define IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref) -#define IDWriteFactory6_CreateFontResource(This, file, face_index, resource) (This)->lpVtbl->CreateFontResource(This, file, face_index, resource) -#define IDWriteFactory6_GetSystemFontSet(This, include_downloadable, fontset) (This)->lpVtbl->IDWriteFactory6_GetSystemFontSet(This, include_downloadable, fontset) -#define IDWriteFactory6_GetSystemFontCollection(This, include_downloadable, family_model, collection) (This)->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This, include_downloadable, family_model, collection) -#define IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection) -#define IDWriteFactory6_CreateFontSetBuilder(This, builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This, builder) -#define IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory6_QueryInterface(IDWriteFactory6* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory6_AddRef(IDWriteFactory6* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory6_Release(IDWriteFactory6* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory6_CreateCustomFontCollection(IDWriteFactory6* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory6_RegisterFontCollectionLoader(IDWriteFactory6* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory6_UnregisterFontCollectionLoader(IDWriteFactory6* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory6_CreateFontFileReference(IDWriteFactory6* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory6_CreateCustomFontFileReference(IDWriteFactory6* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory6_CreateFontFace(IDWriteFactory6* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory6_CreateRenderingParams(IDWriteFactory6* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory6_CreateMonitorRenderingParams(IDWriteFactory6* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory6_RegisterFontFileLoader(IDWriteFactory6* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory6_UnregisterFontFileLoader(IDWriteFactory6* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory6_CreateTypography(IDWriteFactory6* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory6_GetGdiInterop(IDWriteFactory6* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory6_CreateTextLayout(IDWriteFactory6* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory6_CreateGdiCompatibleTextLayout(IDWriteFactory6* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory6_CreateEllipsisTrimmingSign(IDWriteFactory6* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory6_CreateTextAnalyzer(IDWriteFactory6* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory6_CreateNumberSubstitution(IDWriteFactory6* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory6_GetEudcFontCollection(IDWriteFactory6* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory6_GetSystemFontFallback(IDWriteFactory6* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory6_CreateFontFallbackBuilder(IDWriteFactory6* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -/*** IDWriteFactory3 methods ***/ -static inline HRESULT IDWriteFactory6_CreateGlyphRunAnalysis(IDWriteFactory6* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, FLOAT origin_x, FLOAT origin_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis); -} -static inline HRESULT IDWriteFactory6_CreateCustomRenderingParams(IDWriteFactory6* This, FLOAT gamma, FLOAT enhanced_contrast, FLOAT grayscale_enhanced_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3** params) { - return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params); -} -static inline HRESULT IDWriteFactory6_CreateFontFaceReference_(IDWriteFactory6* This, IDWriteFontFile* file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference); -} -static inline HRESULT IDWriteFactory6_GetFontDownloadQueue(IDWriteFactory6* This, IDWriteFontDownloadQueue** queue) { - return This->lpVtbl->GetFontDownloadQueue(This, queue); -} -/*** IDWriteFactory4 methods ***/ -static inline HRESULT IDWriteFactory6_TranslateColorGlyphRun(IDWriteFactory6* This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, DWRITE_GLYPH_IMAGE_FORMATS desired_formats, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_MATRIX* transform, UINT32 palette, IDWriteColorGlyphRunEnumerator1** layers) { - return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers); -} -static inline HRESULT IDWriteFactory6_ComputeGlyphOrigins_(IDWriteFactory6* This, const DWRITE_GLYPH_RUN* run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins); -} -static inline HRESULT IDWriteFactory6_ComputeGlyphOrigins(IDWriteFactory6* This, const DWRITE_GLYPH_RUN* run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, const DWRITE_MATRIX* transform, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins); -} -/*** IDWriteFactory5 methods ***/ -static inline HRESULT IDWriteFactory6_CreateInMemoryFontFileLoader(IDWriteFactory6* This, IDWriteInMemoryFontFileLoader** loader) { - return This->lpVtbl->CreateInMemoryFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory6_CreateHttpFontFileLoader(IDWriteFactory6* This, const WCHAR* referrer_url, const WCHAR* extra_headers, IDWriteRemoteFontFileLoader** loader) { - return This->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader); -} -static inline DWRITE_CONTAINER_TYPE IDWriteFactory6_AnalyzeContainerType(IDWriteFactory6* This, const void* data, UINT32 data_size) { - return This->lpVtbl->AnalyzeContainerType(This, data, data_size); -} -static inline HRESULT IDWriteFactory6_UnpackFontFile(IDWriteFactory6* This, DWRITE_CONTAINER_TYPE container_type, const void* data, UINT32 data_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream); -} -/*** IDWriteFactory6 methods ***/ -static inline HRESULT IDWriteFactory6_CreateFontFaceReference(IDWriteFactory6* This, IDWriteFontFile* file, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_axis, IDWriteFontFaceReference1** face_ref) { - return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref); -} -static inline HRESULT IDWriteFactory6_CreateFontResource(IDWriteFactory6* This, IDWriteFontFile* file, UINT32 face_index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, file, face_index, resource); -} -static inline HRESULT IDWriteFactory6_GetSystemFontSet(IDWriteFactory6* This, WINBOOL include_downloadable, IDWriteFontSet1** fontset) { - return This->lpVtbl->IDWriteFactory6_GetSystemFontSet(This, include_downloadable, fontset); -} -static inline HRESULT IDWriteFactory6_GetSystemFontCollection(IDWriteFactory6* This, WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2** collection) { - return This->lpVtbl->IDWriteFactory6_GetSystemFontCollection(This, include_downloadable, family_model, collection); -} -static inline HRESULT IDWriteFactory6_CreateFontCollectionFromFontSet(IDWriteFactory6* This, IDWriteFontSet* fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2** collection) { - return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection); -} -static inline HRESULT IDWriteFactory6_CreateFontSetBuilder(IDWriteFactory6* This, IDWriteFontSetBuilder2** builder) { - return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This, builder); -} -static inline HRESULT IDWriteFactory6_CreateTextFormat(IDWriteFactory6* This, const WCHAR* familyname, IDWriteFontCollection* collection, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_axis, FLOAT fontsize, const WCHAR* localename, IDWriteTextFormat3** format) { - return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory6_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory7 interface - */ -#ifndef __IDWriteFactory7_INTERFACE_DEFINED__ -#define __IDWriteFactory7_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0, 0x16, 0xa9, 0x1b, 0x56, 0x8a, 0x06, 0xb4); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("35d0e0b3-9076-4d2e-a016-a91b568a06b4") -IDWriteFactory7 : public IDWriteFactory6 { - virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( - WINBOOL include_downloadable, - IDWriteFontSet2 * *fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSystemFontCollection( - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection3 * *collection) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0, 0x16, 0xa9, 0x1b, 0x56, 0x8a, 0x06, 0xb4) -#endif -#else -typedef struct IDWriteFactory7Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory7* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory7* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory7* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory7* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory7* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory7* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory7* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory7* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory7* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory7* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory7* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory7* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory7* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory7* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory7* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory7* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory7* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory7* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory7* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory7* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory7* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory7* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory7* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory7* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory7* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory7* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory7* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory7* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory7* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory7* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory7* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateGlyphRunAnalysis)( - IDWriteFactory7* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateCustomRenderingParams)( - IDWriteFactory7* This, - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3** params); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference_)( - IDWriteFactory7* This, - IDWriteFontFile* file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFactory7* This, - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* GetSystemFontSet)( - IDWriteFactory7* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( - IDWriteFactory7* This, - IDWriteFontSetBuilder** builder); - - HRESULT(STDMETHODCALLTYPE* CreateFontCollectionFromFontSet)( - IDWriteFactory7* This, - IDWriteFontSet* fontset, - IDWriteFontCollection1** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_GetSystemFontCollection)( - IDWriteFactory7* This, - WINBOOL include_downloadable, - IDWriteFontCollection1** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( - IDWriteFactory7* This, - IDWriteFontDownloadQueue** queue); - - /*** IDWriteFactory4 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory4_TranslateColorGlyphRun)( - IDWriteFactory7* This, - D2D1_POINT_2F baseline_origin, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1** layers); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins_)( - IDWriteFactory7* This, - const DWRITE_GLYPH_RUN* run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F* origins); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins)( - IDWriteFactory7* This, - const DWRITE_GLYPH_RUN* run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - const DWRITE_MATRIX* transform, - D2D1_POINT_2F* origins); - - /*** IDWriteFactory5 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( - IDWriteFactory7* This, - IDWriteFontSetBuilder1** fontset_builder); - - HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( - IDWriteFactory7* This, - IDWriteInMemoryFontFileLoader** loader); - - HRESULT(STDMETHODCALLTYPE* CreateHttpFontFileLoader)( - IDWriteFactory7* This, - const WCHAR* referrer_url, - const WCHAR* extra_headers, - IDWriteRemoteFontFileLoader** loader); - - DWRITE_CONTAINER_TYPE(STDMETHODCALLTYPE* AnalyzeContainerType)( - IDWriteFactory7* This, - const void* data, - UINT32 data_size); - - HRESULT(STDMETHODCALLTYPE* UnpackFontFile)( - IDWriteFactory7* This, - DWRITE_CONTAINER_TYPE container_type, - const void* data, - UINT32 data_size, - IDWriteFontFileStream** stream); - - /*** IDWriteFactory6 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontFaceReference)( - IDWriteFactory7* This, - IDWriteFontFile* file, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - IDWriteFontFaceReference1** face_ref); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFactory7* This, - IDWriteFontFile* file, - UINT32 face_index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_GetSystemFontSet)( - IDWriteFactory7* This, - WINBOOL include_downloadable, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_GetSystemFontCollection)( - IDWriteFactory7* This, - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontCollectionFromFontSet)( - IDWriteFactory7* This, - IDWriteFontSet* fontset, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontSetBuilder)( - IDWriteFactory7* This, - IDWriteFontSetBuilder2** builder); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateTextFormat)( - IDWriteFactory7* This, - const WCHAR* familyname, - IDWriteFontCollection* collection, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - FLOAT fontsize, - const WCHAR* localename, - IDWriteTextFormat3** format); - - /*** IDWriteFactory7 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory7_GetSystemFontSet)( - IDWriteFactory7* This, - WINBOOL include_downloadable, - IDWriteFontSet2** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory7_GetSystemFontCollection)( - IDWriteFactory7* This, - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection3** collection); - - END_INTERFACE -} IDWriteFactory7Vtbl; - -interface IDWriteFactory7 { - CONST_VTBL IDWriteFactory7Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory7_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory7_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory7_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory7_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory7_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory7_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory7_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory7_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory7_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory7_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory7_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory7_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory7_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory7_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory7_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory7_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory7_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory7_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory7_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory7_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory7_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory7_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory7_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -/*** IDWriteFactory3 methods ***/ -#define IDWriteFactory7_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) -#define IDWriteFactory7_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) -#define IDWriteFactory7_CreateFontFaceReference_(This, file, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference) -#define IDWriteFactory7_GetFontDownloadQueue(This, queue) (This)->lpVtbl->GetFontDownloadQueue(This, queue) -/*** IDWriteFactory4 methods ***/ -#define IDWriteFactory7_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) (This)->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers) -#define IDWriteFactory7_ComputeGlyphOrigins_(This, run, baseline_origin, origins) (This)->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins) -#define IDWriteFactory7_ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) (This)->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) -/*** IDWriteFactory5 methods ***/ -#define IDWriteFactory7_CreateInMemoryFontFileLoader(This, loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This, loader) -#define IDWriteFactory7_CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) (This)->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) -#define IDWriteFactory7_AnalyzeContainerType(This, data, data_size) (This)->lpVtbl->AnalyzeContainerType(This, data, data_size) -#define IDWriteFactory7_UnpackFontFile(This, container_type, data, data_size, stream) (This)->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream) -/*** IDWriteFactory6 methods ***/ -#define IDWriteFactory7_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref) -#define IDWriteFactory7_CreateFontResource(This, file, face_index, resource) (This)->lpVtbl->CreateFontResource(This, file, face_index, resource) -#define IDWriteFactory7_CreateFontCollectionFromFontSet(This, fontset, family_model, collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection) -#define IDWriteFactory7_CreateFontSetBuilder(This, builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This, builder) -#define IDWriteFactory7_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format) -/*** IDWriteFactory7 methods ***/ -#define IDWriteFactory7_GetSystemFontSet(This, include_downloadable, fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This, include_downloadable, fontset) -#define IDWriteFactory7_GetSystemFontCollection(This, include_downloadable, family_model, collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This, include_downloadable, family_model, collection) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory7_QueryInterface(IDWriteFactory7* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory7_AddRef(IDWriteFactory7* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory7_Release(IDWriteFactory7* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory7_CreateCustomFontCollection(IDWriteFactory7* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory7_RegisterFontCollectionLoader(IDWriteFactory7* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory7_UnregisterFontCollectionLoader(IDWriteFactory7* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory7_CreateFontFileReference(IDWriteFactory7* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory7_CreateCustomFontFileReference(IDWriteFactory7* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory7_CreateFontFace(IDWriteFactory7* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory7_CreateRenderingParams(IDWriteFactory7* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory7_CreateMonitorRenderingParams(IDWriteFactory7* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory7_RegisterFontFileLoader(IDWriteFactory7* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory7_UnregisterFontFileLoader(IDWriteFactory7* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory7_CreateTypography(IDWriteFactory7* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory7_GetGdiInterop(IDWriteFactory7* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory7_CreateTextLayout(IDWriteFactory7* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory7_CreateGdiCompatibleTextLayout(IDWriteFactory7* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory7_CreateEllipsisTrimmingSign(IDWriteFactory7* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory7_CreateTextAnalyzer(IDWriteFactory7* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory7_CreateNumberSubstitution(IDWriteFactory7* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory7_GetEudcFontCollection(IDWriteFactory7* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory7_GetSystemFontFallback(IDWriteFactory7* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory7_CreateFontFallbackBuilder(IDWriteFactory7* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -/*** IDWriteFactory3 methods ***/ -static inline HRESULT IDWriteFactory7_CreateGlyphRunAnalysis(IDWriteFactory7* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, FLOAT origin_x, FLOAT origin_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis); -} -static inline HRESULT IDWriteFactory7_CreateCustomRenderingParams(IDWriteFactory7* This, FLOAT gamma, FLOAT enhanced_contrast, FLOAT grayscale_enhanced_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3** params) { - return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params); -} -static inline HRESULT IDWriteFactory7_CreateFontFaceReference_(IDWriteFactory7* This, IDWriteFontFile* file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference); -} -static inline HRESULT IDWriteFactory7_GetFontDownloadQueue(IDWriteFactory7* This, IDWriteFontDownloadQueue** queue) { - return This->lpVtbl->GetFontDownloadQueue(This, queue); -} -/*** IDWriteFactory4 methods ***/ -static inline HRESULT IDWriteFactory7_TranslateColorGlyphRun(IDWriteFactory7* This, D2D1_POINT_2F baseline_origin, const DWRITE_GLYPH_RUN* run, const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, DWRITE_GLYPH_IMAGE_FORMATS desired_formats, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_MATRIX* transform, UINT32 palette, IDWriteColorGlyphRunEnumerator1** layers) { - return This->lpVtbl->IDWriteFactory4_TranslateColorGlyphRun(This, baseline_origin, run, run_desc, desired_formats, measuring_mode, transform, palette, layers); -} -static inline HRESULT IDWriteFactory7_ComputeGlyphOrigins_(IDWriteFactory7* This, const DWRITE_GLYPH_RUN* run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins); -} -static inline HRESULT IDWriteFactory7_ComputeGlyphOrigins(IDWriteFactory7* This, const DWRITE_GLYPH_RUN* run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, const DWRITE_MATRIX* transform, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins); -} -/*** IDWriteFactory5 methods ***/ -static inline HRESULT IDWriteFactory7_CreateInMemoryFontFileLoader(IDWriteFactory7* This, IDWriteInMemoryFontFileLoader** loader) { - return This->lpVtbl->CreateInMemoryFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory7_CreateHttpFontFileLoader(IDWriteFactory7* This, const WCHAR* referrer_url, const WCHAR* extra_headers, IDWriteRemoteFontFileLoader** loader) { - return This->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader); -} -static inline DWRITE_CONTAINER_TYPE IDWriteFactory7_AnalyzeContainerType(IDWriteFactory7* This, const void* data, UINT32 data_size) { - return This->lpVtbl->AnalyzeContainerType(This, data, data_size); -} -static inline HRESULT IDWriteFactory7_UnpackFontFile(IDWriteFactory7* This, DWRITE_CONTAINER_TYPE container_type, const void* data, UINT32 data_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream); -} -/*** IDWriteFactory6 methods ***/ -static inline HRESULT IDWriteFactory7_CreateFontFaceReference(IDWriteFactory7* This, IDWriteFontFile* file, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_axis, IDWriteFontFaceReference1** face_ref) { - return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref); -} -static inline HRESULT IDWriteFactory7_CreateFontResource(IDWriteFactory7* This, IDWriteFontFile* file, UINT32 face_index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, file, face_index, resource); -} -static inline HRESULT IDWriteFactory7_CreateFontCollectionFromFontSet(IDWriteFactory7* This, IDWriteFontSet* fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2** collection) { - return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection); -} -static inline HRESULT IDWriteFactory7_CreateFontSetBuilder(IDWriteFactory7* This, IDWriteFontSetBuilder2** builder) { - return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This, builder); -} -static inline HRESULT IDWriteFactory7_CreateTextFormat(IDWriteFactory7* This, const WCHAR* familyname, IDWriteFontCollection* collection, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_axis, FLOAT fontsize, const WCHAR* localename, IDWriteTextFormat3** format) { - return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format); -} -/*** IDWriteFactory7 methods ***/ -static inline HRESULT IDWriteFactory7_GetSystemFontSet(IDWriteFactory7* This, WINBOOL include_downloadable, IDWriteFontSet2** fontset) { - return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This, include_downloadable, fontset); -} -static inline HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* This, WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection3** collection) { - return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This, include_downloadable, family_model, collection); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteFactory8 interface - */ -#ifndef __IDWriteFactory8_INTERFACE_DEFINED__ -#define __IDWriteFactory8_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4, 0x54, 0xc9, 0xc7, 0xdc, 0x87, 0x83, 0x98); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("ee0a7fb5-def4-4c23-a454-c9c7dc878398") -IDWriteFactory8 : public IDWriteFactory7 { - virtual HRESULT STDMETHODCALLTYPE TranslateColorGlyphRun( - D2D1_POINT_2F origin, - const DWRITE_GLYPH_RUN* glyph_run, - const DWRITE_GLYPH_RUN_DESCRIPTION* glyph_run_desc, - DWRITE_GLYPH_IMAGE_FORMATS image_formats, - DWRITE_PAINT_FEATURE_LEVEL feature_level, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* world_and_dpi_transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator1** enumerator) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4, 0x54, 0xc9, 0xc7, 0xdc, 0x87, 0x83, 0x98) -#endif -#else -typedef struct IDWriteFactory8Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteFactory8* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteFactory8* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteFactory8* This); - - /*** IDWriteFactory methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontCollection)( - IDWriteFactory8* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontCollection)( - IDWriteFactory8* This, - IDWriteFontCollectionLoader* loader, - const void* key, - UINT32 key_size, - IDWriteFontCollection** collection); - - HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( - IDWriteFactory8* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontCollectionLoader)( - IDWriteFactory8* This, - IDWriteFontCollectionLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateFontFileReference)( - IDWriteFactory8* This, - const WCHAR* path, - const FILETIME* writetime, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateCustomFontFileReference)( - IDWriteFactory8* This, - const void* reference_key, - UINT32 key_size, - IDWriteFontFileLoader* loader, - IDWriteFontFile** font_file); - - HRESULT(STDMETHODCALLTYPE* CreateFontFace)( - IDWriteFactory8* This, - DWRITE_FONT_FACE_TYPE facetype, - UINT32 files_number, - IDWriteFontFile* const* font_files, - UINT32 index, - DWRITE_FONT_SIMULATIONS sim_flags, - IDWriteFontFace** font_face); - - HRESULT(STDMETHODCALLTYPE* CreateRenderingParams)( - IDWriteFactory8* This, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateMonitorRenderingParams)( - IDWriteFactory8* This, - HMONITOR monitor, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* CreateCustomRenderingParams)( - IDWriteFactory8* This, - FLOAT gamma, - FLOAT enhancedContrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams** params); - - HRESULT(STDMETHODCALLTYPE* RegisterFontFileLoader)( - IDWriteFactory8* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* UnregisterFontFileLoader)( - IDWriteFactory8* This, - IDWriteFontFileLoader* loader); - - HRESULT(STDMETHODCALLTYPE* CreateTextFormat)( - IDWriteFactory8* This, - const WCHAR* family_name, - IDWriteFontCollection* collection, - DWRITE_FONT_WEIGHT weight, - DWRITE_FONT_STYLE style, - DWRITE_FONT_STRETCH stretch, - FLOAT size, - const WCHAR* locale, - IDWriteTextFormat** format); - - HRESULT(STDMETHODCALLTYPE* CreateTypography)( - IDWriteFactory8* This, - IDWriteTypography** typography); - - HRESULT(STDMETHODCALLTYPE* GetGdiInterop)( - IDWriteFactory8* This, - IDWriteGdiInterop** gdi_interop); - - HRESULT(STDMETHODCALLTYPE* CreateTextLayout)( - IDWriteFactory8* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT max_width, - FLOAT max_height, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateGdiCompatibleTextLayout)( - IDWriteFactory8* This, - const WCHAR* string, - UINT32 len, - IDWriteTextFormat* format, - FLOAT layout_width, - FLOAT layout_height, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - WINBOOL use_gdi_natural, - IDWriteTextLayout** layout); - - HRESULT(STDMETHODCALLTYPE* CreateEllipsisTrimmingSign)( - IDWriteFactory8* This, - IDWriteTextFormat* format, - IDWriteInlineObject** trimming_sign); - - HRESULT(STDMETHODCALLTYPE* CreateTextAnalyzer)( - IDWriteFactory8* This, - IDWriteTextAnalyzer** analyzer); - - HRESULT(STDMETHODCALLTYPE* CreateNumberSubstitution)( - IDWriteFactory8* This, - DWRITE_NUMBER_SUBSTITUTION_METHOD method, - const WCHAR* locale, - WINBOOL ignore_user_override, - IDWriteNumberSubstitution** substitution); - - HRESULT(STDMETHODCALLTYPE* CreateGlyphRunAnalysis)( - IDWriteFactory8* This, - const DWRITE_GLYPH_RUN* glyph_run, - FLOAT pixels_per_dip, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - FLOAT baseline_x, - FLOAT baseline_y, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory1 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetEudcFontCollection)( - IDWriteFactory8* This, - IDWriteFontCollection** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory1_CreateCustomRenderingParams)( - IDWriteFactory8* This, - FLOAT gamma, - FLOAT enhcontrast, - FLOAT enhcontrast_grayscale, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY geometry, - DWRITE_RENDERING_MODE mode, - IDWriteRenderingParams1** params); - - /*** IDWriteFactory2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( - IDWriteFactory8* This, - IDWriteFontFallback** fallback); - - HRESULT(STDMETHODCALLTYPE* CreateFontFallbackBuilder)( - IDWriteFactory8* This, - IDWriteFontFallbackBuilder** fallbackbuilder); - - HRESULT(STDMETHODCALLTYPE* TranslateColorGlyphRun)( - IDWriteFactory8* This, - FLOAT originX, - FLOAT originY, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* rundescr, - DWRITE_MEASURING_MODE mode, - const DWRITE_MATRIX* transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator** colorlayers); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateCustomRenderingParams)( - IDWriteFactory8* This, - FLOAT gamma, - FLOAT contrast, - FLOAT grayscalecontrast, - FLOAT cleartypeLevel, - DWRITE_PIXEL_GEOMETRY pixelGeometry, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_GRID_FIT_MODE gridFitMode, - IDWriteRenderingParams2** params); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory2_CreateGlyphRunAnalysis)( - IDWriteFactory8* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE renderingMode, - DWRITE_MEASURING_MODE measuringMode, - DWRITE_GRID_FIT_MODE gridFitMode, - DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, - FLOAT originX, - FLOAT originY, - IDWriteGlyphRunAnalysis** analysis); - - /*** IDWriteFactory3 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateGlyphRunAnalysis)( - IDWriteFactory8* This, - const DWRITE_GLYPH_RUN* run, - const DWRITE_MATRIX* transform, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_MEASURING_MODE measuring_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, - FLOAT origin_x, - FLOAT origin_y, - IDWriteGlyphRunAnalysis** analysis); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_CreateCustomRenderingParams)( - IDWriteFactory8* This, - FLOAT gamma, - FLOAT enhanced_contrast, - FLOAT grayscale_enhanced_contrast, - FLOAT cleartype_level, - DWRITE_PIXEL_GEOMETRY pixel_geometry, - DWRITE_RENDERING_MODE1 rendering_mode, - DWRITE_GRID_FIT_MODE gridfit_mode, - IDWriteRenderingParams3** params); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference_)( - IDWriteFactory8* This, - IDWriteFontFile* file, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( - IDWriteFactory8* This, - const WCHAR* path, - const FILETIME* writetime, - UINT32 index, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFaceReference** reference); - - HRESULT(STDMETHODCALLTYPE* GetSystemFontSet)( - IDWriteFactory8* This, - IDWriteFontSet** fontset); - - HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( - IDWriteFactory8* This, - IDWriteFontSetBuilder** builder); - - HRESULT(STDMETHODCALLTYPE* CreateFontCollectionFromFontSet)( - IDWriteFactory8* This, - IDWriteFontSet* fontset, - IDWriteFontCollection1** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory3_GetSystemFontCollection)( - IDWriteFactory8* This, - WINBOOL include_downloadable, - IDWriteFontCollection1** collection, - WINBOOL check_for_updates); - - HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( - IDWriteFactory8* This, - IDWriteFontDownloadQueue** queue); - - /*** IDWriteFactory4 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory4_TranslateColorGlyphRun)( - IDWriteFactory8* This, - D2D1_POINT_2F baseline_origin, - const DWRITE_GLYPH_RUN* run, - const DWRITE_GLYPH_RUN_DESCRIPTION* run_desc, - DWRITE_GLYPH_IMAGE_FORMATS desired_formats, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* transform, - UINT32 palette, - IDWriteColorGlyphRunEnumerator1** layers); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins_)( - IDWriteFactory8* This, - const DWRITE_GLYPH_RUN* run, - D2D1_POINT_2F baseline_origin, - D2D1_POINT_2F* origins); - - HRESULT(STDMETHODCALLTYPE* ComputeGlyphOrigins)( - IDWriteFactory8* This, - const DWRITE_GLYPH_RUN* run, - DWRITE_MEASURING_MODE measuring_mode, - D2D1_POINT_2F baseline_origin, - const DWRITE_MATRIX* transform, - D2D1_POINT_2F* origins); - - /*** IDWriteFactory5 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( - IDWriteFactory8* This, - IDWriteFontSetBuilder1** fontset_builder); - - HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( - IDWriteFactory8* This, - IDWriteInMemoryFontFileLoader** loader); - - HRESULT(STDMETHODCALLTYPE* CreateHttpFontFileLoader)( - IDWriteFactory8* This, - const WCHAR* referrer_url, - const WCHAR* extra_headers, - IDWriteRemoteFontFileLoader** loader); - - DWRITE_CONTAINER_TYPE(STDMETHODCALLTYPE* AnalyzeContainerType)( - IDWriteFactory8* This, - const void* data, - UINT32 data_size); - - HRESULT(STDMETHODCALLTYPE* UnpackFontFile)( - IDWriteFactory8* This, - DWRITE_CONTAINER_TYPE container_type, - const void* data, - UINT32 data_size, - IDWriteFontFileStream** stream); - - /*** IDWriteFactory6 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontFaceReference)( - IDWriteFactory8* This, - IDWriteFontFile* file, - UINT32 face_index, - DWRITE_FONT_SIMULATIONS simulations, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - IDWriteFontFaceReference1** face_ref); - - HRESULT(STDMETHODCALLTYPE* CreateFontResource)( - IDWriteFactory8* This, - IDWriteFontFile* file, - UINT32 face_index, - IDWriteFontResource** resource); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_GetSystemFontSet)( - IDWriteFactory8* This, - WINBOOL include_downloadable, - IDWriteFontSet1** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_GetSystemFontCollection)( - IDWriteFactory8* This, - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontCollectionFromFontSet)( - IDWriteFactory8* This, - IDWriteFontSet* fontset, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection2** collection); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateFontSetBuilder)( - IDWriteFactory8* This, - IDWriteFontSetBuilder2** builder); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory6_CreateTextFormat)( - IDWriteFactory8* This, - const WCHAR* familyname, - IDWriteFontCollection* collection, - const DWRITE_FONT_AXIS_VALUE* axis_values, - UINT32 num_axis, - FLOAT fontsize, - const WCHAR* localename, - IDWriteTextFormat3** format); - - /*** IDWriteFactory7 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory7_GetSystemFontSet)( - IDWriteFactory8* This, - WINBOOL include_downloadable, - IDWriteFontSet2** fontset); - - HRESULT(STDMETHODCALLTYPE* IDWriteFactory7_GetSystemFontCollection)( - IDWriteFactory8* This, - WINBOOL include_downloadable, - DWRITE_FONT_FAMILY_MODEL family_model, - IDWriteFontCollection3** collection); - - /*** IDWriteFactory8 methods ***/ - HRESULT(STDMETHODCALLTYPE* IDWriteFactory8_TranslateColorGlyphRun)( - IDWriteFactory8* This, - D2D1_POINT_2F origin, - const DWRITE_GLYPH_RUN* glyph_run, - const DWRITE_GLYPH_RUN_DESCRIPTION* glyph_run_desc, - DWRITE_GLYPH_IMAGE_FORMATS image_formats, - DWRITE_PAINT_FEATURE_LEVEL feature_level, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_MATRIX* world_and_dpi_transform, - UINT32 palette_index, - IDWriteColorGlyphRunEnumerator1** enumerator); - - END_INTERFACE -} IDWriteFactory8Vtbl; - -interface IDWriteFactory8 { - CONST_VTBL IDWriteFactory8Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteFactory8_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteFactory8_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteFactory8_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteFactory methods ***/ -#define IDWriteFactory8_CreateCustomFontCollection(This, loader, key, key_size, collection) (This)->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection) -#define IDWriteFactory8_RegisterFontCollectionLoader(This, loader) (This)->lpVtbl->RegisterFontCollectionLoader(This, loader) -#define IDWriteFactory8_UnregisterFontCollectionLoader(This, loader) (This)->lpVtbl->UnregisterFontCollectionLoader(This, loader) -#define IDWriteFactory8_CreateFontFileReference(This, path, writetime, font_file) (This)->lpVtbl->CreateFontFileReference(This, path, writetime, font_file) -#define IDWriteFactory8_CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) (This)->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file) -#define IDWriteFactory8_CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) (This)->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face) -#define IDWriteFactory8_CreateRenderingParams(This, params) (This)->lpVtbl->CreateRenderingParams(This, params) -#define IDWriteFactory8_CreateMonitorRenderingParams(This, monitor, params) (This)->lpVtbl->CreateMonitorRenderingParams(This, monitor, params) -#define IDWriteFactory8_RegisterFontFileLoader(This, loader) (This)->lpVtbl->RegisterFontFileLoader(This, loader) -#define IDWriteFactory8_UnregisterFontFileLoader(This, loader) (This)->lpVtbl->UnregisterFontFileLoader(This, loader) -#define IDWriteFactory8_CreateTypography(This, typography) (This)->lpVtbl->CreateTypography(This, typography) -#define IDWriteFactory8_GetGdiInterop(This, gdi_interop) (This)->lpVtbl->GetGdiInterop(This, gdi_interop) -#define IDWriteFactory8_CreateTextLayout(This, string, len, format, max_width, max_height, layout) (This)->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout) -#define IDWriteFactory8_CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) (This)->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout) -#define IDWriteFactory8_CreateEllipsisTrimmingSign(This, format, trimming_sign) (This)->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign) -#define IDWriteFactory8_CreateTextAnalyzer(This, analyzer) (This)->lpVtbl->CreateTextAnalyzer(This, analyzer) -#define IDWriteFactory8_CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) (This)->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution) -/*** IDWriteFactory1 methods ***/ -#define IDWriteFactory8_GetEudcFontCollection(This, collection, check_for_updates) (This)->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates) -/*** IDWriteFactory2 methods ***/ -#define IDWriteFactory8_GetSystemFontFallback(This, fallback) (This)->lpVtbl->GetSystemFontFallback(This, fallback) -#define IDWriteFactory8_CreateFontFallbackBuilder(This, fallbackbuilder) (This)->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder) -/*** IDWriteFactory3 methods ***/ -#define IDWriteFactory8_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) (This)->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis) -#define IDWriteFactory8_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) (This)->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params) -#define IDWriteFactory8_CreateFontFaceReference_(This, file, index, simulations, reference) (This)->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference) -#define IDWriteFactory8_GetFontDownloadQueue(This, queue) (This)->lpVtbl->GetFontDownloadQueue(This, queue) -/*** IDWriteFactory4 methods ***/ -#define IDWriteFactory8_ComputeGlyphOrigins_(This, run, baseline_origin, origins) (This)->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins) -#define IDWriteFactory8_ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) (This)->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins) -/*** IDWriteFactory5 methods ***/ -#define IDWriteFactory8_CreateInMemoryFontFileLoader(This, loader) (This)->lpVtbl->CreateInMemoryFontFileLoader(This, loader) -#define IDWriteFactory8_CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) (This)->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader) -#define IDWriteFactory8_AnalyzeContainerType(This, data, data_size) (This)->lpVtbl->AnalyzeContainerType(This, data, data_size) -#define IDWriteFactory8_UnpackFontFile(This, container_type, data, data_size, stream) (This)->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream) -/*** IDWriteFactory6 methods ***/ -#define IDWriteFactory8_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref) (This)->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref) -#define IDWriteFactory8_CreateFontResource(This, file, face_index, resource) (This)->lpVtbl->CreateFontResource(This, file, face_index, resource) -#define IDWriteFactory8_CreateFontCollectionFromFontSet(This, fontset, family_model, collection) (This)->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection) -#define IDWriteFactory8_CreateFontSetBuilder(This, builder) (This)->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This, builder) -#define IDWriteFactory8_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format) (This)->lpVtbl->IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format) -/*** IDWriteFactory7 methods ***/ -#define IDWriteFactory8_GetSystemFontSet(This, include_downloadable, fontset) (This)->lpVtbl->IDWriteFactory7_GetSystemFontSet(This, include_downloadable, fontset) -#define IDWriteFactory8_GetSystemFontCollection(This, include_downloadable, family_model, collection) (This)->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This, include_downloadable, family_model, collection) -/*** IDWriteFactory8 methods ***/ -#define IDWriteFactory8_TranslateColorGlyphRun(This, origin, glyph_run, glyph_run_desc, image_formats, feature_level, measuring_mode, world_and_dpi_transform, palette_index, enumerator) (This)->lpVtbl->IDWriteFactory8_TranslateColorGlyphRun(This, origin, glyph_run, glyph_run_desc, image_formats, feature_level, measuring_mode, world_and_dpi_transform, palette_index, enumerator) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteFactory8_QueryInterface(IDWriteFactory8* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteFactory8_AddRef(IDWriteFactory8* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteFactory8_Release(IDWriteFactory8* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteFactory methods ***/ -static inline HRESULT IDWriteFactory8_CreateCustomFontCollection(IDWriteFactory8* This, IDWriteFontCollectionLoader* loader, const void* key, UINT32 key_size, IDWriteFontCollection** collection) { - return This->lpVtbl->CreateCustomFontCollection(This, loader, key, key_size, collection); -} -static inline HRESULT IDWriteFactory8_RegisterFontCollectionLoader(IDWriteFactory8* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->RegisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory8_UnregisterFontCollectionLoader(IDWriteFactory8* This, IDWriteFontCollectionLoader* loader) { - return This->lpVtbl->UnregisterFontCollectionLoader(This, loader); -} -static inline HRESULT IDWriteFactory8_CreateFontFileReference(IDWriteFactory8* This, const WCHAR* path, const FILETIME* writetime, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateFontFileReference(This, path, writetime, font_file); -} -static inline HRESULT IDWriteFactory8_CreateCustomFontFileReference(IDWriteFactory8* This, const void* reference_key, UINT32 key_size, IDWriteFontFileLoader* loader, IDWriteFontFile** font_file) { - return This->lpVtbl->CreateCustomFontFileReference(This, reference_key, key_size, loader, font_file); -} -static inline HRESULT IDWriteFactory8_CreateFontFace(IDWriteFactory8* This, DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* font_files, UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace** font_face) { - return This->lpVtbl->CreateFontFace(This, facetype, files_number, font_files, index, sim_flags, font_face); -} -static inline HRESULT IDWriteFactory8_CreateRenderingParams(IDWriteFactory8* This, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateRenderingParams(This, params); -} -static inline HRESULT IDWriteFactory8_CreateMonitorRenderingParams(IDWriteFactory8* This, HMONITOR monitor, IDWriteRenderingParams** params) { - return This->lpVtbl->CreateMonitorRenderingParams(This, monitor, params); -} -static inline HRESULT IDWriteFactory8_RegisterFontFileLoader(IDWriteFactory8* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->RegisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory8_UnregisterFontFileLoader(IDWriteFactory8* This, IDWriteFontFileLoader* loader) { - return This->lpVtbl->UnregisterFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory8_CreateTypography(IDWriteFactory8* This, IDWriteTypography** typography) { - return This->lpVtbl->CreateTypography(This, typography); -} -static inline HRESULT IDWriteFactory8_GetGdiInterop(IDWriteFactory8* This, IDWriteGdiInterop** gdi_interop) { - return This->lpVtbl->GetGdiInterop(This, gdi_interop); -} -static inline HRESULT IDWriteFactory8_CreateTextLayout(IDWriteFactory8* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateTextLayout(This, string, len, format, max_width, max_height, layout); -} -static inline HRESULT IDWriteFactory8_CreateGdiCompatibleTextLayout(IDWriteFactory8* This, const WCHAR* string, UINT32 len, IDWriteTextFormat* format, FLOAT layout_width, FLOAT layout_height, FLOAT pixels_per_dip, const DWRITE_MATRIX* transform, WINBOOL use_gdi_natural, IDWriteTextLayout** layout) { - return This->lpVtbl->CreateGdiCompatibleTextLayout(This, string, len, format, layout_width, layout_height, pixels_per_dip, transform, use_gdi_natural, layout); -} -static inline HRESULT IDWriteFactory8_CreateEllipsisTrimmingSign(IDWriteFactory8* This, IDWriteTextFormat* format, IDWriteInlineObject** trimming_sign) { - return This->lpVtbl->CreateEllipsisTrimmingSign(This, format, trimming_sign); -} -static inline HRESULT IDWriteFactory8_CreateTextAnalyzer(IDWriteFactory8* This, IDWriteTextAnalyzer** analyzer) { - return This->lpVtbl->CreateTextAnalyzer(This, analyzer); -} -static inline HRESULT IDWriteFactory8_CreateNumberSubstitution(IDWriteFactory8* This, DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR* locale, WINBOOL ignore_user_override, IDWriteNumberSubstitution** substitution) { - return This->lpVtbl->CreateNumberSubstitution(This, method, locale, ignore_user_override, substitution); -} -/*** IDWriteFactory1 methods ***/ -static inline HRESULT IDWriteFactory8_GetEudcFontCollection(IDWriteFactory8* This, IDWriteFontCollection** collection, WINBOOL check_for_updates) { - return This->lpVtbl->GetEudcFontCollection(This, collection, check_for_updates); -} -/*** IDWriteFactory2 methods ***/ -static inline HRESULT IDWriteFactory8_GetSystemFontFallback(IDWriteFactory8* This, IDWriteFontFallback** fallback) { - return This->lpVtbl->GetSystemFontFallback(This, fallback); -} -static inline HRESULT IDWriteFactory8_CreateFontFallbackBuilder(IDWriteFactory8* This, IDWriteFontFallbackBuilder** fallbackbuilder) { - return This->lpVtbl->CreateFontFallbackBuilder(This, fallbackbuilder); -} -/*** IDWriteFactory3 methods ***/ -static inline HRESULT IDWriteFactory8_CreateGlyphRunAnalysis(IDWriteFactory8* This, const DWRITE_GLYPH_RUN* run, const DWRITE_MATRIX* transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE antialias_mode, FLOAT origin_x, FLOAT origin_y, IDWriteGlyphRunAnalysis** analysis) { - return This->lpVtbl->IDWriteFactory3_CreateGlyphRunAnalysis(This, run, transform, rendering_mode, measuring_mode, gridfit_mode, antialias_mode, origin_x, origin_y, analysis); -} -static inline HRESULT IDWriteFactory8_CreateCustomRenderingParams(IDWriteFactory8* This, FLOAT gamma, FLOAT enhanced_contrast, FLOAT grayscale_enhanced_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3** params) { - return This->lpVtbl->IDWriteFactory3_CreateCustomRenderingParams(This, gamma, enhanced_contrast, grayscale_enhanced_contrast, cleartype_level, pixel_geometry, rendering_mode, gridfit_mode, params); -} -static inline HRESULT IDWriteFactory8_CreateFontFaceReference_(IDWriteFactory8* This, IDWriteFontFile* file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference** reference) { - return This->lpVtbl->CreateFontFaceReference_(This, file, index, simulations, reference); -} -static inline HRESULT IDWriteFactory8_GetFontDownloadQueue(IDWriteFactory8* This, IDWriteFontDownloadQueue** queue) { - return This->lpVtbl->GetFontDownloadQueue(This, queue); -} -/*** IDWriteFactory4 methods ***/ -static inline HRESULT IDWriteFactory8_ComputeGlyphOrigins_(IDWriteFactory8* This, const DWRITE_GLYPH_RUN* run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins_(This, run, baseline_origin, origins); -} -static inline HRESULT IDWriteFactory8_ComputeGlyphOrigins(IDWriteFactory8* This, const DWRITE_GLYPH_RUN* run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, const DWRITE_MATRIX* transform, D2D1_POINT_2F* origins) { - return This->lpVtbl->ComputeGlyphOrigins(This, run, measuring_mode, baseline_origin, transform, origins); -} -/*** IDWriteFactory5 methods ***/ -static inline HRESULT IDWriteFactory8_CreateInMemoryFontFileLoader(IDWriteFactory8* This, IDWriteInMemoryFontFileLoader** loader) { - return This->lpVtbl->CreateInMemoryFontFileLoader(This, loader); -} -static inline HRESULT IDWriteFactory8_CreateHttpFontFileLoader(IDWriteFactory8* This, const WCHAR* referrer_url, const WCHAR* extra_headers, IDWriteRemoteFontFileLoader** loader) { - return This->lpVtbl->CreateHttpFontFileLoader(This, referrer_url, extra_headers, loader); -} -static inline DWRITE_CONTAINER_TYPE IDWriteFactory8_AnalyzeContainerType(IDWriteFactory8* This, const void* data, UINT32 data_size) { - return This->lpVtbl->AnalyzeContainerType(This, data, data_size); -} -static inline HRESULT IDWriteFactory8_UnpackFontFile(IDWriteFactory8* This, DWRITE_CONTAINER_TYPE container_type, const void* data, UINT32 data_size, IDWriteFontFileStream** stream) { - return This->lpVtbl->UnpackFontFile(This, container_type, data, data_size, stream); -} -/*** IDWriteFactory6 methods ***/ -static inline HRESULT IDWriteFactory8_CreateFontFaceReference(IDWriteFactory8* This, IDWriteFontFile* file, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_axis, IDWriteFontFaceReference1** face_ref) { - return This->lpVtbl->IDWriteFactory6_CreateFontFaceReference(This, file, face_index, simulations, axis_values, num_axis, face_ref); -} -static inline HRESULT IDWriteFactory8_CreateFontResource(IDWriteFactory8* This, IDWriteFontFile* file, UINT32 face_index, IDWriteFontResource** resource) { - return This->lpVtbl->CreateFontResource(This, file, face_index, resource); -} -static inline HRESULT IDWriteFactory8_CreateFontCollectionFromFontSet(IDWriteFactory8* This, IDWriteFontSet* fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2** collection) { - return This->lpVtbl->IDWriteFactory6_CreateFontCollectionFromFontSet(This, fontset, family_model, collection); -} -static inline HRESULT IDWriteFactory8_CreateFontSetBuilder(IDWriteFactory8* This, IDWriteFontSetBuilder2** builder) { - return This->lpVtbl->IDWriteFactory6_CreateFontSetBuilder(This, builder); -} -static inline HRESULT IDWriteFactory8_CreateTextFormat(IDWriteFactory8* This, const WCHAR* familyname, IDWriteFontCollection* collection, const DWRITE_FONT_AXIS_VALUE* axis_values, UINT32 num_axis, FLOAT fontsize, const WCHAR* localename, IDWriteTextFormat3** format) { - return This->lpVtbl->IDWriteFactory6_CreateTextFormat(This, familyname, collection, axis_values, num_axis, fontsize, localename, format); -} -/*** IDWriteFactory7 methods ***/ -static inline HRESULT IDWriteFactory8_GetSystemFontSet(IDWriteFactory8* This, WINBOOL include_downloadable, IDWriteFontSet2** fontset) { - return This->lpVtbl->IDWriteFactory7_GetSystemFontSet(This, include_downloadable, fontset); -} -static inline HRESULT IDWriteFactory8_GetSystemFontCollection(IDWriteFactory8* This, WINBOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection3** collection) { - return This->lpVtbl->IDWriteFactory7_GetSystemFontCollection(This, include_downloadable, family_model, collection); -} -/*** IDWriteFactory8 methods ***/ -static inline HRESULT IDWriteFactory8_TranslateColorGlyphRun(IDWriteFactory8* This, D2D1_POINT_2F origin, const DWRITE_GLYPH_RUN* glyph_run, const DWRITE_GLYPH_RUN_DESCRIPTION* glyph_run_desc, DWRITE_GLYPH_IMAGE_FORMATS image_formats, DWRITE_PAINT_FEATURE_LEVEL feature_level, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_MATRIX* world_and_dpi_transform, UINT32 palette_index, IDWriteColorGlyphRunEnumerator1** enumerator) { - return This->lpVtbl->IDWriteFactory8_TranslateColorGlyphRun(This, origin, glyph_run, glyph_run_desc, image_formats, feature_level, measuring_mode, world_and_dpi_transform, palette_index, enumerator); -} -#endif -#endif - -#endif - -#endif /* __IDWriteFactory8_INTERFACE_DEFINED__ */ - -typedef struct DWRITE_BITMAP_DATA_BGRA32 { - UINT32 width; - UINT32 height; - UINT32* pixels; -} DWRITE_BITMAP_DATA_BGRA32; -/***************************************************************************** - * IDWriteBitmapRenderTarget2 interface - */ -#ifndef __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ -#define __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6, 0x6e, 0xb8, 0xb9, 0xed, 0x6c, 0x39, 0x95); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("c553a742-fc01-44da-a66e-b8b9ed6c3995") -IDWriteBitmapRenderTarget2 : public IDWriteBitmapRenderTarget1 { - virtual HRESULT STDMETHODCALLTYPE GetBitmapData( - DWRITE_BITMAP_DATA_BGRA32 * bitmap_data) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6, 0x6e, 0xb8, 0xb9, 0xed, 0x6c, 0x39, 0x95) -#endif -#else -typedef struct IDWriteBitmapRenderTarget2Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteBitmapRenderTarget2* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteBitmapRenderTarget2* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteBitmapRenderTarget2* This); - - /*** IDWriteBitmapRenderTarget methods ***/ - HRESULT(STDMETHODCALLTYPE* DrawGlyphRun)( - IDWriteBitmapRenderTarget2* This, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* glyph_run, - IDWriteRenderingParams* params, - COLORREF textColor, - RECT* blackbox_rect); - - HDC(STDMETHODCALLTYPE* GetMemoryDC)( - IDWriteBitmapRenderTarget2* This); - - FLOAT(STDMETHODCALLTYPE* GetPixelsPerDip)( - IDWriteBitmapRenderTarget2* This); - - HRESULT(STDMETHODCALLTYPE* SetPixelsPerDip)( - IDWriteBitmapRenderTarget2* This, - FLOAT pixels_per_dip); - - HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( - IDWriteBitmapRenderTarget2* This, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* SetCurrentTransform)( - IDWriteBitmapRenderTarget2* This, - const DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetSize)( - IDWriteBitmapRenderTarget2* This, - SIZE* size); - - HRESULT(STDMETHODCALLTYPE* Resize)( - IDWriteBitmapRenderTarget2* This, - UINT32 width, - UINT32 height); - - /*** IDWriteBitmapRenderTarget1 methods ***/ - DWRITE_TEXT_ANTIALIAS_MODE(STDMETHODCALLTYPE* GetTextAntialiasMode)( - IDWriteBitmapRenderTarget2* This); - - HRESULT(STDMETHODCALLTYPE* SetTextAntialiasMode)( - IDWriteBitmapRenderTarget2* This, - DWRITE_TEXT_ANTIALIAS_MODE mode); - - /*** IDWriteBitmapRenderTarget2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetBitmapData)( - IDWriteBitmapRenderTarget2* This, - DWRITE_BITMAP_DATA_BGRA32* bitmap_data); - - END_INTERFACE -} IDWriteBitmapRenderTarget2Vtbl; - -interface IDWriteBitmapRenderTarget2 { - CONST_VTBL IDWriteBitmapRenderTarget2Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteBitmapRenderTarget2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteBitmapRenderTarget2_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteBitmapRenderTarget2_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteBitmapRenderTarget methods ***/ -#define IDWriteBitmapRenderTarget2_DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect) -#define IDWriteBitmapRenderTarget2_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) -#define IDWriteBitmapRenderTarget2_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) -#define IDWriteBitmapRenderTarget2_SetPixelsPerDip(This, pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This, pixels_per_dip) -#define IDWriteBitmapRenderTarget2_GetCurrentTransform(This, transform) (This)->lpVtbl->GetCurrentTransform(This, transform) -#define IDWriteBitmapRenderTarget2_SetCurrentTransform(This, transform) (This)->lpVtbl->SetCurrentTransform(This, transform) -#define IDWriteBitmapRenderTarget2_GetSize(This, size) (This)->lpVtbl->GetSize(This, size) -#define IDWriteBitmapRenderTarget2_Resize(This, width, height) (This)->lpVtbl->Resize(This, width, height) -/*** IDWriteBitmapRenderTarget1 methods ***/ -#define IDWriteBitmapRenderTarget2_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) -#define IDWriteBitmapRenderTarget2_SetTextAntialiasMode(This, mode) (This)->lpVtbl->SetTextAntialiasMode(This, mode) -/*** IDWriteBitmapRenderTarget2 methods ***/ -#define IDWriteBitmapRenderTarget2_GetBitmapData(This, bitmap_data) (This)->lpVtbl->GetBitmapData(This, bitmap_data) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget2_QueryInterface(IDWriteBitmapRenderTarget2* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteBitmapRenderTarget2_AddRef(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteBitmapRenderTarget2_Release(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteBitmapRenderTarget methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget2_DrawGlyphRun(IDWriteBitmapRenderTarget2* This, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_GLYPH_RUN* glyph_run, IDWriteRenderingParams* params, COLORREF textColor, RECT* blackbox_rect) { - return This->lpVtbl->DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect); -} -static inline HDC IDWriteBitmapRenderTarget2_GetMemoryDC(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->GetMemoryDC(This); -} -static inline FLOAT IDWriteBitmapRenderTarget2_GetPixelsPerDip(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->GetPixelsPerDip(This); -} -static inline HRESULT IDWriteBitmapRenderTarget2_SetPixelsPerDip(IDWriteBitmapRenderTarget2* This, FLOAT pixels_per_dip) { - return This->lpVtbl->SetPixelsPerDip(This, pixels_per_dip); -} -static inline HRESULT IDWriteBitmapRenderTarget2_GetCurrentTransform(IDWriteBitmapRenderTarget2* This, DWRITE_MATRIX* transform) { - return This->lpVtbl->GetCurrentTransform(This, transform); -} -static inline HRESULT IDWriteBitmapRenderTarget2_SetCurrentTransform(IDWriteBitmapRenderTarget2* This, const DWRITE_MATRIX* transform) { - return This->lpVtbl->SetCurrentTransform(This, transform); -} -static inline HRESULT IDWriteBitmapRenderTarget2_GetSize(IDWriteBitmapRenderTarget2* This, SIZE* size) { - return This->lpVtbl->GetSize(This, size); -} -static inline HRESULT IDWriteBitmapRenderTarget2_Resize(IDWriteBitmapRenderTarget2* This, UINT32 width, UINT32 height) { - return This->lpVtbl->Resize(This, width, height); -} -/*** IDWriteBitmapRenderTarget1 methods ***/ -static inline DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget2_GetTextAntialiasMode(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->GetTextAntialiasMode(This); -} -static inline HRESULT IDWriteBitmapRenderTarget2_SetTextAntialiasMode(IDWriteBitmapRenderTarget2* This, DWRITE_TEXT_ANTIALIAS_MODE mode) { - return This->lpVtbl->SetTextAntialiasMode(This, mode); -} -/*** IDWriteBitmapRenderTarget2 methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget2_GetBitmapData(IDWriteBitmapRenderTarget2* This, DWRITE_BITMAP_DATA_BGRA32* bitmap_data) { - return This->lpVtbl->GetBitmapData(This, bitmap_data); -} -#endif -#endif - -#endif - -#endif /* __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IDWriteBitmapRenderTarget3 interface - */ -#ifndef __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ -#define __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e, 0x2a, 0x9a, 0x41, 0xb1, 0x67, 0xb2, 0x38); -#if defined(__cplusplus) && !defined(CINTERFACE) -MIDL_INTERFACE("aeec37db-c337-40f1-8e2a-9a41b167b238") -IDWriteBitmapRenderTarget3 : public IDWriteBitmapRenderTarget2 { - virtual DWRITE_PAINT_FEATURE_LEVEL STDMETHODCALLTYPE GetPaintFeatureLevel() = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawPaintGlyphRun( - FLOAT origin_x, - FLOAT origin_y, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* run, - DWRITE_GLYPH_IMAGE_FORMATS image_format, - COLORREF text_color, - UINT32 palette_index, - RECT* black_box) = 0; - - virtual HRESULT STDMETHODCALLTYPE DrawGlyphRunWithColorSupport( - FLOAT origin_x, - FLOAT origin_y, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* run, - IDWriteRenderingParams* params, - COLORREF text_color, - UINT32 palette_index, - RECT* black_box) = 0; -}; -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e, 0x2a, 0x9a, 0x41, 0xb1, 0x67, 0xb2, 0x38) -#endif -#else -typedef struct IDWriteBitmapRenderTarget3Vtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT(STDMETHODCALLTYPE* QueryInterface)( - IDWriteBitmapRenderTarget3* This, - REFIID riid, - void** ppvObject); - - ULONG(STDMETHODCALLTYPE* AddRef)( - IDWriteBitmapRenderTarget3* This); - - ULONG(STDMETHODCALLTYPE* Release)( - IDWriteBitmapRenderTarget3* This); - - /*** IDWriteBitmapRenderTarget methods ***/ - HRESULT(STDMETHODCALLTYPE* DrawGlyphRun)( - IDWriteBitmapRenderTarget3* This, - FLOAT baselineOriginX, - FLOAT baselineOriginY, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* glyph_run, - IDWriteRenderingParams* params, - COLORREF textColor, - RECT* blackbox_rect); - - HDC(STDMETHODCALLTYPE* GetMemoryDC)( - IDWriteBitmapRenderTarget3* This); - - FLOAT(STDMETHODCALLTYPE* GetPixelsPerDip)( - IDWriteBitmapRenderTarget3* This); - - HRESULT(STDMETHODCALLTYPE* SetPixelsPerDip)( - IDWriteBitmapRenderTarget3* This, - FLOAT pixels_per_dip); - - HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( - IDWriteBitmapRenderTarget3* This, - DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* SetCurrentTransform)( - IDWriteBitmapRenderTarget3* This, - const DWRITE_MATRIX* transform); - - HRESULT(STDMETHODCALLTYPE* GetSize)( - IDWriteBitmapRenderTarget3* This, - SIZE* size); - - HRESULT(STDMETHODCALLTYPE* Resize)( - IDWriteBitmapRenderTarget3* This, - UINT32 width, - UINT32 height); - - /*** IDWriteBitmapRenderTarget1 methods ***/ - DWRITE_TEXT_ANTIALIAS_MODE(STDMETHODCALLTYPE* GetTextAntialiasMode)( - IDWriteBitmapRenderTarget3* This); - - HRESULT(STDMETHODCALLTYPE* SetTextAntialiasMode)( - IDWriteBitmapRenderTarget3* This, - DWRITE_TEXT_ANTIALIAS_MODE mode); - - /*** IDWriteBitmapRenderTarget2 methods ***/ - HRESULT(STDMETHODCALLTYPE* GetBitmapData)( - IDWriteBitmapRenderTarget3* This, - DWRITE_BITMAP_DATA_BGRA32* bitmap_data); - - /*** IDWriteBitmapRenderTarget3 methods ***/ - DWRITE_PAINT_FEATURE_LEVEL(STDMETHODCALLTYPE* GetPaintFeatureLevel)( - IDWriteBitmapRenderTarget3* This); - - HRESULT(STDMETHODCALLTYPE* DrawPaintGlyphRun)( - IDWriteBitmapRenderTarget3* This, - FLOAT origin_x, - FLOAT origin_y, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* run, - DWRITE_GLYPH_IMAGE_FORMATS image_format, - COLORREF text_color, - UINT32 palette_index, - RECT* black_box); - - HRESULT(STDMETHODCALLTYPE* DrawGlyphRunWithColorSupport)( - IDWriteBitmapRenderTarget3* This, - FLOAT origin_x, - FLOAT origin_y, - DWRITE_MEASURING_MODE measuring_mode, - const DWRITE_GLYPH_RUN* run, - IDWriteRenderingParams* params, - COLORREF text_color, - UINT32 palette_index, - RECT* black_box); - - END_INTERFACE -} IDWriteBitmapRenderTarget3Vtbl; - -interface IDWriteBitmapRenderTarget3 { - CONST_VTBL IDWriteBitmapRenderTarget3Vtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define IDWriteBitmapRenderTarget3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) -#define IDWriteBitmapRenderTarget3_AddRef(This) (This)->lpVtbl->AddRef(This) -#define IDWriteBitmapRenderTarget3_Release(This) (This)->lpVtbl->Release(This) -/*** IDWriteBitmapRenderTarget methods ***/ -#define IDWriteBitmapRenderTarget3_DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect) (This)->lpVtbl->DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect) -#define IDWriteBitmapRenderTarget3_GetMemoryDC(This) (This)->lpVtbl->GetMemoryDC(This) -#define IDWriteBitmapRenderTarget3_GetPixelsPerDip(This) (This)->lpVtbl->GetPixelsPerDip(This) -#define IDWriteBitmapRenderTarget3_SetPixelsPerDip(This, pixels_per_dip) (This)->lpVtbl->SetPixelsPerDip(This, pixels_per_dip) -#define IDWriteBitmapRenderTarget3_GetCurrentTransform(This, transform) (This)->lpVtbl->GetCurrentTransform(This, transform) -#define IDWriteBitmapRenderTarget3_SetCurrentTransform(This, transform) (This)->lpVtbl->SetCurrentTransform(This, transform) -#define IDWriteBitmapRenderTarget3_GetSize(This, size) (This)->lpVtbl->GetSize(This, size) -#define IDWriteBitmapRenderTarget3_Resize(This, width, height) (This)->lpVtbl->Resize(This, width, height) -/*** IDWriteBitmapRenderTarget1 methods ***/ -#define IDWriteBitmapRenderTarget3_GetTextAntialiasMode(This) (This)->lpVtbl->GetTextAntialiasMode(This) -#define IDWriteBitmapRenderTarget3_SetTextAntialiasMode(This, mode) (This)->lpVtbl->SetTextAntialiasMode(This, mode) -/*** IDWriteBitmapRenderTarget2 methods ***/ -#define IDWriteBitmapRenderTarget3_GetBitmapData(This, bitmap_data) (This)->lpVtbl->GetBitmapData(This, bitmap_data) -/*** IDWriteBitmapRenderTarget3 methods ***/ -#define IDWriteBitmapRenderTarget3_GetPaintFeatureLevel(This) (This)->lpVtbl->GetPaintFeatureLevel(This) -#define IDWriteBitmapRenderTarget3_DrawPaintGlyphRun(This, origin_x, origin_y, measuring_mode, run, image_format, text_color, palette_index, black_box) (This)->lpVtbl->DrawPaintGlyphRun(This, origin_x, origin_y, measuring_mode, run, image_format, text_color, palette_index, black_box) -#define IDWriteBitmapRenderTarget3_DrawGlyphRunWithColorSupport(This, origin_x, origin_y, measuring_mode, run, params, text_color, palette_index, black_box) (This)->lpVtbl->DrawGlyphRunWithColorSupport(This, origin_x, origin_y, measuring_mode, run, params, text_color, palette_index, black_box) -#else -/*** IUnknown methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget3_QueryInterface(IDWriteBitmapRenderTarget3* This, REFIID riid, void** ppvObject) { - return This->lpVtbl->QueryInterface(This, riid, ppvObject); -} -static inline ULONG IDWriteBitmapRenderTarget3_AddRef(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->AddRef(This); -} -static inline ULONG IDWriteBitmapRenderTarget3_Release(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->Release(This); -} -/*** IDWriteBitmapRenderTarget methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget3_DrawGlyphRun(IDWriteBitmapRenderTarget3* This, FLOAT baselineOriginX, FLOAT baselineOriginY, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_GLYPH_RUN* glyph_run, IDWriteRenderingParams* params, COLORREF textColor, RECT* blackbox_rect) { - return This->lpVtbl->DrawGlyphRun(This, baselineOriginX, baselineOriginY, measuring_mode, glyph_run, params, textColor, blackbox_rect); -} -static inline HDC IDWriteBitmapRenderTarget3_GetMemoryDC(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->GetMemoryDC(This); -} -static inline FLOAT IDWriteBitmapRenderTarget3_GetPixelsPerDip(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->GetPixelsPerDip(This); -} -static inline HRESULT IDWriteBitmapRenderTarget3_SetPixelsPerDip(IDWriteBitmapRenderTarget3* This, FLOAT pixels_per_dip) { - return This->lpVtbl->SetPixelsPerDip(This, pixels_per_dip); -} -static inline HRESULT IDWriteBitmapRenderTarget3_GetCurrentTransform(IDWriteBitmapRenderTarget3* This, DWRITE_MATRIX* transform) { - return This->lpVtbl->GetCurrentTransform(This, transform); -} -static inline HRESULT IDWriteBitmapRenderTarget3_SetCurrentTransform(IDWriteBitmapRenderTarget3* This, const DWRITE_MATRIX* transform) { - return This->lpVtbl->SetCurrentTransform(This, transform); -} -static inline HRESULT IDWriteBitmapRenderTarget3_GetSize(IDWriteBitmapRenderTarget3* This, SIZE* size) { - return This->lpVtbl->GetSize(This, size); -} -static inline HRESULT IDWriteBitmapRenderTarget3_Resize(IDWriteBitmapRenderTarget3* This, UINT32 width, UINT32 height) { - return This->lpVtbl->Resize(This, width, height); -} -/*** IDWriteBitmapRenderTarget1 methods ***/ -static inline DWRITE_TEXT_ANTIALIAS_MODE IDWriteBitmapRenderTarget3_GetTextAntialiasMode(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->GetTextAntialiasMode(This); -} -static inline HRESULT IDWriteBitmapRenderTarget3_SetTextAntialiasMode(IDWriteBitmapRenderTarget3* This, DWRITE_TEXT_ANTIALIAS_MODE mode) { - return This->lpVtbl->SetTextAntialiasMode(This, mode); -} -/*** IDWriteBitmapRenderTarget2 methods ***/ -static inline HRESULT IDWriteBitmapRenderTarget3_GetBitmapData(IDWriteBitmapRenderTarget3* This, DWRITE_BITMAP_DATA_BGRA32* bitmap_data) { - return This->lpVtbl->GetBitmapData(This, bitmap_data); -} -/*** IDWriteBitmapRenderTarget3 methods ***/ -static inline DWRITE_PAINT_FEATURE_LEVEL IDWriteBitmapRenderTarget3_GetPaintFeatureLevel(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->GetPaintFeatureLevel(This); -} -static inline HRESULT IDWriteBitmapRenderTarget3_DrawPaintGlyphRun(IDWriteBitmapRenderTarget3* This, FLOAT origin_x, FLOAT origin_y, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_GLYPH_RUN* run, DWRITE_GLYPH_IMAGE_FORMATS image_format, COLORREF text_color, UINT32 palette_index, RECT* black_box) { - return This->lpVtbl->DrawPaintGlyphRun(This, origin_x, origin_y, measuring_mode, run, image_format, text_color, palette_index, black_box); -} -static inline HRESULT IDWriteBitmapRenderTarget3_DrawGlyphRunWithColorSupport(IDWriteBitmapRenderTarget3* This, FLOAT origin_x, FLOAT origin_y, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_GLYPH_RUN* run, IDWriteRenderingParams* params, COLORREF text_color, UINT32 palette_index, RECT* black_box) { - return This->lpVtbl->DrawGlyphRunWithColorSupport(This, origin_x, origin_y, measuring_mode, run, params, text_color, palette_index, black_box); -} -#endif -#endif - -#endif - -#endif /* __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ */ - -/* Begin additional prototypes for all interfaces */ - -/* End additional prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif /* __dwrite_3_h__ */ diff --git a/src/text/font/boldmonottf.c b/src/text/font/boldmonottf.c index 6d54436..8526c1b 100644 --- a/src/text/font/boldmonottf.c +++ b/src/text/font/boldmonottf.c @@ -1,6 +1,6 @@ #include -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) unsigned char MwBoldMonospaceTTFData[] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x04, 0x00, 0x10, 0x46, 0x46, 0x54, 0x4d, 0xac, 0x0d, 0xe4, 0x44, 0x00, 0x00, 0x8d, 0x3c, diff --git a/src/text/font/boldttf.c b/src/text/font/boldttf.c index 5b02578..2ec91c7 100644 --- a/src/text/font/boldttf.c +++ b/src/text/font/boldttf.c @@ -1,6 +1,6 @@ #include -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) unsigned char MwBoldTTFData[] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x04, 0x00, 0x20, 0x46, 0x46, 0x54, 0x4d, 0x94, 0x9f, 0x60, 0x18, 0x00, 0x00, 0x8e, 0xa8, diff --git a/src/text/font/monottf.c b/src/text/font/monottf.c index 549e158..7a89f94 100644 --- a/src/text/font/monottf.c +++ b/src/text/font/monottf.c @@ -1,6 +1,6 @@ #include -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) unsigned char MwMonospaceTTFData[] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x04, 0x00, 0x10, 0x46, 0x46, 0x54, 0x4d, 0xac, 0x0d, 0xe4, 0x23, 0x00, 0x00, 0x8d, 0x3c, diff --git a/src/text/font/ttf.c b/src/text/font/ttf.c index 6dd1418..7eeea07 100644 --- a/src/text/font/ttf.c +++ b/src/text/font/ttf.c @@ -1,6 +1,6 @@ #include -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) unsigned char MwTTFData[] = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x04, 0x00, 0x20, 0x46, 0x46, 0x54, 0x4d, 0x94, 0x92, 0x79, 0xd4, 0x00, 0x00, 0x89, 0xa4, diff --git a/src/text/text.c b/src/text/text.c index f0b80c7..9ad1e94 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -7,7 +7,7 @@ int (*MwFLTextHeightWithText)(MwFLFont ttf, const char* text) = NULL; void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px) = NULL; void (*MwFLFontFree)(void* handle) = NULL; -#if defined(USE_FREETYPE2) || defined(USE_STB_TRUETYPE) || defined(USE_DIRECTWRITE) +#if defined(USE_FREETYPE2) || defined(USE_STB_TRUETYPE) || defined(USE_GDI_TEXT) #define TTF #endif @@ -303,9 +303,6 @@ void MwFLSetup(void) { #ifdef USE_GDI_TEXT MwFL_GDISetup, #endif -#ifdef USE_DIRECTWRITE - MwFL_DWSetup, -#endif #ifdef USE_FREETYPE2 MwFL_FT2Setup, #endif