From 14915e082ac003a16a3a46a3a4a8281a48bd8c55 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 12:46:52 -0700 Subject: [PATCH 001/119] remove wayland's widget-checking stuff in an effort to remove one of the last hacks from the wayland backend --- include/Mw/LowLevel/Wayland.h | 15 +------ src/backend/wayland/wayland.c | 74 +---------------------------------- src/core.c | 10 ++++- 3 files changed, 13 insertions(+), 86 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index c6d397b..02ef26e 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -601,9 +601,6 @@ void MwLLWaylandRegionInvalidate(MwLL handle); void MwLLWaylandHangUntilConfigured(MwLL handle); -MwBool MwLLWaylandWidgetIsDestroyed(MwLL self); -void MwLLWaylandWidgetUndestroy(MwLL self); - /* Function for setting up the callbacks/structs that will be registered upon the relevant interfaces being found. */ void MwLLWaylandSetupCallbacks(struct _MwLLWayland* wayland); @@ -613,18 +610,10 @@ void MwLLWaylandClipboardRead(wl_clipboard_device_context_t* ctx, int clipboard_ void MwLLWaylandFlush(MwLL handle); /* Standard procedure before event callbacks in Wayland */ -#define WAYLAND_EVENT_OP_START(self) \ - if(MwLLWaylandWidgetIsDestroyed(self)) { \ - return; \ - } +#define WAYLAND_EVENT_OP_START(self) pthread_mutex_lock(&self->wayland.eventsMutex); /* Footer for WAYLAND_EVENT_OP_START */ -#define WAYLAND_EVENT_OP_END(self) - -#define WIDGET_CHECK(handle) \ - if(!handle->wayland.valid) { \ - return; \ - } +#define WAYLAND_EVENT_OP_END(self) pthread_mutex_unlock(&self->wayland.eventsMutex); /* the two decoration manager constructs */ typedef struct zxdg_decoration_manager_v1_context { diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 3d61932..9b96097 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -18,31 +18,6 @@ static pthread_mutex_t destroyedWidgetsTableMutex; */ static MwLL* destroyedWidgetsTable; -MwBool MwLLWaylandWidgetIsDestroyed(MwLL self) { - int i; - pthread_mutex_lock(&destroyedWidgetsTableMutex); - for(i = 0; i < arrlen(destroyedWidgetsTable); i++) { - if(self == destroyedWidgetsTable[i]) { - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - return MwTRUE; - } - } - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - return MwFALSE; -} -void MwLLWaylandWidgetUndestroy(MwLL self) { - int i; - pthread_mutex_lock(&destroyedWidgetsTableMutex); - for(i = 0; i < arrlen(destroyedWidgetsTable); i++) { - if(self == destroyedWidgetsTable[i]) { - arrdel(destroyedWidgetsTable, i); - break; - } - } - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - return; -} - static int event_loop(MwLL handle); /* Recursively dispatch a resize event to a widget and its children */ @@ -61,7 +36,6 @@ static void recursive_dispatch_resize(MwLL handle) { static void recursive_render(MwLL handle) { int i; - WIDGET_CHECK(handle); for(i = 0; i < arrlen(((MwWidget)handle->common.user)->children); i++) recursive_render(((MwWidget)handle->common.user)->children[i]->lowlevel); @@ -628,12 +602,7 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh r->wayland.x = x; r->wayland.y = y; r->wayland.parent = parent; - if(MwLLWaylandWidgetIsDestroyed(parent)) { - r->wayland.valid = MwFALSE; - return; - } else { - r->wayland.valid = MwTRUE; - } + r->wayland.valid = MwTRUE; if(ty == MwLL_WAYLAND_UNKNOWN) { if(parent == NULL) { @@ -657,8 +626,6 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh } } - WIDGET_CHECK(r); - MwLLWaylandFramebufferSetup(&r->wayland); MwLLWaylandBackbufferSetup(&r->wayland); @@ -702,10 +669,6 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { memset(r, 0, sizeof(*r)); MwLLCreateCommon(r); - if(MwLLWaylandWidgetIsDestroyed(r)) { - MwLLWaylandWidgetUndestroy(r); - } - r->wayland.is_toplevel = parent == NULL; r->wayland.is_clipping = 0; @@ -791,10 +754,6 @@ static void MwLLDestroyImpl(MwLL handle) { pthread_mutex_unlock(&destroyedWidgetsTableMutex); free(handle); - - // if(topmost_parent->wayland.currentlyHeldWidget == handle) { - // topmost_parent->wayland.currentlyHeldWidget = NULL; - // } } static void MwLLGetXYWHImpl(MwLL handle, int* x, int* y, unsigned int* w, unsigned int* h) { @@ -812,7 +771,6 @@ static void MwLLGetXYWHImpl(MwLL handle, int* x, int* y, unsigned int* w, unsign } static void MwLLSetXYImpl(MwLL handle, int x, int y) { - WIDGET_CHECK(handle); MwLLWaylandRegionInvalidate(handle); handle->wayland.x = x; handle->wayland.y = y; @@ -863,7 +821,6 @@ static void actually_set_wh(MwLL handle) { } static void MwLLSetWHImpl(MwLL handle, int w, int h) { - WIDGET_CHECK(handle); if(handle->wayland.ww == w && handle->wayland.wh == h) { return; @@ -886,7 +843,6 @@ static void MwLLSetWHImpl(MwLL handle, int w, int h) { } static void MwLLBeginDrawImpl(MwLL handle) { - WIDGET_CHECK(handle); cairo_save(handle->wayland.front_cairo); cairo_set_source_rgba(handle->wayland.front_cairo, 0, 0, 0, 0); cairo_set_operator(handle->wayland.front_cairo, CAIRO_OPERATOR_SOURCE); @@ -995,7 +951,6 @@ static void MwLLEndDrawImpl(MwLL handle) { static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLLColor color) { int i; - WIDGET_CHECK(handle); clip(handle); @@ -1019,7 +974,6 @@ static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLL static void MwLLLineImpl(MwLL handle, MwPoint* points, MwLLColor color) { int i; - WIDGET_CHECK(handle); clip(handle); @@ -1073,10 +1027,6 @@ static int MwLLPendingImpl(MwLL handle) { }; int pending = 0; - if(MwLLWaylandWidgetIsDestroyed(handle) || !handle->wayland.valid) { - return 0; - } - handle->wayland.resizing = 0; if(handle->wayland.setting_wh) { @@ -1128,7 +1078,6 @@ static int MwLLPendingImpl(MwLL handle) { } static void MwLLNextEventImpl(MwLL handle) { - WIDGET_CHECK(handle); if(!MwWaylandVulkan) { if(handle->wayland.did_event_loop_early) { handle->wayland.did_event_loop_early = MwFALSE; @@ -1148,7 +1097,6 @@ static void MwLLNextEventImpl(MwLL handle) { } static void MwLLSetTitleImpl(MwLL handle, const char* title) { - WIDGET_CHECK(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { xdg_toplevel_set_title(handle->wayland.toplevel->xdg_top_level, title); } @@ -1213,8 +1161,6 @@ static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { if(rect->width >= INT16_MAX) rect->width = INT16_MAX; if(rect->height >= INT16_MAX) rect->height = INT16_MAX; - WIDGET_CHECK(handle); - cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, rect->width, rect->height); c = cairo_create(cs); @@ -1239,7 +1185,6 @@ static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { wl_surface_damage(handle->wayland.framebuffer.surface, 0, 0, handle->wayland.ww, handle->wayland.wh); } static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { - WIDGET_CHECK(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, xdg_toplevel_icon_manager_v1) != NULL) { struct xdg_toplevel_icon_manager_v1* icon_manager = WAYLAND_GET_INTERFACE(handle->wayland, xdg_toplevel_icon_manager_v1)->context; @@ -1282,7 +1227,6 @@ static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { } static void MwLLForceRenderImpl(MwLL handle) { - WIDGET_CHECK(handle); wl_surface_damage(handle->wayland.framebuffer.surface, 0, 0, handle->wayland.ww, handle->wayland.wh); handle->wayland.force_render = MwTRUE; @@ -1294,8 +1238,6 @@ static void MwLLForceRenderImpl(MwLL handle) { static void MwLLSetCursorImpl(MwLL handle, MwCursor* image, MwCursor* mask) { int x, y, xs, ys; - WIDGET_CHECK(handle); - if(handle->wayland.cursor.setup) { MwLLWaylandBufferDestroy(&handle->wayland.cursor); wl_surface_destroy(handle->wayland.cursor.surface); @@ -1346,7 +1288,6 @@ static void MwLLSetCursorImpl(MwLL handle, MwCursor* image, MwCursor* mask) { static void MwLLDetachImpl(MwLL handle, MwPoint* point) { MwLL p = handle->wayland.parent; int x = 0, y = 0; - WIDGET_CHECK(handle); while(p != NULL) { x += p->wayland.x; y += p->wayland.y; @@ -1363,7 +1304,6 @@ static void MwLLShowImpl(MwLL handle, int show) { if(!handle->wayland.configured) { return; } - WIDGET_CHECK(handle); /* Some guy on a mailing list said that "abusing" wl_surface_attach for this purpose is bad? This is documented behavior so please I beg of you let me know if there's a compositor that actually has a problem with this. */ if(handle->wayland.framebuffer.surface) { wl_surface_attach(handle->wayland.framebuffer.surface, show ? handle->wayland.framebuffer.shm_buffer : NULL, 0, 0); @@ -1382,7 +1322,6 @@ static void MwLLMakePopupImpl(MwLL handle, MwLL parent) { } static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int maxy) { - WIDGET_CHECK(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { xdg_toplevel_set_min_size(handle->wayland.toplevel->xdg_top_level, minx, miny); xdg_toplevel_set_max_size(handle->wayland.toplevel->xdg_top_level, maxx, maxy); @@ -1391,7 +1330,6 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { (void)toggle; - WIDGET_CHECK(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1) != NULL) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1)->context; @@ -1412,7 +1350,6 @@ static void MwLLFocusImpl(MwLL handle) { static void MwLLGrabPointerImpl(MwLL handle, int toggle) { MwLL topmost_parent = handle; - WIDGET_CHECK(handle); while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent; if(handle->wayland.pointer_constraints && handle->wayland.relative_pointer_manager) { if(toggle) { @@ -1439,7 +1376,6 @@ static void MwLLGrabPointerImpl(MwLL handle, int toggle) { static void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_type) { int i; - WIDGET_CHECK(handle); if(handle->wayland.clipboard_buffer != NULL) { free(handle->wayland.clipboard_buffer); @@ -1466,7 +1402,6 @@ static void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_ty static void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) { int i; - WIDGET_CHECK(handle); if(clipboard_type == MwCLIPBOARD_PRIMARY) { if(handle->wayland.supports_zwp) { for(i = 0; i < arrlen(handle->wayland.clipboard_devices_zwp); i++) { @@ -1486,7 +1421,6 @@ static void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) { } static void MwLLMakeToolWindowImpl(MwLL handle) { - WIDGET_CHECK(handle); handle->wayland.type_to_be = MwLL_WAYLAND_POPUP; } @@ -1494,14 +1428,12 @@ static void MwLLMakeToolWindowImpl(MwLL handle) { static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { MwLL topmost_parent = handle; - WIDGET_CHECK(handle); while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent; *point = topmost_parent->wayland.cur_mouse_pos; } static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { - WIDGET_CHECK(handle); rect->x = 0; rect->y = 0; @@ -1515,7 +1447,6 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { } static void MwLLEndStateChangeImpl(MwLL handle) { - WIDGET_CHECK(handle); if(handle->wayland.detatching) { MwLL topmost_parent = handle->wayland.parent; @@ -1588,8 +1519,7 @@ static MwBool MwLLDoModernImpl(MwLL handle) { static void MwLLRaiseImpl(MwLL handle) { (void)handle; - /* WIDGET_CHECK(handle); - + /* if(handle->wayland.type == MwLL_WAYLAND_SUBLEVEL) { MwLL topmost_parent = handle; int children_num; diff --git a/src/core.c b/src/core.c index db81a2b..9f18d72 100644 --- a/src/core.c +++ b/src/core.c @@ -18,7 +18,7 @@ MwLLEndDraw(handle->lowlevel); \ } -static void MWAPI MwVaListApply_Internal(MwWidget handle, va_list va, int only_early); +static void MWAPI MwVaListApply_Internal(MwWidget handle, va_list va, int only_early); static MwWidget MWAPI MwCreateWidget_Internal(MwClass widget_class, const char* name, MwWidget parent, int x, int y, unsigned int width, unsigned int height, int do_prop, va_list prop); static void lldrawhandler(MwLL handle, void* data) { @@ -392,6 +392,14 @@ void MwFreeWidget(MwWidget handle) { if(handle->root_monofont != NULL) MwFontFree(handle->root_monofont); if(handle->root_boldmonofont != NULL) MwFontFree(handle->root_boldmonofont); + if(handle->parent) { + for(i = 0; i < arrlen(handle->parent->children); i++) { + if(handle->parent->children[i] == handle) { + arrdel(handle->parent->children, i); + } + } + } + free(handle); } From 8fe9a1c168b21d3f84587bf40816f3bdc085569f Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 12:50:08 -0700 Subject: [PATCH 002/119] wayland: clean up destroyedWidgetsTableMutex remenants --- src/backend/wayland/wayland.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 9b96097..8625c60 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -10,14 +10,6 @@ wayland_call_table_t wl_call_tbl; MwBool MwWaylandVulkan = MwFALSE; #endif -static pthread_mutex_t destroyedWidgetsTableMutex; -/* - * So Wayland, bless its soul; it keeps using callbacks LONG after they should not only be destroyed but the widget doesn't even exist anymore. Naturally, this causes use after free. so we fight fire with fire in the worst code i've ever written: by storing the freed pointers here, we disallow wayland from ever using them again. if something else is created that takes this slot, we remove it from the table. - * - * TODO(IOI): FUCKING NO???? FIX THIS. - */ -static MwLL* destroyedWidgetsTable; - static int event_loop(MwLL handle); /* Recursively dispatch a resize event to a widget and its children */ @@ -749,10 +741,6 @@ static void MwLLDestroyImpl(MwLL handle) { MwLLWaylandFlush(handle); - pthread_mutex_lock(&destroyedWidgetsTableMutex); - arrput(destroyedWidgetsTable, handle); - pthread_mutex_unlock(&destroyedWidgetsTableMutex); - free(handle); } From ad7db9dcec9d91ae5f2297442ca366caf4c7366f Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 21 May 2026 04:55:00 +0900 Subject: [PATCH 003/119] maybe --- src/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core.c b/src/core.c index 9f18d72..f879661 100644 --- a/src/core.c +++ b/src/core.c @@ -354,6 +354,7 @@ void MwFreeWidget(MwWidget handle) { for(i = 0; i < arrlen(handle->children); i++) { MwFreeWidget(handle->children[i]); + i--; } arrfree(handle->children); From 70147b2716a579962c2c6d9f8e4e6634c249eaf8 Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 21 May 2026 05:22:35 +0900 Subject: [PATCH 004/119] works for me --- src/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core.c b/src/core.c index f879661..7d6cc4c 100644 --- a/src/core.c +++ b/src/core.c @@ -397,6 +397,7 @@ void MwFreeWidget(MwWidget handle) { for(i = 0; i < arrlen(handle->parent->children); i++) { if(handle->parent->children[i] == handle) { arrdel(handle->parent->children, i); + i--; } } } From 7aad2af60938a57d6cc189f070d25b4b024e245e Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 13:45:35 -0700 Subject: [PATCH 005/119] wayland: merge libdecor --- include/Mw/LowLevel/Wayland.h | 70 +++++++++- src/backend/wayland/buffer.c | 2 +- src/backend/wayland/wayland.c | 254 ++++++++++++++++++---------------- 3 files changed, 202 insertions(+), 124 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 02ef26e..575c867 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -14,7 +14,13 @@ #include #include #include -#include +/* libdecor is included later on so that it's covered by the wayland dynloading. */ +struct libdecor_frame; +struct libdecor_interface; +struct libdecor_configuration; +struct libdecor_frame_interface; +enum libdecor_window_state; +struct wl_surface; #ifdef __cplusplus extern "C" { @@ -44,6 +50,8 @@ typedef struct wayland_call_table { void* lib; void* xkb_lib; void* cairo_lib; + + void* libdecor_lib; #ifdef USE_DBUS MwLLDBusFuncTable dbus; MwBool has_dbus; @@ -141,6 +149,20 @@ typedef struct wayland_call_table { void (*cairo_set_antialias)(cairo_t*, cairo_antialias_t); void (*cairo_set_operator)(cairo_t* cr, cairo_operator_t op); + MwBool has_libdecor; + struct libdecor* (*libdecor_new)(struct wl_display* display, struct libdecor_interface* iface); + struct libdecor_state* (*libdecor_state_new)(int width, int height); + void (*libdecor_frame_commit)(struct libdecor_frame* frame, struct libdecor_state* state, struct libdecor_configuration* configuration); + void (*libdecor_state_free)(struct libdecor_state* state); + struct libdecor_frame* (*libdecor_decorate)(struct libdecor* context, struct wl_surface* surface, struct libdecor_frame_interface* iface, void* user_data); + void (*libdecor_frame_set_app_id)(struct libdecor_frame* frame, const char* app_id); + void (*libdecor_frame_set_title)(struct libdecor_frame* frame, const char* title); + void (*libdecor_frame_map)(struct libdecor_frame* frame); + MwBool (*libdecor_configuration_get_content_size)(struct libdecor_configuration* configuration, struct libdecor_frame* frame, int* width, int* height); + MwBool (*libdecor_configuration_get_window_state)(struct libdecor_configuration* configuration, enum libdecor_window_state* window_state); + struct xdg_surface* (*libdecor_frame_get_xdg_surface)(struct libdecor_frame* frame); + int (*libdecor_dispatch)(struct libdecor* context, int timeout); + void (*libdecor_frame_translate_coordinate)(struct libdecor_frame* frame, int surface_x, int surface_y, int* frame_x, int* frame_y); } wayland_call_table_t; extern wayland_call_table_t wl_call_tbl; @@ -186,6 +208,17 @@ MwInline int wayland_load_funcs() { return 1; \ }; + /* i mean i pray if somebody is using thr wayland backend over apple/ios that actual decorations are supported. */ +#ifdef __APPLE__ + wl_call_tbl.libdecor_lib = MwDynamicOpen("libdecor-0.dylib"); +#else + wl_call_tbl.libdecor_lib = MwDynamicOpen("libdecor-0.so"); +#endif + wl_call_tbl.has_libdecor = (wl_call_tbl.libdecor_lib != NULL); + if(!wl_call_tbl.libdecor_lib) { + printf("(libdecor not found, window will not have any decorations.)\n"); + } + WAYLAND_FUNC(wl_display_dispatch) WAYLAND_FUNC(wl_display_dispatch_pending) WAYLAND_FUNC(wl_display_disconnect) @@ -267,6 +300,28 @@ MwInline int wayland_load_funcs() { wl_call_tbl.has_dbus = MwLLDBusFuncSetup(&wl_call_tbl.dbus); #endif + if(wl_call_tbl.has_libdecor) { +#define LIBDECOR_FUNC(x) \ + wl_call_tbl.x = MwDynamicSymbol(wl_call_tbl.libdecor_lib, #x); \ + if(!wl_call_tbl.x) { \ + printf("WARNING: Can't use libdecor because libdecor-1 doesn't export " #x ".\n"); \ + wl_call_tbl.has_libdecor = MwFALSE; \ + }; + + LIBDECOR_FUNC(libdecor_new); + LIBDECOR_FUNC(libdecor_state_new); + LIBDECOR_FUNC(libdecor_frame_commit); + LIBDECOR_FUNC(libdecor_state_free); + LIBDECOR_FUNC(libdecor_decorate); + LIBDECOR_FUNC(libdecor_frame_set_app_id); + LIBDECOR_FUNC(libdecor_frame_set_title); + LIBDECOR_FUNC(libdecor_frame_map); + LIBDECOR_FUNC(libdecor_configuration_get_content_size); + LIBDECOR_FUNC(libdecor_configuration_get_window_state); + LIBDECOR_FUNC(libdecor_frame_get_xdg_surface); + LIBDECOR_FUNC(libdecor_dispatch); + } + return 0; } @@ -342,6 +397,8 @@ MwInline int wayland_load_funcs() { #include "Wayland/xdg-toplevel-icon-client-protocol.h" #endif +#include + typedef struct wayland_protocol { void* listener; void* context; @@ -495,6 +552,11 @@ struct _MwLLWayland { MwLLDBusContext dbus; #endif + struct libdecor* decor; + struct libdecor_frame* decor_frame; + struct libdecor_interface* decor_interface; + enum libdecor_window_state decor_state; + MwBool dark_theme_detection; MwU32 dark_theme; @@ -568,8 +630,6 @@ struct _MwLLWayland { cairo_surface_t* back_cs; cairo_t* front_cairo; cairo_t* back_cairo; - /* The cairo to actually use for draw operations. Typically is front_cairo, but MwLLBeginDraw can change this to the back_cairo so it can be used to draw window decorations. */ - cairo_t* selected_cairo; }; struct _MwLLWaylandColor { @@ -610,10 +670,10 @@ void MwLLWaylandClipboardRead(wl_clipboard_device_context_t* ctx, int clipboard_ void MwLLWaylandFlush(MwLL handle); /* Standard procedure before event callbacks in Wayland */ -#define WAYLAND_EVENT_OP_START(self) pthread_mutex_lock(&self->wayland.eventsMutex); +#define WAYLAND_EVENT_OP_START(self) /* Footer for WAYLAND_EVENT_OP_START */ -#define WAYLAND_EVENT_OP_END(self) pthread_mutex_unlock(&self->wayland.eventsMutex); +#define WAYLAND_EVENT_OP_END(self) /* the two decoration manager constructs */ typedef struct zxdg_decoration_manager_v1_context { diff --git a/src/backend/wayland/buffer.c b/src/backend/wayland/buffer.c index a37fd34..69c375c 100644 --- a/src/backend/wayland/buffer.c +++ b/src/backend/wayland/buffer.c @@ -12,7 +12,7 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) { wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0); wl_surface_commit(wayland->framebuffer.surface); - MwLLWaylandHangUntilConfigured((MwLL)wayland); + // MwLLWaylandHangUntilConfigured((MwLL)wayland); MwLLWaylandBufferUpdate((MwLL)wayland, &wayland->framebuffer); }; void MwLLWaylandFramebufferDestroy(struct _MwLLWayland* wayland) { diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 8625c60..93d0686 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -201,6 +201,96 @@ void MwLLWaylandBufferUpdate(MwLL self, struct _MwLLWaylandShmBuffer* buffer) { } } +/* shitdecor */ +static void libdecor_error(struct libdecor* context, + enum libdecor_error error, + const char* message) { + printf("libdecor error (%d): %s\n", error, message); +} + +static void +handle_configure(struct libdecor_frame* frame, + struct libdecor_configuration* configuration, + void* user_data) { + MwLL self = user_data; + int width, height; + enum libdecor_window_state window_state; + struct libdecor_state* state; + + if(!wl_call_tbl.libdecor_configuration_get_content_size(configuration, frame, + &width, &height)) { + width = self->wayland.ww; + height = self->wayland.wh; + } + + width = (width == 0) ? 1 : width; + height = (height == 0) ? 1 : height; + + // region_invalidate(self); + self->wayland.ww = width; + self->wayland.wh = height; + + if(self->wayland.resizing == 0) { + MwLLWaylandFramebufferDestroy(&self->wayland); + MwLLWaylandFramebufferSetup(&self->wayland); + MwLLWaylandRegionSetup(self); + MwLLDispatch(self, resize, NULL); + + recursive_dispatch_resize(self); + + if(self->wayland.pointer_constrained) { + zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP); + wl_surface_commit(self->wayland.framebuffer.surface); + } + + self->wayland.resizing = 1; + } + + MwLLDispatch(self, draw, NULL); + + if(!wl_call_tbl.libdecor_configuration_get_window_state(configuration, + &window_state)) + window_state = LIBDECOR_WINDOW_STATE_NONE; + + self->wayland.decor_state = window_state; + + state = wl_call_tbl.libdecor_state_new(width, height); + wl_call_tbl.libdecor_frame_commit(frame, state, configuration); + wl_call_tbl.libdecor_state_free(state); + + self->wayland.configured = MwTRUE; +} + +static void +handle_close(struct libdecor_frame* frame, + void* user_data) { + MwLL self = user_data; + MwLLDispatch(self, close, NULL); +} + +static void +handle_commit(struct libdecor_frame* frame, + void* user_data) { + MwLL self = user_data; + wl_surface_commit(self->wayland.framebuffer.surface); +} + +static void +handle_dismiss_popup(struct libdecor_frame* frame, + const char* seat_name, + void* user_data) { +} + +static struct libdecor_frame_interface libdecor_frame_iface = { + handle_configure, + handle_close, + handle_commit, + handle_dismiss_popup, +}; + +static struct libdecor_interface libdecor_interface = { + libdecor_error}; + /* Toplevel setup function */ static void setup_toplevel(MwLL r, int x, int y) { r->wayland.type = MwLL_WAYLAND_TOPLEVEL; @@ -234,15 +324,14 @@ static void setup_toplevel(MwLL r, int x, int y) { r->wayland.xkb_context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); - /* Create a wl_surface, a xdg_surface and a xdg_toplevel */ r->wayland.framebuffer.surface = wl_compositor_create_surface(r->wayland.compositor); r->wayland.backbuffer.surface = wl_compositor_create_surface(r->wayland.compositor); - r->wayland.toplevel->ssurface = wl_subcompositor_get_subsurface(r->wayland.toplevel->scompositor, r->wayland.framebuffer.surface, r->wayland.backbuffer.surface); - wl_subsurface_set_desync(r->wayland.toplevel->ssurface); - r->wayland.toplevel->xdg_surface = - xdg_wm_base_get_xdg_surface(WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context, r->wayland.backbuffer.surface); - r->wayland.toplevel->xdg_top_level = xdg_surface_get_toplevel(r->wayland.toplevel->xdg_surface); + if(r->wayland.has_decorations) { + r->wayland.toplevel->xdg_surface = + xdg_wm_base_get_xdg_surface(WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context, r->wayland.framebuffer.surface); + r->wayland.toplevel->xdg_top_level = xdg_surface_get_toplevel(r->wayland.toplevel->xdg_surface); + } /* setup mandatory listeners */ r->wayland.toplevel->xdg_surface_listener.configure = xdg_surface_configure; @@ -250,16 +339,26 @@ static void setup_toplevel(MwLL r, int x, int y) { r->wayland.toplevel->xdg_toplevel_listener.configure = xdg_toplevel_configure; r->wayland.toplevel->xdg_toplevel_listener.close = xdg_toplevel_close; - xdg_surface_add_listener(r->wayland.toplevel->xdg_surface, &r->wayland.toplevel->xdg_surface_listener, r); - xdg_toplevel_add_listener(r->wayland.toplevel->xdg_top_level, &r->wayland.toplevel->xdg_toplevel_listener, - r); + if(r->wayland.has_decorations) { + xdg_surface_add_listener(r->wayland.toplevel->xdg_surface, &r->wayland.toplevel->xdg_surface_listener, r); + xdg_toplevel_add_listener(r->wayland.toplevel->xdg_top_level, &r->wayland.toplevel->xdg_toplevel_listener, + r); - xdg_toplevel_set_title(r->wayland.toplevel->xdg_top_level, "Milsko App"); - xdg_toplevel_set_app_id(r->wayland.toplevel->xdg_top_level, "MilskoWaylandApp"); + xdg_toplevel_set_title(r->wayland.toplevel->xdg_top_level, "Milsko App"); + xdg_toplevel_set_app_id(r->wayland.toplevel->xdg_top_level, "MilskoWaylandApp"); + } else { + r->wayland.decor = wl_call_tbl.libdecor_new(r->wayland.display, &libdecor_interface); + r->wayland.decor_frame = wl_call_tbl.libdecor_decorate(r->wayland.decor, r->wayland.framebuffer.surface, + &libdecor_frame_iface, r); + wl_call_tbl.libdecor_frame_set_app_id(r->wayland.decor_frame, "milsko-app"); + wl_call_tbl.libdecor_frame_set_title(r->wayland.decor_frame, "Milsko App"); + wl_call_tbl.libdecor_frame_map(r->wayland.decor_frame); + } /* Perform the initial commit and wait for the first configure event */ - wl_surface_commit(r->wayland.backbuffer.surface); wl_surface_commit(r->wayland.framebuffer.surface); + wl_surface_commit(r->wayland.backbuffer.surface); + while(!r->wayland.configured) { event_loop(r); } @@ -273,8 +372,6 @@ static void setup_toplevel(MwLL r, int x, int y) { zxdg_toplevel_decoration_v1_set_mode( dec->decoration, ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); - } else { - wl_subsurface_set_position(r->wayland.toplevel->ssurface, CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_TOP); } } @@ -406,6 +503,7 @@ struct xdg_popup_listener popup_listener = { /* Popup setup function */ static void setup_popup(MwLL r, int x, int y, MwLL parent) { struct xdg_surface* xdg_surface; + struct xdg_surface* parent_xdg_surface; MwLL topmost_parent = r->wayland.parent; r->wayland.type = MwLL_WAYLAND_POPUP; @@ -437,7 +535,7 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { /* check now if we have decorations so that everything else can act accordingly */ if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { - r->wayland.has_decorations = MwTRUE; + // r->wayland.has_decorations = MwTRUE; } r->wayland.popup->xdg_wm_base = WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context; @@ -455,16 +553,20 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { r->wayland.framebuffer.surface = wl_compositor_create_surface(r->wayland.compositor); + if(r->wayland.has_decorations) { + parent_xdg_surface = topmost_parent->wayland.toplevel->xdg_surface; + } else { + parent_xdg_surface = wl_call_tbl.libdecor_frame_get_xdg_surface(topmost_parent->wayland.decor_frame); + } + r->wayland.popup->xdg_surface = xdg_wm_base_get_xdg_surface(WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context, r->wayland.framebuffer.surface); r->wayland.popup->xdg_popup = xdg_surface_get_popup( r->wayland.popup->xdg_surface, - xdg_surface, + parent_xdg_surface, r->wayland.popup->xdg_positioner); - uint32_t ver = wl_proxy_get_version((struct wl_proxy*)r->wayland.popup->xdg_popup); - xdg_popup_add_listener(r->wayland.popup->xdg_popup, &popup_listener, r); r->wayland.popup->xdg_surface_listener.configure = xdg_surface_configure; @@ -783,7 +885,11 @@ static void actually_set_wh(MwLL handle) { MwLLWaylandRegionInvalidate(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL && handle->wayland.configured) { - xdg_surface_set_window_geometry(handle->wayland.toplevel->xdg_surface, 0, 0, handle->wayland.ww, handle->wayland.wh); + if(handle->wayland.has_decorations) { + xdg_surface_set_window_geometry(handle->wayland.toplevel->xdg_surface, 0, 0, handle->wayland.ww, handle->wayland.wh); + } else { + xdg_surface_set_window_geometry(wl_call_tbl.libdecor_frame_get_xdg_surface(handle->wayland.decor_frame), 0, 0, handle->wayland.ww, handle->wayland.wh); + } } if(handle->wayland.type == MwLL_WAYLAND_SUBLEVEL && handle->wayland.configured && !handle->wayland.dispatching_resize) { @@ -831,101 +937,6 @@ static void MwLLSetWHImpl(MwLL handle, int w, int h) { } static void MwLLBeginDrawImpl(MwLL handle) { - cairo_save(handle->wayland.front_cairo); - cairo_set_source_rgba(handle->wayland.front_cairo, 0, 0, 0, 0); - cairo_set_operator(handle->wayland.front_cairo, CAIRO_OPERATOR_SOURCE); - cairo_rectangle(handle->wayland.front_cairo, 0, 0, handle->wayland.ww, handle->wayland.wh); - cairo_fill(handle->wayland.front_cairo); - cairo_restore(handle->wayland.front_cairo); - - if(handle->wayland.type != MwLL_WAYLAND_TOPLEVEL) { - handle->wayland.selected_cairo = handle->wayland.front_cairo; - return; - } - - if(!handle->wayland.has_decorations) { - int x; - MwU32 w = handle->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; - MwU32 h = handle->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; - cairo_set_line_width(handle->wayland.back_cairo, 4.0); - for(x = 0; x < w; x++) { - float placeholder = (float)x / (float)w; - cairo_set_source_rgb(handle->wayland.back_cairo, placeholder, 0.25, 0.25); - - cairo_move_to(handle->wayland.back_cairo, w - x, 0); - cairo_line_to(handle->wayland.back_cairo, w - x, CSD_BORDER_FRAME_TOP); - cairo_stroke(handle->wayland.back_cairo); - - cairo_move_to(handle->wayland.back_cairo, x, CSD_BORDER_FRAME_TOP); - cairo_line_to(handle->wayland.back_cairo, x, h); - cairo_stroke(handle->wayland.back_cairo); - } - cairo_set_source_rgba(handle->wayland.back_cairo, 1, 1, 1, 0.5); - cairo_move_to(handle->wayland.back_cairo, 0, 0); - cairo_line_to(handle->wayland.back_cairo, 0, h); - cairo_stroke(handle->wayland.back_cairo); - cairo_move_to(handle->wayland.back_cairo, 0, 0); - cairo_line_to(handle->wayland.back_cairo, w, 0); - cairo_stroke(handle->wayland.back_cairo); - - cairo_set_source_rgba(handle->wayland.back_cairo, 0, 0, 0, 0.5); - cairo_move_to(handle->wayland.back_cairo, 0, h); - cairo_line_to(handle->wayland.back_cairo, w, h); - cairo_stroke(handle->wayland.back_cairo); - cairo_move_to(handle->wayland.back_cairo, w, 0); - cairo_line_to(handle->wayland.back_cairo, w, h); - cairo_stroke(handle->wayland.back_cairo); - - if(strlen(handle->wayland.title) != 0) { - int y, x; - int i = 0, sx = 0, sy = 0; - int tw, th; - unsigned char* px; - MwRect r; - MwLLPixmap p; - tw = strlen(handle->wayland.title) * 7; - th = 14; - px = malloc(tw * th * 4); - assert(px); - - memset(px, 0, tw * th * 4); - - handle->wayland.selected_cairo = handle->wayland.back_cairo; - - while(handle->wayland.title[i]) { - int out; - i += MwUTF8ToUTF32(handle->wayland.title + i, &out); - - if(out > 0xff) { - out = 0; - } - - for(y = 0; y < 14; y++) { - for(x = 0; x < 7; x++) { - unsigned char* ppx = &px[((sy + y) * tw + sx + x) * 4]; - int col = MwFontData[out].data[y] & (1 << ((7 - 1) - x)) ? 255 : 0; - ppx[0] = col; - ppx[1] = col; - ppx[2] = col; - ppx[3] = col; - } - } - sx += 7; - } - - p = MwLLCreatePixmap(handle, px, tw, th); - r.x = 5; - r.y = 5; - r.width = tw; - r.height = th; - - MwLLDrawPixmap(handle, &r, p); - MwLLDestroyPixmap(p); - free(px); - } - MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer); - } - handle->wayland.selected_cairo = handle->wayland.front_cairo; } static void MwLLEndDrawImpl(MwLL handle) { @@ -1074,6 +1085,10 @@ static void MwLLNextEventImpl(MwLL handle) { } } + if(handle->wayland.decor) { + wl_call_tbl.libdecor_dispatch(handle->wayland.decor, 0); + } + if(handle->wayland.force_render) { MwLLDispatch(handle, draw, NULL); if(handle->wayland.configured) MwLLWaylandBufferUpdate(handle, &handle->wayland.framebuffer); @@ -1086,7 +1101,11 @@ static void MwLLNextEventImpl(MwLL handle) { static void MwLLSetTitleImpl(MwLL handle, const char* title) { if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { - xdg_toplevel_set_title(handle->wayland.toplevel->xdg_top_level, title); + if(handle->wayland.has_decorations) { + xdg_toplevel_set_title(handle->wayland.toplevel->xdg_top_level, title); + } else { + wl_call_tbl.libdecor_frame_set_title(handle->wayland.decor_frame, title); + } } if(!handle->wayland.has_decorations) { strncpy(handle->wayland.title, title, 255); @@ -1143,7 +1162,6 @@ static void MwLLDestroyPixmapImpl(MwLLPixmap pixmap) { static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { cairo_t* c; cairo_surface_t* cs; - cairo_t* selected_cairo = handle->wayland.selected_cairo ? handle->wayland.selected_cairo : handle->wayland.front_cairo; if(rect->width <= 0 || rect->height <= 0 || pixmap->common.width <= 0 || pixmap->common.height <= 0) return; if(rect->width >= INT16_MAX) rect->width = INT16_MAX; @@ -1163,8 +1181,8 @@ static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { cairo_paint(c); - cairo_set_source_surface(selected_cairo, cs, rect->x, rect->y); - cairo_paint(selected_cairo); + cairo_set_source_surface(handle->wayland.front_cairo, cs, rect->x, rect->y); + cairo_paint(handle->wayland.front_cairo); cairo_destroy(c); cairo_surface_destroy(cs); From 6e2b0ff0973327d197cb5e9436e15131aa183158 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 13:52:11 -0700 Subject: [PATCH 006/119] wayland: shitdecor fixes --- src/backend/wayland/wayland.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 93d0686..768b2e3 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -386,9 +386,10 @@ static void destroy_toplevel(MwLL r) { wl_compositor_destroy(r->wayland.compositor); - xdg_surface_destroy(r->wayland.toplevel->xdg_surface); - - xdg_toplevel_destroy(r->wayland.toplevel->xdg_top_level); + if(r->wayland.has_decorations) { + xdg_surface_destroy(r->wayland.toplevel->xdg_surface); + xdg_toplevel_destroy(r->wayland.toplevel->xdg_top_level); + } xkb_keymap_unref(r->wayland.xkb_keymap); @@ -1086,7 +1087,7 @@ static void MwLLNextEventImpl(MwLL handle) { } if(handle->wayland.decor) { - wl_call_tbl.libdecor_dispatch(handle->wayland.decor, 0); + // wl_call_tbl.libdecor_dispatch(handle->wayland.decor, 0); } if(handle->wayland.force_render) { @@ -1329,8 +1330,10 @@ static void MwLLMakePopupImpl(MwLL handle, MwLL parent) { static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int maxy) { if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { - xdg_toplevel_set_min_size(handle->wayland.toplevel->xdg_top_level, minx, miny); - xdg_toplevel_set_max_size(handle->wayland.toplevel->xdg_top_level, maxx, maxy); + if(handle->wayland.has_decorations) { + xdg_toplevel_set_min_size(handle->wayland.toplevel->xdg_top_level, minx, miny); + xdg_toplevel_set_max_size(handle->wayland.toplevel->xdg_top_level, maxx, maxy); + } } } From 4c331ad2da15c260d045b2658bf4377b2796d282 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 13:53:32 -0700 Subject: [PATCH 007/119] wayland: undo the 'has_decorations' override --- src/backend/wayland/wayland.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 768b2e3..694fbaf 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -536,7 +536,7 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { /* check now if we have decorations so that everything else can act accordingly */ if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { - // r->wayland.has_decorations = MwTRUE; + r->wayland.has_decorations = MwTRUE; } r->wayland.popup->xdg_wm_base = WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context; From 0181a61a3d0b007326852bf7080da2c31935e862 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 13:56:20 -0700 Subject: [PATCH 008/119] add libdecor cflags to perl --- include/Mw/LowLevel/Wayland.h | 2 +- pl/ostype/Linux.pl | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 575c867..2053561 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -397,7 +397,7 @@ MwInline int wayland_load_funcs() { #include "Wayland/xdg-toplevel-icon-client-protocol.h" #endif -#include +#include typedef struct wayland_protocol { void* listener; diff --git a/pl/ostype/Linux.pl b/pl/ostype/Linux.pl index 75159d5..3cfdf24 100644 --- a/pl/ostype/Linux.pl +++ b/pl/ostype/Linux.pl @@ -2,6 +2,7 @@ my @enabled_backends = (); if (param_get("wayland") && not(param_get("tiny"))) { push(@enabled_backends, "wayland"); + add_cflags(`pkg-config --cflags libdecor-0`); } if (param_get("x11")) { push(@enabled_backends, "x11"); @@ -9,6 +10,7 @@ if (param_get("x11")) { add_cflags("-DUSE_DBUS"); + use_backend(@enabled_backends); 1; From 6f204af3e6148b6393c4e7fcac478dad101a5c42 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 14:02:41 -0700 Subject: [PATCH 009/119] wayland: fix comment --- src/backend/wayland/wayland.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 3d61932..befc2de 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -14,7 +14,7 @@ static pthread_mutex_t destroyedWidgetsTableMutex; /* * So Wayland, bless its soul; it keeps using callbacks LONG after they should not only be destroyed but the widget doesn't even exist anymore. Naturally, this causes use after free. so we fight fire with fire in the worst code i've ever written: by storing the freed pointers here, we disallow wayland from ever using them again. if something else is created that takes this slot, we remove it from the table. * - * TODO(IOI): FUCKING NO???? FIX THIS. + * To illustrate how bad this code is: if Israel and Palestine found out I was doing this then the Israel/Palestine conflict would be solved because both world leaders would come to the conclusion that this code is the worst thing ever. */ static MwLL* destroyedWidgetsTable; From 632f63dee8568ac2a343ccb0b876de6ae3f6173b Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 21 May 2026 06:03:40 +0900 Subject: [PATCH 010/119] backport fix --- src/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core.c b/src/core.c index db81a2b..b03fb46 100644 --- a/src/core.c +++ b/src/core.c @@ -354,6 +354,7 @@ void MwFreeWidget(MwWidget handle) { for(i = 0; i < arrlen(handle->children); i++) { MwFreeWidget(handle->children[i]); + i--; } arrfree(handle->children); From 9ee96a71c44727c049ef93eeae987ab3b2698c64 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 16:29:09 -0700 Subject: [PATCH 011/119] wayland: overhaul CSD, functions/looks much better. --- include/Mw/LowLevel/Wayland.h | 7 +- src/backend/wayland/interfaces.c | 21 ++++- src/backend/wayland/region.c | 4 + src/backend/wayland/wayland.c | 137 ++++++++++++++++++++++++------- 4 files changed, 135 insertions(+), 34 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index c6d397b..247f8c3 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -28,8 +28,8 @@ MWDECL int MwLLWaylandCallInit(void); #define CSD_BORDER_FRAME_LEFT 5 #define CSD_BORDER_FRAME_RIGHT 5 -#define CSD_BORDER_FRAME_TOP 24 -#define CSD_BORDER_FRAME_BOTTOM 5 +#define CSD_BORDER_FRAME_TOP 23 +#define CSD_BORDER_FRAME_BOTTOM 4 struct _MwLLWayland; @@ -360,6 +360,7 @@ struct _MwLLWaylandTopLevel { struct xdg_toplevel* xdg_top_level; struct xdg_toplevel_listener xdg_toplevel_listener; struct xdg_surface_listener xdg_surface_listener; + MwBool maxim_state; MwBool compositor_created; MwBool xdg_wm_base_created; @@ -555,6 +556,8 @@ struct _MwLLWayland { struct _MwLLWaylandShmBuffer cursor; struct _MwLLWaylandShmBuffer* icon; + MwLLPixmap icon_pixmap; + pthread_mutex_t eventsMutex; int cancelEvent; diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index fa64268..5325096 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -406,6 +406,10 @@ static void pointer_enter(void* data, struct wl_pointer* wl_pointer, MwU32 seria wl_pointer_set_cursor(self->wayland.pointer, self->wayland.pointer_serial, topmost_parent->wayland.cursor.surface, 0, 0); } + + if(self->wayland.backbuffer.surface == surface) { + curSurface = surface; + } WAYLAND_EVENT_OP_END(self); }; @@ -440,7 +444,22 @@ static void xdg_borderless_step(MwLL self, MwMouse p, MwU32 serial) { } else if(p.point.x <= 5) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_LEFT); } else if(p.point.y <= CSD_BORDER_FRAME_TOP) { - xdg_toplevel_move(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial); + if(p.point.x >= CSD_BORDER_FRAME_LEFT && p.point.x <= CSD_BORDER_FRAME_LEFT + 18) { + MwLLDispatch(self, close, NULL); + } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 21) { + xdg_toplevel_set_minimized(self->wayland.toplevel->xdg_top_level); + } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 38) { + self->wayland.toplevel->maxim_state = !self->wayland.toplevel->maxim_state; + if(self->wayland.toplevel->maxim_state == 0) { + xdg_toplevel_unset_maximized(self->wayland.toplevel->xdg_top_level); + } else { + xdg_toplevel_set_maximized(self->wayland.toplevel->xdg_top_level); + } + self->wayland.setting_wh = 1; + MwLLWaylandRegionSetup(self); + } else { + xdg_toplevel_move(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial); + } } }; } diff --git a/src/backend/wayland/region.c b/src/backend/wayland/region.c index 207fa59..c1bab73 100644 --- a/src/backend/wayland/region.c +++ b/src/backend/wayland/region.c @@ -11,6 +11,10 @@ void MwLLWaylandRegionSetup(MwLL handle) { int width = (handle->wayland.clipping_rect.width == 0) ? handle->wayland.ww : handle->wayland.clipping_rect.width; int height = (handle->wayland.clipping_rect.height == 0) ? handle->wayland.wh : handle->wayland.clipping_rect.height; + if(!handle->wayland.has_decorations && handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + width += CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; + height += CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; + } if(!handle->wayland.configured) { return; } diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index befc2de..73a51cf 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -176,6 +176,12 @@ static void xdg_toplevel_configure(void* data, MwLLWaylandRegionInvalidate(self); self->wayland.ww = width; self->wayland.wh = height; + if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + if(!self->wayland.has_decorations && self->wayland.toplevel->maxim_state) { + self->wayland.ww -= CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; + self->wayland.wh -= CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; + } + } if(self->wayland.resizing == 0) { xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh); @@ -885,6 +891,18 @@ static void MwLLSetWHImpl(MwLL handle, int w, int h) { handle->wayland.events_pending = 1; } +typedef struct { + double r, g, b; +} float_color; +static float_color lerp_color(float_color a, float_color b, float t) { + return (float_color){ + a.r + (b.r - a.r) * t, + a.g + (b.g - a.g) * t, + a.b + (b.b - a.b) * t}; +} +const float_color one = {.2627451, .37254902, .49411765}; +const float_color two = {.05490196, .17254902, .30588235}; + static void MwLLBeginDrawImpl(MwLL handle) { WIDGET_CHECK(handle); cairo_save(handle->wayland.front_cairo); @@ -900,44 +918,90 @@ static void MwLLBeginDrawImpl(MwLL handle) { } if(!handle->wayland.has_decorations) { - int x; - MwU32 w = handle->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; - MwU32 h = handle->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; - cairo_set_line_width(handle->wayland.back_cairo, 4.0); - for(x = 0; x < w; x++) { - float placeholder = (float)x / (float)w; - cairo_set_source_rgb(handle->wayland.back_cairo, placeholder, 0.25, 0.25); + int y; + MwU32 w = handle->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; + MwU32 h = handle->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; + MwRect r; + handle->wayland.selected_cairo = handle->wayland.back_cairo; - cairo_move_to(handle->wayland.back_cairo, w - x, 0); - cairo_line_to(handle->wayland.back_cairo, w - x, CSD_BORDER_FRAME_TOP); - cairo_stroke(handle->wayland.back_cairo); +#define DO_BOX(x, y, col, w, h) \ + cairo_rectangle(handle->wayland.back_cairo, x, y, w, h); \ + cairo_set_source_rgb(handle->wayland.back_cairo, col, col, col); \ + cairo_fill(handle->wayland.back_cairo); - cairo_move_to(handle->wayland.back_cairo, x, CSD_BORDER_FRAME_TOP); - cairo_line_to(handle->wayland.back_cairo, x, h); +#define DO_LINE(off, col) \ + cairo_move_to(handle->wayland.back_cairo, off, off); \ + cairo_line_to(handle->wayland.back_cairo, off, h - (off)); \ + cairo_set_source_rgb(handle->wayland.back_cairo, col, col, col); \ + cairo_stroke(handle->wayland.back_cairo); \ + cairo_move_to(handle->wayland.back_cairo, off, off); \ + cairo_line_to(handle->wayland.back_cairo, w - (off), off); \ + cairo_set_source_rgb(handle->wayland.back_cairo, col, col, col); \ + cairo_stroke(handle->wayland.back_cairo); + + /* border */ + cairo_set_antialias(handle->wayland.back_cairo, CAIRO_ANTIALIAS_NONE); + + DO_BOX(0, 0, 0.14901961, w, h); + DO_BOX(1, 1, 0.55686275, w - 2, h - 2); + DO_BOX(2, 2, 0.82352941, w - 4, h - 4); + DO_BOX(3, 3, 0.93333333, w - 6, h - 6); + DO_BOX(4, 4, 1, w - 8, h - 8); + DO_BOX(4, 4, 0.14901961, w - CSD_BORDER_FRAME_LEFT - 4, h - CSD_BORDER_FRAME_BOTTOM - 4); + cairo_set_line_width(handle->wayland.back_cairo, 1.0); + + DO_LINE(1, 1) + DO_LINE(2, 0.93333333) + DO_LINE(3, 0.82352941) + DO_LINE(4, 0.55686275) + DO_LINE(5, 0.14901961) + + cairo_set_line_width(handle->wayland.back_cairo, 2.0); + for(y = 1; y < CSD_BORDER_FRAME_TOP - CSD_BORDER_FRAME_LEFT; y++) { + float_color c = lerp_color(one, two, (double)y / (double)(CSD_BORDER_FRAME_TOP - CSD_BORDER_FRAME_LEFT)); + + cairo_set_source_rgb(handle->wayland.back_cairo, c.r, c.g, c.b); + + cairo_move_to(handle->wayland.back_cairo, CSD_BORDER_FRAME_LEFT, y + CSD_BORDER_FRAME_LEFT); + cairo_line_to(handle->wayland.back_cairo, w - CSD_BORDER_FRAME_RIGHT, y + CSD_BORDER_FRAME_LEFT); cairo_stroke(handle->wayland.back_cairo); } - cairo_set_source_rgba(handle->wayland.back_cairo, 1, 1, 1, 0.5); - cairo_move_to(handle->wayland.back_cairo, 0, 0); - cairo_line_to(handle->wayland.back_cairo, 0, h); - cairo_stroke(handle->wayland.back_cairo); - cairo_move_to(handle->wayland.back_cairo, 0, 0); - cairo_line_to(handle->wayland.back_cairo, w, 0); - cairo_stroke(handle->wayland.back_cairo); - cairo_set_source_rgba(handle->wayland.back_cairo, 0, 0, 0, 0.5); - cairo_move_to(handle->wayland.back_cairo, 0, h); - cairo_line_to(handle->wayland.back_cairo, w, h); - cairo_stroke(handle->wayland.back_cairo); - cairo_move_to(handle->wayland.back_cairo, w, 0); - cairo_line_to(handle->wayland.back_cairo, w, h); - cairo_stroke(handle->wayland.back_cairo); + /* icon */ + r.x = CSD_BORDER_FRAME_LEFT + 1; + r.y = CSD_BORDER_FRAME_RIGHT + 1; + r.width = 15; + r.height = 15; + DO_BOX(5, 5, 1, 18, 18); + DO_BOX(6, 6, 0.35294118, 17, 17); + DO_BOX(6, 6, 0.82352941, 16, 16); + handle->wayland.selected_cairo = handle->wayland.back_cairo; + if(handle->wayland.icon_pixmap) { + MwLLDrawPixmap(handle, &r, handle->wayland.icon_pixmap); + } + /* close */ + DO_BOX(w - 19 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 1, 1, 18, 18); + DO_BOX(w - 18 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 2, 0.35294118, 17, 17); + DO_BOX(w - 18 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 2, 0.82352941, 16, 16); + DO_BOX(w - 18 - CSD_BORDER_FRAME_LEFT + 5, CSD_BORDER_FRAME_BOTTOM + 7, 0, 6, 6); + DO_BOX(w - 18 - CSD_BORDER_FRAME_LEFT + 6, CSD_BORDER_FRAME_BOTTOM + 8, 0.82352941, 4, 4); + + /* maxim */ + DO_BOX(w - 37 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 1, 1, 18, 18); + DO_BOX(w - 36 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 2, 0.35294118, 17, 17); + DO_BOX(w - 36 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 2, 0.82352941, 16, 16); + DO_BOX(w - 36 - CSD_BORDER_FRAME_LEFT + 5, CSD_BORDER_FRAME_BOTTOM + 7, 0, 6, 6); + DO_BOX(w - 36 - CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_BOTTOM + 9, 0.82352941, 16, 2); + DO_BOX(w - 36 - CSD_BORDER_FRAME_LEFT + 7, CSD_BORDER_FRAME_BOTTOM + 4, 0.82352941, 2, 14); + DO_BOX(w - 36 - CSD_BORDER_FRAME_LEFT + 6, CSD_BORDER_FRAME_BOTTOM + 8, 0.82352941, 4, 4); + + /* title */ if(strlen(handle->wayland.title) != 0) { int y, x; int i = 0, sx = 0, sy = 0; int tw, th; unsigned char* px; - MwRect r; MwLLPixmap p; tw = strlen(handle->wayland.title) * 7; th = 14; @@ -946,8 +1010,6 @@ static void MwLLBeginDrawImpl(MwLL handle) { memset(px, 0, tw * th * 4); - handle->wayland.selected_cairo = handle->wayland.back_cairo; - while(handle->wayland.title[i]) { int out; i += MwUTF8ToUTF32(handle->wayland.title + i, &out); @@ -970,8 +1032,8 @@ static void MwLLBeginDrawImpl(MwLL handle) { } p = MwLLCreatePixmap(handle, px, tw, th); - r.x = 5; - r.y = 5; + r.x = 24; + r.y = 5 + 2; r.width = tw; r.height = th; @@ -1156,6 +1218,8 @@ static void MwLLSetTitleImpl(MwLL handle, const char* title) { strncpy(handle->wayland.title, title, 255); MwLLBeginDraw(handle); MwLLEndDraw(handle); + + xdg_toplevel_set_min_size(handle->wayland.toplevel->xdg_top_level, (strlen(handle->wayland.title) * 8) + 64, 64); } } @@ -1279,6 +1343,17 @@ static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { xdg_toplevel_icon_manager_v1_set_icon(icon_manager, handle->wayland.toplevel->xdg_top_level, icon); } } + if(!handle->wayland.has_decorations) { + if(handle->wayland.icon_pixmap) { + MwLLDestroyPixmap(handle->wayland.icon_pixmap); + } + handle->wayland.icon_pixmap = MwLLCreatePixmap(handle, pixmap->common.raw, pixmap->common.width, pixmap->common.height); + + actually_set_wh(handle); + actually_set_wh(handle); + MwLLBeginDraw(handle); + MwLLEndDraw(handle); + } } static void MwLLForceRenderImpl(MwLL handle) { From 31df1aa72c70031418c420731837c9de5d9d3e95 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 20 May 2026 16:33:43 -0700 Subject: [PATCH 012/119] wayland: don't incl dbus --- include/Mw/LowLevel/Wayland.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 247f8c3..acbb95a 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -14,7 +14,6 @@ #include #include #include -#include #ifdef __cplusplus extern "C" { From 1fe971e1df9147f781bd14b0d54c5a42c8c58b6b Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 21 May 2026 08:43:45 +0900 Subject: [PATCH 013/119] fix --- src/core.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/core.c b/src/core.c index b03fb46..db81a2b 100644 --- a/src/core.c +++ b/src/core.c @@ -354,7 +354,6 @@ void MwFreeWidget(MwWidget handle) { for(i = 0; i < arrlen(handle->children); i++) { MwFreeWidget(handle->children[i]); - i--; } arrfree(handle->children); From 2e2833f57b2fbf5bc4067eb2a8eeaa6d7a730fbc Mon Sep 17 00:00:00 2001 From: Nishi Date: Thu, 21 May 2026 10:56:12 +0900 Subject: [PATCH 014/119] color --- include/Mw/Draw.h | 6 + src/color.c | 5500 +++++++------------------------------------ src/core.c | 4 +- src/widget/label.c | 4 +- src/widget/opengl.c | 8 +- tools/color.pl | 34 +- 6 files changed, 844 insertions(+), 4712 deletions(-) diff --git a/include/Mw/Draw.h b/include/Mw/Draw.h index ae42899..deefe0f 100644 --- a/include/Mw/Draw.h +++ b/include/Mw/Draw.h @@ -28,6 +28,12 @@ MWDECL MwLLColor MWAPI MwParseColor(MwWidget handle, const char* text); */ MWDECL void MWAPI MwParseColorNoAllocate(const char* text, MwRGB* rgb); +/*! + * @brief Initialize color table + * @warning This is called in MwLibraryInit - you do not have to call this + */ +MWDECL void MWAPI MwColorTableInit(void); + /*! * @brief Lighten a color * @param handle Widget diff --git a/src/color.c b/src/color.c index 49c06d6..ae3667e 100644 --- a/src/color.c +++ b/src/color.c @@ -1,5 +1,14 @@ #include +#include "../external/stb_ds.h" + +struct color { + char* key; + MwU32 value; +}; + +static struct color* colors = NULL; + MwLLColor MwParseColorName(MwWidget handle, const char* color) { MwRGB rgb; MwParseColorNameNoAllocate(color, &rgb); @@ -7,4699 +16,800 @@ MwLLColor MwParseColorName(MwWidget handle, const char* color) { } void MwParseColorNameNoAllocate(const char* color, MwRGB* rgb) { - if(strcmp(color, "snow") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 250; - return; - } - if(strcmp(color, "ghost white") == 0) { - rgb->red = 248; - rgb->green = 248; - rgb->blue = 255; - return; - } - if(strcmp(color, "GhostWhite") == 0) { - rgb->red = 248; - rgb->green = 248; - rgb->blue = 255; - return; - } - if(strcmp(color, "white smoke") == 0) { - rgb->red = 245; - rgb->green = 245; - rgb->blue = 245; - return; - } - if(strcmp(color, "WhiteSmoke") == 0) { - rgb->red = 245; - rgb->green = 245; - rgb->blue = 245; - return; - } - if(strcmp(color, "gainsboro") == 0) { - rgb->red = 220; - rgb->green = 220; - rgb->blue = 220; - return; - } - if(strcmp(color, "floral white") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 240; - return; - } - if(strcmp(color, "FloralWhite") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 240; - return; - } - if(strcmp(color, "old lace") == 0) { - rgb->red = 253; - rgb->green = 245; - rgb->blue = 230; - return; - } - if(strcmp(color, "OldLace") == 0) { - rgb->red = 253; - rgb->green = 245; - rgb->blue = 230; - return; - } - if(strcmp(color, "linen") == 0) { - rgb->red = 250; - rgb->green = 240; - rgb->blue = 230; - return; - } - if(strcmp(color, "antique white") == 0) { - rgb->red = 250; - rgb->green = 235; - rgb->blue = 215; - return; - } - if(strcmp(color, "AntiqueWhite") == 0) { - rgb->red = 250; - rgb->green = 235; - rgb->blue = 215; - return; - } - if(strcmp(color, "papaya whip") == 0) { - rgb->red = 255; - rgb->green = 239; - rgb->blue = 213; - return; - } - if(strcmp(color, "PapayaWhip") == 0) { - rgb->red = 255; - rgb->green = 239; - rgb->blue = 213; - return; - } - if(strcmp(color, "blanched almond") == 0) { - rgb->red = 255; - rgb->green = 235; - rgb->blue = 205; - return; - } - if(strcmp(color, "BlanchedAlmond") == 0) { - rgb->red = 255; - rgb->green = 235; - rgb->blue = 205; - return; - } - if(strcmp(color, "bisque") == 0) { - rgb->red = 255; - rgb->green = 228; - rgb->blue = 196; - return; - } - if(strcmp(color, "peach puff") == 0) { - rgb->red = 255; - rgb->green = 218; - rgb->blue = 185; - return; - } - if(strcmp(color, "PeachPuff") == 0) { - rgb->red = 255; - rgb->green = 218; - rgb->blue = 185; - return; - } - if(strcmp(color, "navajo white") == 0) { - rgb->red = 255; - rgb->green = 222; - rgb->blue = 173; - return; - } - if(strcmp(color, "NavajoWhite") == 0) { - rgb->red = 255; - rgb->green = 222; - rgb->blue = 173; - return; - } - if(strcmp(color, "moccasin") == 0) { - rgb->red = 255; - rgb->green = 228; - rgb->blue = 181; - return; - } - if(strcmp(color, "cornsilk") == 0) { - rgb->red = 255; - rgb->green = 248; - rgb->blue = 220; - return; - } - if(strcmp(color, "ivory") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 240; - return; - } - if(strcmp(color, "lemon chiffon") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 205; - return; - } - if(strcmp(color, "LemonChiffon") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 205; - return; - } - if(strcmp(color, "seashell") == 0) { - rgb->red = 255; - rgb->green = 245; - rgb->blue = 238; - return; - } - if(strcmp(color, "honeydew") == 0) { - rgb->red = 240; - rgb->green = 255; - rgb->blue = 240; - return; - } - if(strcmp(color, "mint cream") == 0) { - rgb->red = 245; - rgb->green = 255; - rgb->blue = 250; - return; - } - if(strcmp(color, "MintCream") == 0) { - rgb->red = 245; - rgb->green = 255; - rgb->blue = 250; - return; - } - if(strcmp(color, "azure") == 0) { - rgb->red = 240; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "alice blue") == 0) { - rgb->red = 240; - rgb->green = 248; - rgb->blue = 255; - return; - } - if(strcmp(color, "AliceBlue") == 0) { - rgb->red = 240; - rgb->green = 248; - rgb->blue = 255; - return; - } - if(strcmp(color, "lavender") == 0) { - rgb->red = 230; - rgb->green = 230; - rgb->blue = 250; - return; - } - if(strcmp(color, "lavender blush") == 0) { - rgb->red = 255; - rgb->green = 240; - rgb->blue = 245; - return; - } - if(strcmp(color, "LavenderBlush") == 0) { - rgb->red = 255; - rgb->green = 240; - rgb->blue = 245; - return; - } - if(strcmp(color, "misty rose") == 0) { - rgb->red = 255; - rgb->green = 228; - rgb->blue = 225; - return; - } - if(strcmp(color, "MistyRose") == 0) { - rgb->red = 255; - rgb->green = 228; - rgb->blue = 225; - return; - } - if(strcmp(color, "white") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "black") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "dark slate gray") == 0) { - rgb->red = 47; - rgb->green = 79; - rgb->blue = 79; - return; - } - if(strcmp(color, "DarkSlateGray") == 0) { - rgb->red = 47; - rgb->green = 79; - rgb->blue = 79; - return; - } - if(strcmp(color, "dark slate grey") == 0) { - rgb->red = 47; - rgb->green = 79; - rgb->blue = 79; - return; - } - if(strcmp(color, "DarkSlateGrey") == 0) { - rgb->red = 47; - rgb->green = 79; - rgb->blue = 79; - return; - } - if(strcmp(color, "dim gray") == 0) { - rgb->red = 105; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "DimGray") == 0) { - rgb->red = 105; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "dim grey") == 0) { - rgb->red = 105; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "DimGrey") == 0) { - rgb->red = 105; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "slate gray") == 0) { - rgb->red = 112; - rgb->green = 128; - rgb->blue = 144; - return; - } - if(strcmp(color, "SlateGray") == 0) { - rgb->red = 112; - rgb->green = 128; - rgb->blue = 144; - return; - } - if(strcmp(color, "slate grey") == 0) { - rgb->red = 112; - rgb->green = 128; - rgb->blue = 144; - return; - } - if(strcmp(color, "SlateGrey") == 0) { - rgb->red = 112; - rgb->green = 128; - rgb->blue = 144; - return; - } - if(strcmp(color, "light slate gray") == 0) { - rgb->red = 119; - rgb->green = 136; - rgb->blue = 153; - return; - } - if(strcmp(color, "LightSlateGray") == 0) { - rgb->red = 119; - rgb->green = 136; - rgb->blue = 153; - return; - } - if(strcmp(color, "light slate grey") == 0) { - rgb->red = 119; - rgb->green = 136; - rgb->blue = 153; - return; - } - if(strcmp(color, "LightSlateGrey") == 0) { - rgb->red = 119; - rgb->green = 136; - rgb->blue = 153; - return; - } - if(strcmp(color, "gray") == 0) { - rgb->red = 190; - rgb->green = 190; - rgb->blue = 190; - return; - } - if(strcmp(color, "grey") == 0) { - rgb->red = 190; - rgb->green = 190; - rgb->blue = 190; - return; - } - if(strcmp(color, "x11 gray") == 0) { - rgb->red = 190; - rgb->green = 190; - rgb->blue = 190; - return; - } - if(strcmp(color, "X11Gray") == 0) { - rgb->red = 190; - rgb->green = 190; - rgb->blue = 190; - return; - } - if(strcmp(color, "x11 grey") == 0) { - rgb->red = 190; - rgb->green = 190; - rgb->blue = 190; - return; - } - if(strcmp(color, "X11Grey") == 0) { - rgb->red = 190; - rgb->green = 190; - rgb->blue = 190; - return; - } - if(strcmp(color, "web gray") == 0) { - rgb->red = 128; - rgb->green = 128; - rgb->blue = 128; - return; - } - if(strcmp(color, "WebGray") == 0) { - rgb->red = 128; - rgb->green = 128; - rgb->blue = 128; - return; - } - if(strcmp(color, "web grey") == 0) { - rgb->red = 128; - rgb->green = 128; - rgb->blue = 128; - return; - } - if(strcmp(color, "WebGrey") == 0) { - rgb->red = 128; - rgb->green = 128; - rgb->blue = 128; - return; - } - if(strcmp(color, "light grey") == 0) { - rgb->red = 211; - rgb->green = 211; - rgb->blue = 211; - return; - } - if(strcmp(color, "LightGrey") == 0) { - rgb->red = 211; - rgb->green = 211; - rgb->blue = 211; - return; - } - if(strcmp(color, "light gray") == 0) { - rgb->red = 211; - rgb->green = 211; - rgb->blue = 211; - return; - } - if(strcmp(color, "LightGray") == 0) { - rgb->red = 211; - rgb->green = 211; - rgb->blue = 211; - return; - } - if(strcmp(color, "midnight blue") == 0) { - rgb->red = 25; - rgb->green = 25; - rgb->blue = 112; - return; - } - if(strcmp(color, "MidnightBlue") == 0) { - rgb->red = 25; - rgb->green = 25; - rgb->blue = 112; - return; - } - if(strcmp(color, "navy") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 128; - return; - } - if(strcmp(color, "navy blue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 128; - return; - } - if(strcmp(color, "NavyBlue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 128; - return; - } - if(strcmp(color, "cornflower blue") == 0) { - rgb->red = 100; - rgb->green = 149; - rgb->blue = 237; - return; - } - if(strcmp(color, "CornflowerBlue") == 0) { - rgb->red = 100; - rgb->green = 149; - rgb->blue = 237; - return; - } - if(strcmp(color, "dark slate blue") == 0) { - rgb->red = 72; - rgb->green = 61; - rgb->blue = 139; - return; - } - if(strcmp(color, "DarkSlateBlue") == 0) { - rgb->red = 72; - rgb->green = 61; - rgb->blue = 139; - return; - } - if(strcmp(color, "slate blue") == 0) { - rgb->red = 106; - rgb->green = 90; - rgb->blue = 205; - return; - } - if(strcmp(color, "SlateBlue") == 0) { - rgb->red = 106; - rgb->green = 90; - rgb->blue = 205; - return; - } - if(strcmp(color, "medium slate blue") == 0) { - rgb->red = 123; - rgb->green = 104; - rgb->blue = 238; - return; - } - if(strcmp(color, "MediumSlateBlue") == 0) { - rgb->red = 123; - rgb->green = 104; - rgb->blue = 238; - return; - } - if(strcmp(color, "light slate blue") == 0) { - rgb->red = 132; - rgb->green = 112; - rgb->blue = 255; - return; - } - if(strcmp(color, "LightSlateBlue") == 0) { - rgb->red = 132; - rgb->green = 112; - rgb->blue = 255; - return; - } - if(strcmp(color, "medium blue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 205; - return; - } - if(strcmp(color, "MediumBlue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 205; - return; - } - if(strcmp(color, "royal blue") == 0) { - rgb->red = 65; - rgb->green = 105; - rgb->blue = 225; - return; - } - if(strcmp(color, "RoyalBlue") == 0) { - rgb->red = 65; - rgb->green = 105; - rgb->blue = 225; - return; - } - if(strcmp(color, "blue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 255; - return; - } - if(strcmp(color, "dodger blue") == 0) { - rgb->red = 30; - rgb->green = 144; - rgb->blue = 255; - return; - } - if(strcmp(color, "DodgerBlue") == 0) { - rgb->red = 30; - rgb->green = 144; - rgb->blue = 255; - return; - } - if(strcmp(color, "deep sky blue") == 0) { - rgb->red = 0; - rgb->green = 191; - rgb->blue = 255; - return; - } - if(strcmp(color, "DeepSkyBlue") == 0) { - rgb->red = 0; - rgb->green = 191; - rgb->blue = 255; - return; - } - if(strcmp(color, "sky blue") == 0) { - rgb->red = 135; - rgb->green = 206; - rgb->blue = 235; - return; - } - if(strcmp(color, "SkyBlue") == 0) { - rgb->red = 135; - rgb->green = 206; - rgb->blue = 235; - return; - } - if(strcmp(color, "light sky blue") == 0) { - rgb->red = 135; - rgb->green = 206; - rgb->blue = 250; - return; - } - if(strcmp(color, "LightSkyBlue") == 0) { - rgb->red = 135; - rgb->green = 206; - rgb->blue = 250; - return; - } - if(strcmp(color, "steel blue") == 0) { - rgb->red = 70; - rgb->green = 130; - rgb->blue = 180; - return; - } - if(strcmp(color, "SteelBlue") == 0) { - rgb->red = 70; - rgb->green = 130; - rgb->blue = 180; - return; - } - if(strcmp(color, "light steel blue") == 0) { - rgb->red = 176; - rgb->green = 196; - rgb->blue = 222; - return; - } - if(strcmp(color, "LightSteelBlue") == 0) { - rgb->red = 176; - rgb->green = 196; - rgb->blue = 222; - return; - } - if(strcmp(color, "light blue") == 0) { - rgb->red = 173; - rgb->green = 216; - rgb->blue = 230; - return; - } - if(strcmp(color, "LightBlue") == 0) { - rgb->red = 173; - rgb->green = 216; - rgb->blue = 230; - return; - } - if(strcmp(color, "powder blue") == 0) { - rgb->red = 176; - rgb->green = 224; - rgb->blue = 230; - return; - } - if(strcmp(color, "PowderBlue") == 0) { - rgb->red = 176; - rgb->green = 224; - rgb->blue = 230; - return; - } - if(strcmp(color, "pale turquoise") == 0) { - rgb->red = 175; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "PaleTurquoise") == 0) { - rgb->red = 175; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "dark turquoise") == 0) { - rgb->red = 0; - rgb->green = 206; - rgb->blue = 209; - return; - } - if(strcmp(color, "DarkTurquoise") == 0) { - rgb->red = 0; - rgb->green = 206; - rgb->blue = 209; - return; - } - if(strcmp(color, "medium turquoise") == 0) { - rgb->red = 72; - rgb->green = 209; - rgb->blue = 204; - return; - } - if(strcmp(color, "MediumTurquoise") == 0) { - rgb->red = 72; - rgb->green = 209; - rgb->blue = 204; - return; - } - if(strcmp(color, "turquoise") == 0) { - rgb->red = 64; - rgb->green = 224; - rgb->blue = 208; - return; - } - if(strcmp(color, "cyan") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "aqua") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "light cyan") == 0) { - rgb->red = 224; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "LightCyan") == 0) { - rgb->red = 224; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "cadet blue") == 0) { - rgb->red = 95; - rgb->green = 158; - rgb->blue = 160; - return; - } - if(strcmp(color, "CadetBlue") == 0) { - rgb->red = 95; - rgb->green = 158; - rgb->blue = 160; - return; - } - if(strcmp(color, "medium aquamarine") == 0) { - rgb->red = 102; - rgb->green = 205; - rgb->blue = 170; - return; - } - if(strcmp(color, "MediumAquamarine") == 0) { - rgb->red = 102; - rgb->green = 205; - rgb->blue = 170; - return; - } - if(strcmp(color, "aquamarine") == 0) { - rgb->red = 127; - rgb->green = 255; - rgb->blue = 212; - return; - } - if(strcmp(color, "dark green") == 0) { - rgb->red = 0; - rgb->green = 100; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkGreen") == 0) { - rgb->red = 0; - rgb->green = 100; - rgb->blue = 0; - return; - } - if(strcmp(color, "dark olive green") == 0) { - rgb->red = 85; - rgb->green = 107; - rgb->blue = 47; - return; - } - if(strcmp(color, "DarkOliveGreen") == 0) { - rgb->red = 85; - rgb->green = 107; - rgb->blue = 47; - return; - } - if(strcmp(color, "dark sea green") == 0) { - rgb->red = 143; - rgb->green = 188; - rgb->blue = 143; - return; - } - if(strcmp(color, "DarkSeaGreen") == 0) { - rgb->red = 143; - rgb->green = 188; - rgb->blue = 143; - return; - } - if(strcmp(color, "sea green") == 0) { - rgb->red = 46; - rgb->green = 139; - rgb->blue = 87; - return; - } - if(strcmp(color, "SeaGreen") == 0) { - rgb->red = 46; - rgb->green = 139; - rgb->blue = 87; - return; - } - if(strcmp(color, "medium sea green") == 0) { - rgb->red = 60; - rgb->green = 179; - rgb->blue = 113; - return; - } - if(strcmp(color, "MediumSeaGreen") == 0) { - rgb->red = 60; - rgb->green = 179; - rgb->blue = 113; - return; - } - if(strcmp(color, "light sea green") == 0) { - rgb->red = 32; - rgb->green = 178; - rgb->blue = 170; - return; - } - if(strcmp(color, "LightSeaGreen") == 0) { - rgb->red = 32; - rgb->green = 178; - rgb->blue = 170; - return; - } - if(strcmp(color, "pale green") == 0) { - rgb->red = 152; - rgb->green = 251; - rgb->blue = 152; - return; - } - if(strcmp(color, "PaleGreen") == 0) { - rgb->red = 152; - rgb->green = 251; - rgb->blue = 152; - return; - } - if(strcmp(color, "spring green") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 127; - return; - } - if(strcmp(color, "SpringGreen") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 127; - return; - } - if(strcmp(color, "lawn green") == 0) { - rgb->red = 124; - rgb->green = 252; - rgb->blue = 0; - return; - } - if(strcmp(color, "LawnGreen") == 0) { - rgb->red = 124; - rgb->green = 252; - rgb->blue = 0; - return; - } - if(strcmp(color, "green") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "lime") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "x11 green") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "X11Green") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "web green") == 0) { - rgb->red = 0; - rgb->green = 128; - rgb->blue = 0; - return; - } - if(strcmp(color, "WebGreen") == 0) { - rgb->red = 0; - rgb->green = 128; - rgb->blue = 0; - return; - } - if(strcmp(color, "chartreuse") == 0) { - rgb->red = 127; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "medium spring green") == 0) { - rgb->red = 0; - rgb->green = 250; - rgb->blue = 154; - return; - } - if(strcmp(color, "MediumSpringGreen") == 0) { - rgb->red = 0; - rgb->green = 250; - rgb->blue = 154; - return; - } - if(strcmp(color, "green yellow") == 0) { - rgb->red = 173; - rgb->green = 255; - rgb->blue = 47; - return; - } - if(strcmp(color, "GreenYellow") == 0) { - rgb->red = 173; - rgb->green = 255; - rgb->blue = 47; - return; - } - if(strcmp(color, "lime green") == 0) { - rgb->red = 50; - rgb->green = 205; - rgb->blue = 50; - return; - } - if(strcmp(color, "LimeGreen") == 0) { - rgb->red = 50; - rgb->green = 205; - rgb->blue = 50; - return; - } - if(strcmp(color, "yellow green") == 0) { - rgb->red = 154; - rgb->green = 205; - rgb->blue = 50; - return; - } - if(strcmp(color, "YellowGreen") == 0) { - rgb->red = 154; - rgb->green = 205; - rgb->blue = 50; - return; - } - if(strcmp(color, "forest green") == 0) { - rgb->red = 34; - rgb->green = 139; - rgb->blue = 34; - return; - } - if(strcmp(color, "ForestGreen") == 0) { - rgb->red = 34; - rgb->green = 139; - rgb->blue = 34; - return; - } - if(strcmp(color, "olive drab") == 0) { - rgb->red = 107; - rgb->green = 142; - rgb->blue = 35; - return; - } - if(strcmp(color, "OliveDrab") == 0) { - rgb->red = 107; - rgb->green = 142; - rgb->blue = 35; - return; - } - if(strcmp(color, "dark khaki") == 0) { - rgb->red = 189; - rgb->green = 183; - rgb->blue = 107; - return; - } - if(strcmp(color, "DarkKhaki") == 0) { - rgb->red = 189; - rgb->green = 183; - rgb->blue = 107; - return; - } - if(strcmp(color, "khaki") == 0) { - rgb->red = 240; - rgb->green = 230; - rgb->blue = 140; - return; - } - if(strcmp(color, "pale goldenrod") == 0) { - rgb->red = 238; - rgb->green = 232; - rgb->blue = 170; - return; - } - if(strcmp(color, "PaleGoldenrod") == 0) { - rgb->red = 238; - rgb->green = 232; - rgb->blue = 170; - return; - } - if(strcmp(color, "light goldenrod yellow") == 0) { - rgb->red = 250; - rgb->green = 250; - rgb->blue = 210; - return; - } - if(strcmp(color, "LightGoldenrodYellow") == 0) { - rgb->red = 250; - rgb->green = 250; - rgb->blue = 210; - return; - } - if(strcmp(color, "light yellow") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 224; - return; - } - if(strcmp(color, "LightYellow") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 224; - return; - } - if(strcmp(color, "yellow") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "gold") == 0) { - rgb->red = 255; - rgb->green = 215; - rgb->blue = 0; - return; - } - if(strcmp(color, "light goldenrod") == 0) { - rgb->red = 238; - rgb->green = 221; - rgb->blue = 130; - return; - } - if(strcmp(color, "LightGoldenrod") == 0) { - rgb->red = 238; - rgb->green = 221; - rgb->blue = 130; - return; - } - if(strcmp(color, "goldenrod") == 0) { - rgb->red = 218; - rgb->green = 165; - rgb->blue = 32; - return; - } - if(strcmp(color, "dark goldenrod") == 0) { - rgb->red = 184; - rgb->green = 134; - rgb->blue = 11; - return; - } - if(strcmp(color, "DarkGoldenrod") == 0) { - rgb->red = 184; - rgb->green = 134; - rgb->blue = 11; - return; - } - if(strcmp(color, "rosy brown") == 0) { - rgb->red = 188; - rgb->green = 143; - rgb->blue = 143; - return; - } - if(strcmp(color, "RosyBrown") == 0) { - rgb->red = 188; - rgb->green = 143; - rgb->blue = 143; - return; - } - if(strcmp(color, "indian red") == 0) { - rgb->red = 205; - rgb->green = 92; - rgb->blue = 92; - return; - } - if(strcmp(color, "IndianRed") == 0) { - rgb->red = 205; - rgb->green = 92; - rgb->blue = 92; - return; - } - if(strcmp(color, "saddle brown") == 0) { - rgb->red = 139; - rgb->green = 69; - rgb->blue = 19; - return; - } - if(strcmp(color, "SaddleBrown") == 0) { - rgb->red = 139; - rgb->green = 69; - rgb->blue = 19; - return; - } - if(strcmp(color, "sienna") == 0) { - rgb->red = 160; - rgb->green = 82; - rgb->blue = 45; - return; - } - if(strcmp(color, "peru") == 0) { - rgb->red = 205; - rgb->green = 133; - rgb->blue = 63; - return; - } - if(strcmp(color, "burlywood") == 0) { - rgb->red = 222; - rgb->green = 184; - rgb->blue = 135; - return; - } - if(strcmp(color, "beige") == 0) { - rgb->red = 245; - rgb->green = 245; - rgb->blue = 220; - return; - } - if(strcmp(color, "wheat") == 0) { - rgb->red = 245; - rgb->green = 222; - rgb->blue = 179; - return; - } - if(strcmp(color, "sandy brown") == 0) { - rgb->red = 244; - rgb->green = 164; - rgb->blue = 96; - return; - } - if(strcmp(color, "SandyBrown") == 0) { - rgb->red = 244; - rgb->green = 164; - rgb->blue = 96; - return; - } - if(strcmp(color, "tan") == 0) { - rgb->red = 210; - rgb->green = 180; - rgb->blue = 140; - return; - } - if(strcmp(color, "chocolate") == 0) { - rgb->red = 210; - rgb->green = 105; - rgb->blue = 30; - return; - } - if(strcmp(color, "firebrick") == 0) { - rgb->red = 178; - rgb->green = 34; - rgb->blue = 34; - return; - } - if(strcmp(color, "brown") == 0) { - rgb->red = 165; - rgb->green = 42; - rgb->blue = 42; - return; - } - if(strcmp(color, "dark salmon") == 0) { - rgb->red = 233; - rgb->green = 150; - rgb->blue = 122; - return; - } - if(strcmp(color, "DarkSalmon") == 0) { - rgb->red = 233; - rgb->green = 150; - rgb->blue = 122; - return; - } - if(strcmp(color, "salmon") == 0) { - rgb->red = 250; - rgb->green = 128; - rgb->blue = 114; - return; - } - if(strcmp(color, "light salmon") == 0) { - rgb->red = 255; - rgb->green = 160; - rgb->blue = 122; - return; - } - if(strcmp(color, "LightSalmon") == 0) { - rgb->red = 255; - rgb->green = 160; - rgb->blue = 122; - return; - } - if(strcmp(color, "orange") == 0) { - rgb->red = 255; - rgb->green = 165; - rgb->blue = 0; - return; - } - if(strcmp(color, "dark orange") == 0) { - rgb->red = 255; - rgb->green = 140; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkOrange") == 0) { - rgb->red = 255; - rgb->green = 140; - rgb->blue = 0; - return; - } - if(strcmp(color, "coral") == 0) { - rgb->red = 255; - rgb->green = 127; - rgb->blue = 80; - return; - } - if(strcmp(color, "light coral") == 0) { - rgb->red = 240; - rgb->green = 128; - rgb->blue = 128; - return; - } - if(strcmp(color, "LightCoral") == 0) { - rgb->red = 240; - rgb->green = 128; - rgb->blue = 128; - return; - } - if(strcmp(color, "tomato") == 0) { - rgb->red = 255; - rgb->green = 99; - rgb->blue = 71; - return; - } - if(strcmp(color, "orange red") == 0) { - rgb->red = 255; - rgb->green = 69; - rgb->blue = 0; - return; - } - if(strcmp(color, "OrangeRed") == 0) { - rgb->red = 255; - rgb->green = 69; - rgb->blue = 0; - return; - } - if(strcmp(color, "red") == 0) { - rgb->red = 255; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "hot pink") == 0) { - rgb->red = 255; - rgb->green = 105; - rgb->blue = 180; - return; - } - if(strcmp(color, "HotPink") == 0) { - rgb->red = 255; - rgb->green = 105; - rgb->blue = 180; - return; - } - if(strcmp(color, "deep pink") == 0) { - rgb->red = 255; - rgb->green = 20; - rgb->blue = 147; - return; - } - if(strcmp(color, "DeepPink") == 0) { - rgb->red = 255; - rgb->green = 20; - rgb->blue = 147; - return; - } - if(strcmp(color, "pink") == 0) { - rgb->red = 255; - rgb->green = 192; - rgb->blue = 203; - return; - } - if(strcmp(color, "light pink") == 0) { - rgb->red = 255; - rgb->green = 182; - rgb->blue = 193; - return; - } - if(strcmp(color, "LightPink") == 0) { - rgb->red = 255; - rgb->green = 182; - rgb->blue = 193; - return; - } - if(strcmp(color, "pale violet red") == 0) { - rgb->red = 219; - rgb->green = 112; - rgb->blue = 147; - return; - } - if(strcmp(color, "PaleVioletRed") == 0) { - rgb->red = 219; - rgb->green = 112; - rgb->blue = 147; - return; - } - if(strcmp(color, "maroon") == 0) { - rgb->red = 176; - rgb->green = 48; - rgb->blue = 96; - return; - } - if(strcmp(color, "x11 maroon") == 0) { - rgb->red = 176; - rgb->green = 48; - rgb->blue = 96; - return; - } - if(strcmp(color, "X11Maroon") == 0) { - rgb->red = 176; - rgb->green = 48; - rgb->blue = 96; - return; - } - if(strcmp(color, "web maroon") == 0) { - rgb->red = 128; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "WebMaroon") == 0) { - rgb->red = 128; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "medium violet red") == 0) { - rgb->red = 199; - rgb->green = 21; - rgb->blue = 133; - return; - } - if(strcmp(color, "MediumVioletRed") == 0) { - rgb->red = 199; - rgb->green = 21; - rgb->blue = 133; - return; - } - if(strcmp(color, "violet red") == 0) { - rgb->red = 208; - rgb->green = 32; - rgb->blue = 144; - return; - } - if(strcmp(color, "VioletRed") == 0) { - rgb->red = 208; - rgb->green = 32; - rgb->blue = 144; - return; - } - if(strcmp(color, "magenta") == 0) { - rgb->red = 255; - rgb->green = 0; - rgb->blue = 255; - return; - } - if(strcmp(color, "fuchsia") == 0) { - rgb->red = 255; - rgb->green = 0; - rgb->blue = 255; - return; - } - if(strcmp(color, "violet") == 0) { - rgb->red = 238; - rgb->green = 130; - rgb->blue = 238; - return; - } - if(strcmp(color, "plum") == 0) { - rgb->red = 221; - rgb->green = 160; - rgb->blue = 221; - return; - } - if(strcmp(color, "orchid") == 0) { - rgb->red = 218; - rgb->green = 112; - rgb->blue = 214; - return; - } - if(strcmp(color, "medium orchid") == 0) { - rgb->red = 186; - rgb->green = 85; - rgb->blue = 211; - return; - } - if(strcmp(color, "MediumOrchid") == 0) { - rgb->red = 186; - rgb->green = 85; - rgb->blue = 211; - return; - } - if(strcmp(color, "dark orchid") == 0) { - rgb->red = 153; - rgb->green = 50; - rgb->blue = 204; - return; - } - if(strcmp(color, "DarkOrchid") == 0) { - rgb->red = 153; - rgb->green = 50; - rgb->blue = 204; - return; - } - if(strcmp(color, "dark violet") == 0) { - rgb->red = 148; - rgb->green = 0; - rgb->blue = 211; - return; - } - if(strcmp(color, "DarkViolet") == 0) { - rgb->red = 148; - rgb->green = 0; - rgb->blue = 211; - return; - } - if(strcmp(color, "blue violet") == 0) { - rgb->red = 138; - rgb->green = 43; - rgb->blue = 226; - return; - } - if(strcmp(color, "BlueViolet") == 0) { - rgb->red = 138; - rgb->green = 43; - rgb->blue = 226; - return; - } - if(strcmp(color, "purple") == 0) { - rgb->red = 160; - rgb->green = 32; - rgb->blue = 240; - return; - } - if(strcmp(color, "x11 purple") == 0) { - rgb->red = 160; - rgb->green = 32; - rgb->blue = 240; - return; - } - if(strcmp(color, "X11Purple") == 0) { - rgb->red = 160; - rgb->green = 32; - rgb->blue = 240; - return; - } - if(strcmp(color, "web purple") == 0) { - rgb->red = 128; - rgb->green = 0; - rgb->blue = 128; - return; - } - if(strcmp(color, "WebPurple") == 0) { - rgb->red = 128; - rgb->green = 0; - rgb->blue = 128; - return; - } - if(strcmp(color, "medium purple") == 0) { - rgb->red = 147; - rgb->green = 112; - rgb->blue = 219; - return; - } - if(strcmp(color, "MediumPurple") == 0) { - rgb->red = 147; - rgb->green = 112; - rgb->blue = 219; - return; - } - if(strcmp(color, "thistle") == 0) { - rgb->red = 216; - rgb->green = 191; - rgb->blue = 216; - return; - } - if(strcmp(color, "snow1") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 250; - return; - } - if(strcmp(color, "snow2") == 0) { - rgb->red = 238; - rgb->green = 233; - rgb->blue = 233; - return; - } - if(strcmp(color, "snow3") == 0) { - rgb->red = 205; - rgb->green = 201; - rgb->blue = 201; - return; - } - if(strcmp(color, "snow4") == 0) { - rgb->red = 139; - rgb->green = 137; - rgb->blue = 137; - return; - } - if(strcmp(color, "seashell1") == 0) { - rgb->red = 255; - rgb->green = 245; - rgb->blue = 238; - return; - } - if(strcmp(color, "seashell2") == 0) { - rgb->red = 238; - rgb->green = 229; - rgb->blue = 222; - return; - } - if(strcmp(color, "seashell3") == 0) { - rgb->red = 205; - rgb->green = 197; - rgb->blue = 191; - return; - } - if(strcmp(color, "seashell4") == 0) { - rgb->red = 139; - rgb->green = 134; - rgb->blue = 130; - return; - } - if(strcmp(color, "AntiqueWhite1") == 0) { - rgb->red = 255; - rgb->green = 239; - rgb->blue = 219; - return; - } - if(strcmp(color, "AntiqueWhite2") == 0) { - rgb->red = 238; - rgb->green = 223; - rgb->blue = 204; - return; - } - if(strcmp(color, "AntiqueWhite3") == 0) { - rgb->red = 205; - rgb->green = 192; - rgb->blue = 176; - return; - } - if(strcmp(color, "AntiqueWhite4") == 0) { - rgb->red = 139; - rgb->green = 131; - rgb->blue = 120; - return; - } - if(strcmp(color, "bisque1") == 0) { - rgb->red = 255; - rgb->green = 228; - rgb->blue = 196; - return; - } - if(strcmp(color, "bisque2") == 0) { - rgb->red = 238; - rgb->green = 213; - rgb->blue = 183; - return; - } - if(strcmp(color, "bisque3") == 0) { - rgb->red = 205; - rgb->green = 183; - rgb->blue = 158; - return; - } - if(strcmp(color, "bisque4") == 0) { - rgb->red = 139; - rgb->green = 125; - rgb->blue = 107; - return; - } - if(strcmp(color, "PeachPuff1") == 0) { - rgb->red = 255; - rgb->green = 218; - rgb->blue = 185; - return; - } - if(strcmp(color, "PeachPuff2") == 0) { - rgb->red = 238; - rgb->green = 203; - rgb->blue = 173; - return; - } - if(strcmp(color, "PeachPuff3") == 0) { - rgb->red = 205; - rgb->green = 175; - rgb->blue = 149; - return; - } - if(strcmp(color, "PeachPuff4") == 0) { - rgb->red = 139; - rgb->green = 119; - rgb->blue = 101; - return; - } - if(strcmp(color, "NavajoWhite1") == 0) { - rgb->red = 255; - rgb->green = 222; - rgb->blue = 173; - return; - } - if(strcmp(color, "NavajoWhite2") == 0) { - rgb->red = 238; - rgb->green = 207; - rgb->blue = 161; - return; - } - if(strcmp(color, "NavajoWhite3") == 0) { - rgb->red = 205; - rgb->green = 179; - rgb->blue = 139; - return; - } - if(strcmp(color, "NavajoWhite4") == 0) { - rgb->red = 139; - rgb->green = 121; - rgb->blue = 94; - return; - } - if(strcmp(color, "LemonChiffon1") == 0) { - rgb->red = 255; - rgb->green = 250; - rgb->blue = 205; - return; - } - if(strcmp(color, "LemonChiffon2") == 0) { - rgb->red = 238; - rgb->green = 233; - rgb->blue = 191; - return; - } - if(strcmp(color, "LemonChiffon3") == 0) { - rgb->red = 205; - rgb->green = 201; - rgb->blue = 165; - return; - } - if(strcmp(color, "LemonChiffon4") == 0) { - rgb->red = 139; - rgb->green = 137; - rgb->blue = 112; - return; - } - if(strcmp(color, "cornsilk1") == 0) { - rgb->red = 255; - rgb->green = 248; - rgb->blue = 220; - return; - } - if(strcmp(color, "cornsilk2") == 0) { - rgb->red = 238; - rgb->green = 232; - rgb->blue = 205; - return; - } - if(strcmp(color, "cornsilk3") == 0) { - rgb->red = 205; - rgb->green = 200; - rgb->blue = 177; - return; - } - if(strcmp(color, "cornsilk4") == 0) { - rgb->red = 139; - rgb->green = 136; - rgb->blue = 120; - return; - } - if(strcmp(color, "ivory1") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 240; - return; - } - if(strcmp(color, "ivory2") == 0) { - rgb->red = 238; - rgb->green = 238; - rgb->blue = 224; - return; - } - if(strcmp(color, "ivory3") == 0) { - rgb->red = 205; - rgb->green = 205; - rgb->blue = 193; - return; - } - if(strcmp(color, "ivory4") == 0) { - rgb->red = 139; - rgb->green = 139; - rgb->blue = 131; - return; - } - if(strcmp(color, "honeydew1") == 0) { - rgb->red = 240; - rgb->green = 255; - rgb->blue = 240; - return; - } - if(strcmp(color, "honeydew2") == 0) { - rgb->red = 224; - rgb->green = 238; - rgb->blue = 224; - return; - } - if(strcmp(color, "honeydew3") == 0) { - rgb->red = 193; - rgb->green = 205; - rgb->blue = 193; - return; - } - if(strcmp(color, "honeydew4") == 0) { - rgb->red = 131; - rgb->green = 139; - rgb->blue = 131; - return; - } - if(strcmp(color, "LavenderBlush1") == 0) { - rgb->red = 255; - rgb->green = 240; - rgb->blue = 245; - return; - } - if(strcmp(color, "LavenderBlush2") == 0) { - rgb->red = 238; - rgb->green = 224; - rgb->blue = 229; - return; - } - if(strcmp(color, "LavenderBlush3") == 0) { - rgb->red = 205; - rgb->green = 193; - rgb->blue = 197; - return; - } - if(strcmp(color, "LavenderBlush4") == 0) { - rgb->red = 139; - rgb->green = 131; - rgb->blue = 134; - return; - } - if(strcmp(color, "MistyRose1") == 0) { - rgb->red = 255; - rgb->green = 228; - rgb->blue = 225; - return; - } - if(strcmp(color, "MistyRose2") == 0) { - rgb->red = 238; - rgb->green = 213; - rgb->blue = 210; - return; - } - if(strcmp(color, "MistyRose3") == 0) { - rgb->red = 205; - rgb->green = 183; - rgb->blue = 181; - return; - } - if(strcmp(color, "MistyRose4") == 0) { - rgb->red = 139; - rgb->green = 125; - rgb->blue = 123; - return; - } - if(strcmp(color, "azure1") == 0) { - rgb->red = 240; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "azure2") == 0) { - rgb->red = 224; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "azure3") == 0) { - rgb->red = 193; - rgb->green = 205; - rgb->blue = 205; - return; - } - if(strcmp(color, "azure4") == 0) { - rgb->red = 131; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "SlateBlue1") == 0) { - rgb->red = 131; - rgb->green = 111; - rgb->blue = 255; - return; - } - if(strcmp(color, "SlateBlue2") == 0) { - rgb->red = 122; - rgb->green = 103; - rgb->blue = 238; - return; - } - if(strcmp(color, "SlateBlue3") == 0) { - rgb->red = 105; - rgb->green = 89; - rgb->blue = 205; - return; - } - if(strcmp(color, "SlateBlue4") == 0) { - rgb->red = 71; - rgb->green = 60; - rgb->blue = 139; - return; - } - if(strcmp(color, "RoyalBlue1") == 0) { - rgb->red = 72; - rgb->green = 118; - rgb->blue = 255; - return; - } - if(strcmp(color, "RoyalBlue2") == 0) { - rgb->red = 67; - rgb->green = 110; - rgb->blue = 238; - return; - } - if(strcmp(color, "RoyalBlue3") == 0) { - rgb->red = 58; - rgb->green = 95; - rgb->blue = 205; - return; - } - if(strcmp(color, "RoyalBlue4") == 0) { - rgb->red = 39; - rgb->green = 64; - rgb->blue = 139; - return; - } - if(strcmp(color, "blue1") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 255; - return; - } - if(strcmp(color, "blue2") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 238; - return; - } - if(strcmp(color, "blue3") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 205; - return; - } - if(strcmp(color, "blue4") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 139; - return; - } - if(strcmp(color, "DodgerBlue1") == 0) { - rgb->red = 30; - rgb->green = 144; - rgb->blue = 255; - return; - } - if(strcmp(color, "DodgerBlue2") == 0) { - rgb->red = 28; - rgb->green = 134; - rgb->blue = 238; - return; - } - if(strcmp(color, "DodgerBlue3") == 0) { - rgb->red = 24; - rgb->green = 116; - rgb->blue = 205; - return; - } - if(strcmp(color, "DodgerBlue4") == 0) { - rgb->red = 16; - rgb->green = 78; - rgb->blue = 139; - return; - } - if(strcmp(color, "SteelBlue1") == 0) { - rgb->red = 99; - rgb->green = 184; - rgb->blue = 255; - return; - } - if(strcmp(color, "SteelBlue2") == 0) { - rgb->red = 92; - rgb->green = 172; - rgb->blue = 238; - return; - } - if(strcmp(color, "SteelBlue3") == 0) { - rgb->red = 79; - rgb->green = 148; - rgb->blue = 205; - return; - } - if(strcmp(color, "SteelBlue4") == 0) { - rgb->red = 54; - rgb->green = 100; - rgb->blue = 139; - return; - } - if(strcmp(color, "DeepSkyBlue1") == 0) { - rgb->red = 0; - rgb->green = 191; - rgb->blue = 255; - return; - } - if(strcmp(color, "DeepSkyBlue2") == 0) { - rgb->red = 0; - rgb->green = 178; - rgb->blue = 238; - return; - } - if(strcmp(color, "DeepSkyBlue3") == 0) { - rgb->red = 0; - rgb->green = 154; - rgb->blue = 205; - return; - } - if(strcmp(color, "DeepSkyBlue4") == 0) { - rgb->red = 0; - rgb->green = 104; - rgb->blue = 139; - return; - } - if(strcmp(color, "SkyBlue1") == 0) { - rgb->red = 135; - rgb->green = 206; - rgb->blue = 255; - return; - } - if(strcmp(color, "SkyBlue2") == 0) { - rgb->red = 126; - rgb->green = 192; - rgb->blue = 238; - return; - } - if(strcmp(color, "SkyBlue3") == 0) { - rgb->red = 108; - rgb->green = 166; - rgb->blue = 205; - return; - } - if(strcmp(color, "SkyBlue4") == 0) { - rgb->red = 74; - rgb->green = 112; - rgb->blue = 139; - return; - } - if(strcmp(color, "LightSkyBlue1") == 0) { - rgb->red = 176; - rgb->green = 226; - rgb->blue = 255; - return; - } - if(strcmp(color, "LightSkyBlue2") == 0) { - rgb->red = 164; - rgb->green = 211; - rgb->blue = 238; - return; - } - if(strcmp(color, "LightSkyBlue3") == 0) { - rgb->red = 141; - rgb->green = 182; - rgb->blue = 205; - return; - } - if(strcmp(color, "LightSkyBlue4") == 0) { - rgb->red = 96; - rgb->green = 123; - rgb->blue = 139; - return; - } - if(strcmp(color, "SlateGray1") == 0) { - rgb->red = 198; - rgb->green = 226; - rgb->blue = 255; - return; - } - if(strcmp(color, "SlateGray2") == 0) { - rgb->red = 185; - rgb->green = 211; - rgb->blue = 238; - return; - } - if(strcmp(color, "SlateGray3") == 0) { - rgb->red = 159; - rgb->green = 182; - rgb->blue = 205; - return; - } - if(strcmp(color, "SlateGray4") == 0) { - rgb->red = 108; - rgb->green = 123; - rgb->blue = 139; - return; - } - if(strcmp(color, "LightSteelBlue1") == 0) { - rgb->red = 202; - rgb->green = 225; - rgb->blue = 255; - return; - } - if(strcmp(color, "LightSteelBlue2") == 0) { - rgb->red = 188; - rgb->green = 210; - rgb->blue = 238; - return; - } - if(strcmp(color, "LightSteelBlue3") == 0) { - rgb->red = 162; - rgb->green = 181; - rgb->blue = 205; - return; - } - if(strcmp(color, "LightSteelBlue4") == 0) { - rgb->red = 110; - rgb->green = 123; - rgb->blue = 139; - return; - } - if(strcmp(color, "LightBlue1") == 0) { - rgb->red = 191; - rgb->green = 239; - rgb->blue = 255; - return; - } - if(strcmp(color, "LightBlue2") == 0) { - rgb->red = 178; - rgb->green = 223; - rgb->blue = 238; - return; - } - if(strcmp(color, "LightBlue3") == 0) { - rgb->red = 154; - rgb->green = 192; - rgb->blue = 205; - return; - } - if(strcmp(color, "LightBlue4") == 0) { - rgb->red = 104; - rgb->green = 131; - rgb->blue = 139; - return; - } - if(strcmp(color, "LightCyan1") == 0) { - rgb->red = 224; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "LightCyan2") == 0) { - rgb->red = 209; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "LightCyan3") == 0) { - rgb->red = 180; - rgb->green = 205; - rgb->blue = 205; - return; - } - if(strcmp(color, "LightCyan4") == 0) { - rgb->red = 122; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "PaleTurquoise1") == 0) { - rgb->red = 187; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "PaleTurquoise2") == 0) { - rgb->red = 174; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "PaleTurquoise3") == 0) { - rgb->red = 150; - rgb->green = 205; - rgb->blue = 205; - return; - } - if(strcmp(color, "PaleTurquoise4") == 0) { - rgb->red = 102; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "CadetBlue1") == 0) { - rgb->red = 152; - rgb->green = 245; - rgb->blue = 255; - return; - } - if(strcmp(color, "CadetBlue2") == 0) { - rgb->red = 142; - rgb->green = 229; - rgb->blue = 238; - return; - } - if(strcmp(color, "CadetBlue3") == 0) { - rgb->red = 122; - rgb->green = 197; - rgb->blue = 205; - return; - } - if(strcmp(color, "CadetBlue4") == 0) { - rgb->red = 83; - rgb->green = 134; - rgb->blue = 139; - return; - } - if(strcmp(color, "turquoise1") == 0) { - rgb->red = 0; - rgb->green = 245; - rgb->blue = 255; - return; - } - if(strcmp(color, "turquoise2") == 0) { - rgb->red = 0; - rgb->green = 229; - rgb->blue = 238; - return; - } - if(strcmp(color, "turquoise3") == 0) { - rgb->red = 0; - rgb->green = 197; - rgb->blue = 205; - return; - } - if(strcmp(color, "turquoise4") == 0) { - rgb->red = 0; - rgb->green = 134; - rgb->blue = 139; - return; - } - if(strcmp(color, "cyan1") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "cyan2") == 0) { - rgb->red = 0; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "cyan3") == 0) { - rgb->red = 0; - rgb->green = 205; - rgb->blue = 205; - return; - } - if(strcmp(color, "cyan4") == 0) { - rgb->red = 0; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "DarkSlateGray1") == 0) { - rgb->red = 151; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "DarkSlateGray2") == 0) { - rgb->red = 141; - rgb->green = 238; - rgb->blue = 238; - return; - } - if(strcmp(color, "DarkSlateGray3") == 0) { - rgb->red = 121; - rgb->green = 205; - rgb->blue = 205; - return; - } - if(strcmp(color, "DarkSlateGray4") == 0) { - rgb->red = 82; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "aquamarine1") == 0) { - rgb->red = 127; - rgb->green = 255; - rgb->blue = 212; - return; - } - if(strcmp(color, "aquamarine2") == 0) { - rgb->red = 118; - rgb->green = 238; - rgb->blue = 198; - return; - } - if(strcmp(color, "aquamarine3") == 0) { - rgb->red = 102; - rgb->green = 205; - rgb->blue = 170; - return; - } - if(strcmp(color, "aquamarine4") == 0) { - rgb->red = 69; - rgb->green = 139; - rgb->blue = 116; - return; - } - if(strcmp(color, "DarkSeaGreen1") == 0) { - rgb->red = 193; - rgb->green = 255; - rgb->blue = 193; - return; - } - if(strcmp(color, "DarkSeaGreen2") == 0) { - rgb->red = 180; - rgb->green = 238; - rgb->blue = 180; - return; - } - if(strcmp(color, "DarkSeaGreen3") == 0) { - rgb->red = 155; - rgb->green = 205; - rgb->blue = 155; - return; - } - if(strcmp(color, "DarkSeaGreen4") == 0) { - rgb->red = 105; - rgb->green = 139; - rgb->blue = 105; - return; - } - if(strcmp(color, "SeaGreen1") == 0) { - rgb->red = 84; - rgb->green = 255; - rgb->blue = 159; - return; - } - if(strcmp(color, "SeaGreen2") == 0) { - rgb->red = 78; - rgb->green = 238; - rgb->blue = 148; - return; - } - if(strcmp(color, "SeaGreen3") == 0) { - rgb->red = 67; - rgb->green = 205; - rgb->blue = 128; - return; - } - if(strcmp(color, "SeaGreen4") == 0) { - rgb->red = 46; - rgb->green = 139; - rgb->blue = 87; - return; - } - if(strcmp(color, "PaleGreen1") == 0) { - rgb->red = 154; - rgb->green = 255; - rgb->blue = 154; - return; - } - if(strcmp(color, "PaleGreen2") == 0) { - rgb->red = 144; - rgb->green = 238; - rgb->blue = 144; - return; - } - if(strcmp(color, "PaleGreen3") == 0) { - rgb->red = 124; - rgb->green = 205; - rgb->blue = 124; - return; - } - if(strcmp(color, "PaleGreen4") == 0) { - rgb->red = 84; - rgb->green = 139; - rgb->blue = 84; - return; - } - if(strcmp(color, "SpringGreen1") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 127; - return; - } - if(strcmp(color, "SpringGreen2") == 0) { - rgb->red = 0; - rgb->green = 238; - rgb->blue = 118; - return; - } - if(strcmp(color, "SpringGreen3") == 0) { - rgb->red = 0; - rgb->green = 205; - rgb->blue = 102; - return; - } - if(strcmp(color, "SpringGreen4") == 0) { - rgb->red = 0; - rgb->green = 139; - rgb->blue = 69; - return; - } - if(strcmp(color, "green1") == 0) { - rgb->red = 0; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "green2") == 0) { - rgb->red = 0; - rgb->green = 238; - rgb->blue = 0; - return; - } - if(strcmp(color, "green3") == 0) { - rgb->red = 0; - rgb->green = 205; - rgb->blue = 0; - return; - } - if(strcmp(color, "green4") == 0) { - rgb->red = 0; - rgb->green = 139; - rgb->blue = 0; - return; - } - if(strcmp(color, "chartreuse1") == 0) { - rgb->red = 127; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "chartreuse2") == 0) { - rgb->red = 118; - rgb->green = 238; - rgb->blue = 0; - return; - } - if(strcmp(color, "chartreuse3") == 0) { - rgb->red = 102; - rgb->green = 205; - rgb->blue = 0; - return; - } - if(strcmp(color, "chartreuse4") == 0) { - rgb->red = 69; - rgb->green = 139; - rgb->blue = 0; - return; - } - if(strcmp(color, "OliveDrab1") == 0) { - rgb->red = 192; - rgb->green = 255; - rgb->blue = 62; - return; - } - if(strcmp(color, "OliveDrab2") == 0) { - rgb->red = 179; - rgb->green = 238; - rgb->blue = 58; - return; - } - if(strcmp(color, "OliveDrab3") == 0) { - rgb->red = 154; - rgb->green = 205; - rgb->blue = 50; - return; - } - if(strcmp(color, "OliveDrab4") == 0) { - rgb->red = 105; - rgb->green = 139; - rgb->blue = 34; - return; - } - if(strcmp(color, "DarkOliveGreen1") == 0) { - rgb->red = 202; - rgb->green = 255; - rgb->blue = 112; - return; - } - if(strcmp(color, "DarkOliveGreen2") == 0) { - rgb->red = 188; - rgb->green = 238; - rgb->blue = 104; - return; - } - if(strcmp(color, "DarkOliveGreen3") == 0) { - rgb->red = 162; - rgb->green = 205; - rgb->blue = 90; - return; - } - if(strcmp(color, "DarkOliveGreen4") == 0) { - rgb->red = 110; - rgb->green = 139; - rgb->blue = 61; - return; - } - if(strcmp(color, "khaki1") == 0) { - rgb->red = 255; - rgb->green = 246; - rgb->blue = 143; - return; - } - if(strcmp(color, "khaki2") == 0) { - rgb->red = 238; - rgb->green = 230; - rgb->blue = 133; - return; - } - if(strcmp(color, "khaki3") == 0) { - rgb->red = 205; - rgb->green = 198; - rgb->blue = 115; - return; - } - if(strcmp(color, "khaki4") == 0) { - rgb->red = 139; - rgb->green = 134; - rgb->blue = 78; - return; - } - if(strcmp(color, "LightGoldenrod1") == 0) { - rgb->red = 255; - rgb->green = 236; - rgb->blue = 139; - return; - } - if(strcmp(color, "LightGoldenrod2") == 0) { - rgb->red = 238; - rgb->green = 220; - rgb->blue = 130; - return; - } - if(strcmp(color, "LightGoldenrod3") == 0) { - rgb->red = 205; - rgb->green = 190; - rgb->blue = 112; - return; - } - if(strcmp(color, "LightGoldenrod4") == 0) { - rgb->red = 139; - rgb->green = 129; - rgb->blue = 76; - return; - } - if(strcmp(color, "LightYellow1") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 224; - return; - } - if(strcmp(color, "LightYellow2") == 0) { - rgb->red = 238; - rgb->green = 238; - rgb->blue = 209; - return; - } - if(strcmp(color, "LightYellow3") == 0) { - rgb->red = 205; - rgb->green = 205; - rgb->blue = 180; - return; - } - if(strcmp(color, "LightYellow4") == 0) { - rgb->red = 139; - rgb->green = 139; - rgb->blue = 122; - return; - } - if(strcmp(color, "yellow1") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 0; - return; - } - if(strcmp(color, "yellow2") == 0) { - rgb->red = 238; - rgb->green = 238; - rgb->blue = 0; - return; - } - if(strcmp(color, "yellow3") == 0) { - rgb->red = 205; - rgb->green = 205; - rgb->blue = 0; - return; - } - if(strcmp(color, "yellow4") == 0) { - rgb->red = 139; - rgb->green = 139; - rgb->blue = 0; - return; - } - if(strcmp(color, "gold1") == 0) { - rgb->red = 255; - rgb->green = 215; - rgb->blue = 0; - return; - } - if(strcmp(color, "gold2") == 0) { - rgb->red = 238; - rgb->green = 201; - rgb->blue = 0; - return; - } - if(strcmp(color, "gold3") == 0) { - rgb->red = 205; - rgb->green = 173; - rgb->blue = 0; - return; - } - if(strcmp(color, "gold4") == 0) { - rgb->red = 139; - rgb->green = 117; - rgb->blue = 0; - return; - } - if(strcmp(color, "goldenrod1") == 0) { - rgb->red = 255; - rgb->green = 193; - rgb->blue = 37; - return; - } - if(strcmp(color, "goldenrod2") == 0) { - rgb->red = 238; - rgb->green = 180; - rgb->blue = 34; - return; - } - if(strcmp(color, "goldenrod3") == 0) { - rgb->red = 205; - rgb->green = 155; - rgb->blue = 29; - return; - } - if(strcmp(color, "goldenrod4") == 0) { - rgb->red = 139; - rgb->green = 105; - rgb->blue = 20; - return; - } - if(strcmp(color, "DarkGoldenrod1") == 0) { - rgb->red = 255; - rgb->green = 185; - rgb->blue = 15; - return; - } - if(strcmp(color, "DarkGoldenrod2") == 0) { - rgb->red = 238; - rgb->green = 173; - rgb->blue = 14; - return; - } - if(strcmp(color, "DarkGoldenrod3") == 0) { - rgb->red = 205; - rgb->green = 149; - rgb->blue = 12; - return; - } - if(strcmp(color, "DarkGoldenrod4") == 0) { - rgb->red = 139; - rgb->green = 101; - rgb->blue = 8; - return; - } - if(strcmp(color, "RosyBrown1") == 0) { - rgb->red = 255; - rgb->green = 193; - rgb->blue = 193; - return; - } - if(strcmp(color, "RosyBrown2") == 0) { - rgb->red = 238; - rgb->green = 180; - rgb->blue = 180; - return; - } - if(strcmp(color, "RosyBrown3") == 0) { - rgb->red = 205; - rgb->green = 155; - rgb->blue = 155; - return; - } - if(strcmp(color, "RosyBrown4") == 0) { - rgb->red = 139; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "IndianRed1") == 0) { - rgb->red = 255; - rgb->green = 106; - rgb->blue = 106; - return; - } - if(strcmp(color, "IndianRed2") == 0) { - rgb->red = 238; - rgb->green = 99; - rgb->blue = 99; - return; - } - if(strcmp(color, "IndianRed3") == 0) { - rgb->red = 205; - rgb->green = 85; - rgb->blue = 85; - return; - } - if(strcmp(color, "IndianRed4") == 0) { - rgb->red = 139; - rgb->green = 58; - rgb->blue = 58; - return; - } - if(strcmp(color, "sienna1") == 0) { - rgb->red = 255; - rgb->green = 130; - rgb->blue = 71; - return; - } - if(strcmp(color, "sienna2") == 0) { - rgb->red = 238; - rgb->green = 121; - rgb->blue = 66; - return; - } - if(strcmp(color, "sienna3") == 0) { - rgb->red = 205; - rgb->green = 104; - rgb->blue = 57; - return; - } - if(strcmp(color, "sienna4") == 0) { - rgb->red = 139; - rgb->green = 71; - rgb->blue = 38; - return; - } - if(strcmp(color, "burlywood1") == 0) { - rgb->red = 255; - rgb->green = 211; - rgb->blue = 155; - return; - } - if(strcmp(color, "burlywood2") == 0) { - rgb->red = 238; - rgb->green = 197; - rgb->blue = 145; - return; - } - if(strcmp(color, "burlywood3") == 0) { - rgb->red = 205; - rgb->green = 170; - rgb->blue = 125; - return; - } - if(strcmp(color, "burlywood4") == 0) { - rgb->red = 139; - rgb->green = 115; - rgb->blue = 85; - return; - } - if(strcmp(color, "wheat1") == 0) { - rgb->red = 255; - rgb->green = 231; - rgb->blue = 186; - return; - } - if(strcmp(color, "wheat2") == 0) { - rgb->red = 238; - rgb->green = 216; - rgb->blue = 174; - return; - } - if(strcmp(color, "wheat3") == 0) { - rgb->red = 205; - rgb->green = 186; - rgb->blue = 150; - return; - } - if(strcmp(color, "wheat4") == 0) { - rgb->red = 139; - rgb->green = 126; - rgb->blue = 102; - return; - } - if(strcmp(color, "tan1") == 0) { - rgb->red = 255; - rgb->green = 165; - rgb->blue = 79; - return; - } - if(strcmp(color, "tan2") == 0) { - rgb->red = 238; - rgb->green = 154; - rgb->blue = 73; - return; - } - if(strcmp(color, "tan3") == 0) { - rgb->red = 205; - rgb->green = 133; - rgb->blue = 63; - return; - } - if(strcmp(color, "tan4") == 0) { - rgb->red = 139; - rgb->green = 90; - rgb->blue = 43; - return; - } - if(strcmp(color, "chocolate1") == 0) { - rgb->red = 255; - rgb->green = 127; - rgb->blue = 36; - return; - } - if(strcmp(color, "chocolate2") == 0) { - rgb->red = 238; - rgb->green = 118; - rgb->blue = 33; - return; - } - if(strcmp(color, "chocolate3") == 0) { - rgb->red = 205; - rgb->green = 102; - rgb->blue = 29; - return; - } - if(strcmp(color, "chocolate4") == 0) { - rgb->red = 139; - rgb->green = 69; - rgb->blue = 19; - return; - } - if(strcmp(color, "firebrick1") == 0) { - rgb->red = 255; - rgb->green = 48; - rgb->blue = 48; - return; - } - if(strcmp(color, "firebrick2") == 0) { - rgb->red = 238; - rgb->green = 44; - rgb->blue = 44; - return; - } - if(strcmp(color, "firebrick3") == 0) { - rgb->red = 205; - rgb->green = 38; - rgb->blue = 38; - return; - } - if(strcmp(color, "firebrick4") == 0) { - rgb->red = 139; - rgb->green = 26; - rgb->blue = 26; - return; - } - if(strcmp(color, "brown1") == 0) { - rgb->red = 255; - rgb->green = 64; - rgb->blue = 64; - return; - } - if(strcmp(color, "brown2") == 0) { - rgb->red = 238; - rgb->green = 59; - rgb->blue = 59; - return; - } - if(strcmp(color, "brown3") == 0) { - rgb->red = 205; - rgb->green = 51; - rgb->blue = 51; - return; - } - if(strcmp(color, "brown4") == 0) { - rgb->red = 139; - rgb->green = 35; - rgb->blue = 35; - return; - } - if(strcmp(color, "salmon1") == 0) { - rgb->red = 255; - rgb->green = 140; - rgb->blue = 105; - return; - } - if(strcmp(color, "salmon2") == 0) { - rgb->red = 238; - rgb->green = 130; - rgb->blue = 98; - return; - } - if(strcmp(color, "salmon3") == 0) { - rgb->red = 205; - rgb->green = 112; - rgb->blue = 84; - return; - } - if(strcmp(color, "salmon4") == 0) { - rgb->red = 139; - rgb->green = 76; - rgb->blue = 57; - return; - } - if(strcmp(color, "LightSalmon1") == 0) { - rgb->red = 255; - rgb->green = 160; - rgb->blue = 122; - return; - } - if(strcmp(color, "LightSalmon2") == 0) { - rgb->red = 238; - rgb->green = 149; - rgb->blue = 114; - return; - } - if(strcmp(color, "LightSalmon3") == 0) { - rgb->red = 205; - rgb->green = 129; - rgb->blue = 98; - return; - } - if(strcmp(color, "LightSalmon4") == 0) { - rgb->red = 139; - rgb->green = 87; - rgb->blue = 66; - return; - } - if(strcmp(color, "orange1") == 0) { - rgb->red = 255; - rgb->green = 165; - rgb->blue = 0; - return; - } - if(strcmp(color, "orange2") == 0) { - rgb->red = 238; - rgb->green = 154; - rgb->blue = 0; - return; - } - if(strcmp(color, "orange3") == 0) { - rgb->red = 205; - rgb->green = 133; - rgb->blue = 0; - return; - } - if(strcmp(color, "orange4") == 0) { - rgb->red = 139; - rgb->green = 90; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkOrange1") == 0) { - rgb->red = 255; - rgb->green = 127; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkOrange2") == 0) { - rgb->red = 238; - rgb->green = 118; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkOrange3") == 0) { - rgb->red = 205; - rgb->green = 102; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkOrange4") == 0) { - rgb->red = 139; - rgb->green = 69; - rgb->blue = 0; - return; - } - if(strcmp(color, "coral1") == 0) { - rgb->red = 255; - rgb->green = 114; - rgb->blue = 86; - return; - } - if(strcmp(color, "coral2") == 0) { - rgb->red = 238; - rgb->green = 106; - rgb->blue = 80; - return; - } - if(strcmp(color, "coral3") == 0) { - rgb->red = 205; - rgb->green = 91; - rgb->blue = 69; - return; - } - if(strcmp(color, "coral4") == 0) { - rgb->red = 139; - rgb->green = 62; - rgb->blue = 47; - return; - } - if(strcmp(color, "tomato1") == 0) { - rgb->red = 255; - rgb->green = 99; - rgb->blue = 71; - return; - } - if(strcmp(color, "tomato2") == 0) { - rgb->red = 238; - rgb->green = 92; - rgb->blue = 66; - return; - } - if(strcmp(color, "tomato3") == 0) { - rgb->red = 205; - rgb->green = 79; - rgb->blue = 57; - return; - } - if(strcmp(color, "tomato4") == 0) { - rgb->red = 139; - rgb->green = 54; - rgb->blue = 38; - return; - } - if(strcmp(color, "OrangeRed1") == 0) { - rgb->red = 255; - rgb->green = 69; - rgb->blue = 0; - return; - } - if(strcmp(color, "OrangeRed2") == 0) { - rgb->red = 238; - rgb->green = 64; - rgb->blue = 0; - return; - } - if(strcmp(color, "OrangeRed3") == 0) { - rgb->red = 205; - rgb->green = 55; - rgb->blue = 0; - return; - } - if(strcmp(color, "OrangeRed4") == 0) { - rgb->red = 139; - rgb->green = 37; - rgb->blue = 0; - return; - } - if(strcmp(color, "red1") == 0) { - rgb->red = 255; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "red2") == 0) { - rgb->red = 238; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "red3") == 0) { - rgb->red = 205; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "red4") == 0) { - rgb->red = 139; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "DeepPink1") == 0) { - rgb->red = 255; - rgb->green = 20; - rgb->blue = 147; - return; - } - if(strcmp(color, "DeepPink2") == 0) { - rgb->red = 238; - rgb->green = 18; - rgb->blue = 137; - return; - } - if(strcmp(color, "DeepPink3") == 0) { - rgb->red = 205; - rgb->green = 16; - rgb->blue = 118; - return; - } - if(strcmp(color, "DeepPink4") == 0) { - rgb->red = 139; - rgb->green = 10; - rgb->blue = 80; - return; - } - if(strcmp(color, "HotPink1") == 0) { - rgb->red = 255; - rgb->green = 110; - rgb->blue = 180; - return; - } - if(strcmp(color, "HotPink2") == 0) { - rgb->red = 238; - rgb->green = 106; - rgb->blue = 167; - return; - } - if(strcmp(color, "HotPink3") == 0) { - rgb->red = 205; - rgb->green = 96; - rgb->blue = 144; - return; - } - if(strcmp(color, "HotPink4") == 0) { - rgb->red = 139; - rgb->green = 58; - rgb->blue = 98; - return; - } - if(strcmp(color, "pink1") == 0) { - rgb->red = 255; - rgb->green = 181; - rgb->blue = 197; - return; - } - if(strcmp(color, "pink2") == 0) { - rgb->red = 238; - rgb->green = 169; - rgb->blue = 184; - return; - } - if(strcmp(color, "pink3") == 0) { - rgb->red = 205; - rgb->green = 145; - rgb->blue = 158; - return; - } - if(strcmp(color, "pink4") == 0) { - rgb->red = 139; - rgb->green = 99; - rgb->blue = 108; - return; - } - if(strcmp(color, "LightPink1") == 0) { - rgb->red = 255; - rgb->green = 174; - rgb->blue = 185; - return; - } - if(strcmp(color, "LightPink2") == 0) { - rgb->red = 238; - rgb->green = 162; - rgb->blue = 173; - return; - } - if(strcmp(color, "LightPink3") == 0) { - rgb->red = 205; - rgb->green = 140; - rgb->blue = 149; - return; - } - if(strcmp(color, "LightPink4") == 0) { - rgb->red = 139; - rgb->green = 95; - rgb->blue = 101; - return; - } - if(strcmp(color, "PaleVioletRed1") == 0) { - rgb->red = 255; - rgb->green = 130; - rgb->blue = 171; - return; - } - if(strcmp(color, "PaleVioletRed2") == 0) { - rgb->red = 238; - rgb->green = 121; - rgb->blue = 159; - return; - } - if(strcmp(color, "PaleVioletRed3") == 0) { - rgb->red = 205; - rgb->green = 104; - rgb->blue = 137; - return; - } - if(strcmp(color, "PaleVioletRed4") == 0) { - rgb->red = 139; - rgb->green = 71; - rgb->blue = 93; - return; - } - if(strcmp(color, "maroon1") == 0) { - rgb->red = 255; - rgb->green = 52; - rgb->blue = 179; - return; - } - if(strcmp(color, "maroon2") == 0) { - rgb->red = 238; - rgb->green = 48; - rgb->blue = 167; - return; - } - if(strcmp(color, "maroon3") == 0) { - rgb->red = 205; - rgb->green = 41; - rgb->blue = 144; - return; - } - if(strcmp(color, "maroon4") == 0) { - rgb->red = 139; - rgb->green = 28; - rgb->blue = 98; - return; - } - if(strcmp(color, "VioletRed1") == 0) { - rgb->red = 255; - rgb->green = 62; - rgb->blue = 150; - return; - } - if(strcmp(color, "VioletRed2") == 0) { - rgb->red = 238; - rgb->green = 58; - rgb->blue = 140; - return; - } - if(strcmp(color, "VioletRed3") == 0) { - rgb->red = 205; - rgb->green = 50; - rgb->blue = 120; - return; - } - if(strcmp(color, "VioletRed4") == 0) { - rgb->red = 139; - rgb->green = 34; - rgb->blue = 82; - return; - } - if(strcmp(color, "magenta1") == 0) { - rgb->red = 255; - rgb->green = 0; - rgb->blue = 255; - return; - } - if(strcmp(color, "magenta2") == 0) { - rgb->red = 238; - rgb->green = 0; - rgb->blue = 238; - return; - } - if(strcmp(color, "magenta3") == 0) { - rgb->red = 205; - rgb->green = 0; - rgb->blue = 205; - return; - } - if(strcmp(color, "magenta4") == 0) { - rgb->red = 139; - rgb->green = 0; - rgb->blue = 139; - return; - } - if(strcmp(color, "orchid1") == 0) { - rgb->red = 255; - rgb->green = 131; - rgb->blue = 250; - return; - } - if(strcmp(color, "orchid2") == 0) { - rgb->red = 238; - rgb->green = 122; - rgb->blue = 233; - return; - } - if(strcmp(color, "orchid3") == 0) { - rgb->red = 205; - rgb->green = 105; - rgb->blue = 201; - return; - } - if(strcmp(color, "orchid4") == 0) { - rgb->red = 139; - rgb->green = 71; - rgb->blue = 137; - return; - } - if(strcmp(color, "plum1") == 0) { - rgb->red = 255; - rgb->green = 187; - rgb->blue = 255; - return; - } - if(strcmp(color, "plum2") == 0) { - rgb->red = 238; - rgb->green = 174; - rgb->blue = 238; - return; - } - if(strcmp(color, "plum3") == 0) { - rgb->red = 205; - rgb->green = 150; - rgb->blue = 205; - return; - } - if(strcmp(color, "plum4") == 0) { - rgb->red = 139; - rgb->green = 102; - rgb->blue = 139; - return; - } - if(strcmp(color, "MediumOrchid1") == 0) { - rgb->red = 224; - rgb->green = 102; - rgb->blue = 255; - return; - } - if(strcmp(color, "MediumOrchid2") == 0) { - rgb->red = 209; - rgb->green = 95; - rgb->blue = 238; - return; - } - if(strcmp(color, "MediumOrchid3") == 0) { - rgb->red = 180; - rgb->green = 82; - rgb->blue = 205; - return; - } - if(strcmp(color, "MediumOrchid4") == 0) { - rgb->red = 122; - rgb->green = 55; - rgb->blue = 139; - return; - } - if(strcmp(color, "DarkOrchid1") == 0) { - rgb->red = 191; - rgb->green = 62; - rgb->blue = 255; - return; - } - if(strcmp(color, "DarkOrchid2") == 0) { - rgb->red = 178; - rgb->green = 58; - rgb->blue = 238; - return; - } - if(strcmp(color, "DarkOrchid3") == 0) { - rgb->red = 154; - rgb->green = 50; - rgb->blue = 205; - return; - } - if(strcmp(color, "DarkOrchid4") == 0) { - rgb->red = 104; - rgb->green = 34; - rgb->blue = 139; - return; - } - if(strcmp(color, "purple1") == 0) { - rgb->red = 155; - rgb->green = 48; - rgb->blue = 255; - return; - } - if(strcmp(color, "purple2") == 0) { - rgb->red = 145; - rgb->green = 44; - rgb->blue = 238; - return; - } - if(strcmp(color, "purple3") == 0) { - rgb->red = 125; - rgb->green = 38; - rgb->blue = 205; - return; - } - if(strcmp(color, "purple4") == 0) { - rgb->red = 85; - rgb->green = 26; - rgb->blue = 139; - return; - } - if(strcmp(color, "MediumPurple1") == 0) { - rgb->red = 171; - rgb->green = 130; - rgb->blue = 255; - return; - } - if(strcmp(color, "MediumPurple2") == 0) { - rgb->red = 159; - rgb->green = 121; - rgb->blue = 238; - return; - } - if(strcmp(color, "MediumPurple3") == 0) { - rgb->red = 137; - rgb->green = 104; - rgb->blue = 205; - return; - } - if(strcmp(color, "MediumPurple4") == 0) { - rgb->red = 93; - rgb->green = 71; - rgb->blue = 139; - return; - } - if(strcmp(color, "thistle1") == 0) { - rgb->red = 255; - rgb->green = 225; - rgb->blue = 255; - return; - } - if(strcmp(color, "thistle2") == 0) { - rgb->red = 238; - rgb->green = 210; - rgb->blue = 238; - return; - } - if(strcmp(color, "thistle3") == 0) { - rgb->red = 205; - rgb->green = 181; - rgb->blue = 205; - return; - } - if(strcmp(color, "thistle4") == 0) { - rgb->red = 139; - rgb->green = 123; - rgb->blue = 139; - return; - } - if(strcmp(color, "gray0") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "grey0") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "gray1") == 0) { - rgb->red = 3; - rgb->green = 3; - rgb->blue = 3; - return; - } - if(strcmp(color, "grey1") == 0) { - rgb->red = 3; - rgb->green = 3; - rgb->blue = 3; - return; - } - if(strcmp(color, "gray2") == 0) { - rgb->red = 5; - rgb->green = 5; - rgb->blue = 5; - return; - } - if(strcmp(color, "grey2") == 0) { - rgb->red = 5; - rgb->green = 5; - rgb->blue = 5; - return; - } - if(strcmp(color, "gray3") == 0) { - rgb->red = 8; - rgb->green = 8; - rgb->blue = 8; - return; - } - if(strcmp(color, "grey3") == 0) { - rgb->red = 8; - rgb->green = 8; - rgb->blue = 8; - return; - } - if(strcmp(color, "gray4") == 0) { - rgb->red = 10; - rgb->green = 10; - rgb->blue = 10; - return; - } - if(strcmp(color, "grey4") == 0) { - rgb->red = 10; - rgb->green = 10; - rgb->blue = 10; - return; - } - if(strcmp(color, "gray5") == 0) { - rgb->red = 13; - rgb->green = 13; - rgb->blue = 13; - return; - } - if(strcmp(color, "grey5") == 0) { - rgb->red = 13; - rgb->green = 13; - rgb->blue = 13; - return; - } - if(strcmp(color, "gray6") == 0) { - rgb->red = 15; - rgb->green = 15; - rgb->blue = 15; - return; - } - if(strcmp(color, "grey6") == 0) { - rgb->red = 15; - rgb->green = 15; - rgb->blue = 15; - return; - } - if(strcmp(color, "gray7") == 0) { - rgb->red = 18; - rgb->green = 18; - rgb->blue = 18; - return; - } - if(strcmp(color, "grey7") == 0) { - rgb->red = 18; - rgb->green = 18; - rgb->blue = 18; - return; - } - if(strcmp(color, "gray8") == 0) { - rgb->red = 20; - rgb->green = 20; - rgb->blue = 20; - return; - } - if(strcmp(color, "grey8") == 0) { - rgb->red = 20; - rgb->green = 20; - rgb->blue = 20; - return; - } - if(strcmp(color, "gray9") == 0) { - rgb->red = 23; - rgb->green = 23; - rgb->blue = 23; - return; - } - if(strcmp(color, "grey9") == 0) { - rgb->red = 23; - rgb->green = 23; - rgb->blue = 23; - return; - } - if(strcmp(color, "gray10") == 0) { - rgb->red = 26; - rgb->green = 26; - rgb->blue = 26; - return; - } - if(strcmp(color, "grey10") == 0) { - rgb->red = 26; - rgb->green = 26; - rgb->blue = 26; - return; - } - if(strcmp(color, "gray11") == 0) { - rgb->red = 28; - rgb->green = 28; - rgb->blue = 28; - return; - } - if(strcmp(color, "grey11") == 0) { - rgb->red = 28; - rgb->green = 28; - rgb->blue = 28; - return; - } - if(strcmp(color, "gray12") == 0) { - rgb->red = 31; - rgb->green = 31; - rgb->blue = 31; - return; - } - if(strcmp(color, "grey12") == 0) { - rgb->red = 31; - rgb->green = 31; - rgb->blue = 31; - return; - } - if(strcmp(color, "gray13") == 0) { - rgb->red = 33; - rgb->green = 33; - rgb->blue = 33; - return; - } - if(strcmp(color, "grey13") == 0) { - rgb->red = 33; - rgb->green = 33; - rgb->blue = 33; - return; - } - if(strcmp(color, "gray14") == 0) { - rgb->red = 36; - rgb->green = 36; - rgb->blue = 36; - return; - } - if(strcmp(color, "grey14") == 0) { - rgb->red = 36; - rgb->green = 36; - rgb->blue = 36; - return; - } - if(strcmp(color, "gray15") == 0) { - rgb->red = 38; - rgb->green = 38; - rgb->blue = 38; - return; - } - if(strcmp(color, "grey15") == 0) { - rgb->red = 38; - rgb->green = 38; - rgb->blue = 38; - return; - } - if(strcmp(color, "gray16") == 0) { - rgb->red = 41; - rgb->green = 41; - rgb->blue = 41; - return; - } - if(strcmp(color, "grey16") == 0) { - rgb->red = 41; - rgb->green = 41; - rgb->blue = 41; - return; - } - if(strcmp(color, "gray17") == 0) { - rgb->red = 43; - rgb->green = 43; - rgb->blue = 43; - return; - } - if(strcmp(color, "grey17") == 0) { - rgb->red = 43; - rgb->green = 43; - rgb->blue = 43; - return; - } - if(strcmp(color, "gray18") == 0) { - rgb->red = 46; - rgb->green = 46; - rgb->blue = 46; - return; - } - if(strcmp(color, "grey18") == 0) { - rgb->red = 46; - rgb->green = 46; - rgb->blue = 46; - return; - } - if(strcmp(color, "gray19") == 0) { - rgb->red = 48; - rgb->green = 48; - rgb->blue = 48; - return; - } - if(strcmp(color, "grey19") == 0) { - rgb->red = 48; - rgb->green = 48; - rgb->blue = 48; - return; - } - if(strcmp(color, "gray20") == 0) { - rgb->red = 51; - rgb->green = 51; - rgb->blue = 51; - return; - } - if(strcmp(color, "grey20") == 0) { - rgb->red = 51; - rgb->green = 51; - rgb->blue = 51; - return; - } - if(strcmp(color, "gray21") == 0) { - rgb->red = 54; - rgb->green = 54; - rgb->blue = 54; - return; - } - if(strcmp(color, "grey21") == 0) { - rgb->red = 54; - rgb->green = 54; - rgb->blue = 54; - return; - } - if(strcmp(color, "gray22") == 0) { - rgb->red = 56; - rgb->green = 56; - rgb->blue = 56; - return; - } - if(strcmp(color, "grey22") == 0) { - rgb->red = 56; - rgb->green = 56; - rgb->blue = 56; - return; - } - if(strcmp(color, "gray23") == 0) { - rgb->red = 59; - rgb->green = 59; - rgb->blue = 59; - return; - } - if(strcmp(color, "grey23") == 0) { - rgb->red = 59; - rgb->green = 59; - rgb->blue = 59; - return; - } - if(strcmp(color, "gray24") == 0) { - rgb->red = 61; - rgb->green = 61; - rgb->blue = 61; - return; - } - if(strcmp(color, "grey24") == 0) { - rgb->red = 61; - rgb->green = 61; - rgb->blue = 61; - return; - } - if(strcmp(color, "gray25") == 0) { - rgb->red = 64; - rgb->green = 64; - rgb->blue = 64; - return; - } - if(strcmp(color, "grey25") == 0) { - rgb->red = 64; - rgb->green = 64; - rgb->blue = 64; - return; - } - if(strcmp(color, "gray26") == 0) { - rgb->red = 66; - rgb->green = 66; - rgb->blue = 66; - return; - } - if(strcmp(color, "grey26") == 0) { - rgb->red = 66; - rgb->green = 66; - rgb->blue = 66; - return; - } - if(strcmp(color, "gray27") == 0) { - rgb->red = 69; - rgb->green = 69; - rgb->blue = 69; - return; - } - if(strcmp(color, "grey27") == 0) { - rgb->red = 69; - rgb->green = 69; - rgb->blue = 69; - return; - } - if(strcmp(color, "gray28") == 0) { - rgb->red = 71; - rgb->green = 71; - rgb->blue = 71; - return; - } - if(strcmp(color, "grey28") == 0) { - rgb->red = 71; - rgb->green = 71; - rgb->blue = 71; - return; - } - if(strcmp(color, "gray29") == 0) { - rgb->red = 74; - rgb->green = 74; - rgb->blue = 74; - return; - } - if(strcmp(color, "grey29") == 0) { - rgb->red = 74; - rgb->green = 74; - rgb->blue = 74; - return; - } - if(strcmp(color, "gray30") == 0) { - rgb->red = 77; - rgb->green = 77; - rgb->blue = 77; - return; - } - if(strcmp(color, "grey30") == 0) { - rgb->red = 77; - rgb->green = 77; - rgb->blue = 77; - return; - } - if(strcmp(color, "gray31") == 0) { - rgb->red = 79; - rgb->green = 79; - rgb->blue = 79; - return; - } - if(strcmp(color, "grey31") == 0) { - rgb->red = 79; - rgb->green = 79; - rgb->blue = 79; - return; - } - if(strcmp(color, "gray32") == 0) { - rgb->red = 82; - rgb->green = 82; - rgb->blue = 82; - return; - } - if(strcmp(color, "grey32") == 0) { - rgb->red = 82; - rgb->green = 82; - rgb->blue = 82; - return; - } - if(strcmp(color, "gray33") == 0) { - rgb->red = 84; - rgb->green = 84; - rgb->blue = 84; - return; - } - if(strcmp(color, "grey33") == 0) { - rgb->red = 84; - rgb->green = 84; - rgb->blue = 84; - return; - } - if(strcmp(color, "gray34") == 0) { - rgb->red = 87; - rgb->green = 87; - rgb->blue = 87; - return; - } - if(strcmp(color, "grey34") == 0) { - rgb->red = 87; - rgb->green = 87; - rgb->blue = 87; - return; - } - if(strcmp(color, "gray35") == 0) { - rgb->red = 89; - rgb->green = 89; - rgb->blue = 89; - return; - } - if(strcmp(color, "grey35") == 0) { - rgb->red = 89; - rgb->green = 89; - rgb->blue = 89; - return; - } - if(strcmp(color, "gray36") == 0) { - rgb->red = 92; - rgb->green = 92; - rgb->blue = 92; - return; - } - if(strcmp(color, "grey36") == 0) { - rgb->red = 92; - rgb->green = 92; - rgb->blue = 92; - return; - } - if(strcmp(color, "gray37") == 0) { - rgb->red = 94; - rgb->green = 94; - rgb->blue = 94; - return; - } - if(strcmp(color, "grey37") == 0) { - rgb->red = 94; - rgb->green = 94; - rgb->blue = 94; - return; - } - if(strcmp(color, "gray38") == 0) { - rgb->red = 97; - rgb->green = 97; - rgb->blue = 97; - return; - } - if(strcmp(color, "grey38") == 0) { - rgb->red = 97; - rgb->green = 97; - rgb->blue = 97; - return; - } - if(strcmp(color, "gray39") == 0) { - rgb->red = 99; - rgb->green = 99; - rgb->blue = 99; - return; - } - if(strcmp(color, "grey39") == 0) { - rgb->red = 99; - rgb->green = 99; - rgb->blue = 99; - return; - } - if(strcmp(color, "gray40") == 0) { - rgb->red = 102; - rgb->green = 102; - rgb->blue = 102; - return; - } - if(strcmp(color, "grey40") == 0) { - rgb->red = 102; - rgb->green = 102; - rgb->blue = 102; - return; - } - if(strcmp(color, "gray41") == 0) { - rgb->red = 105; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "grey41") == 0) { - rgb->red = 105; - rgb->green = 105; - rgb->blue = 105; - return; - } - if(strcmp(color, "gray42") == 0) { - rgb->red = 107; - rgb->green = 107; - rgb->blue = 107; - return; - } - if(strcmp(color, "grey42") == 0) { - rgb->red = 107; - rgb->green = 107; - rgb->blue = 107; - return; - } - if(strcmp(color, "gray43") == 0) { - rgb->red = 110; - rgb->green = 110; - rgb->blue = 110; - return; - } - if(strcmp(color, "grey43") == 0) { - rgb->red = 110; - rgb->green = 110; - rgb->blue = 110; - return; - } - if(strcmp(color, "gray44") == 0) { - rgb->red = 112; - rgb->green = 112; - rgb->blue = 112; - return; - } - if(strcmp(color, "grey44") == 0) { - rgb->red = 112; - rgb->green = 112; - rgb->blue = 112; - return; - } - if(strcmp(color, "gray45") == 0) { - rgb->red = 115; - rgb->green = 115; - rgb->blue = 115; - return; - } - if(strcmp(color, "grey45") == 0) { - rgb->red = 115; - rgb->green = 115; - rgb->blue = 115; - return; - } - if(strcmp(color, "gray46") == 0) { - rgb->red = 117; - rgb->green = 117; - rgb->blue = 117; - return; - } - if(strcmp(color, "grey46") == 0) { - rgb->red = 117; - rgb->green = 117; - rgb->blue = 117; - return; - } - if(strcmp(color, "gray47") == 0) { - rgb->red = 120; - rgb->green = 120; - rgb->blue = 120; - return; - } - if(strcmp(color, "grey47") == 0) { - rgb->red = 120; - rgb->green = 120; - rgb->blue = 120; - return; - } - if(strcmp(color, "gray48") == 0) { - rgb->red = 122; - rgb->green = 122; - rgb->blue = 122; - return; - } - if(strcmp(color, "grey48") == 0) { - rgb->red = 122; - rgb->green = 122; - rgb->blue = 122; - return; - } - if(strcmp(color, "gray49") == 0) { - rgb->red = 125; - rgb->green = 125; - rgb->blue = 125; - return; - } - if(strcmp(color, "grey49") == 0) { - rgb->red = 125; - rgb->green = 125; - rgb->blue = 125; - return; - } - if(strcmp(color, "gray50") == 0) { - rgb->red = 127; - rgb->green = 127; - rgb->blue = 127; - return; - } - if(strcmp(color, "grey50") == 0) { - rgb->red = 127; - rgb->green = 127; - rgb->blue = 127; - return; - } - if(strcmp(color, "gray51") == 0) { - rgb->red = 130; - rgb->green = 130; - rgb->blue = 130; - return; - } - if(strcmp(color, "grey51") == 0) { - rgb->red = 130; - rgb->green = 130; - rgb->blue = 130; - return; - } - if(strcmp(color, "gray52") == 0) { - rgb->red = 133; - rgb->green = 133; - rgb->blue = 133; - return; - } - if(strcmp(color, "grey52") == 0) { - rgb->red = 133; - rgb->green = 133; - rgb->blue = 133; - return; - } - if(strcmp(color, "gray53") == 0) { - rgb->red = 135; - rgb->green = 135; - rgb->blue = 135; - return; - } - if(strcmp(color, "grey53") == 0) { - rgb->red = 135; - rgb->green = 135; - rgb->blue = 135; - return; - } - if(strcmp(color, "gray54") == 0) { - rgb->red = 138; - rgb->green = 138; - rgb->blue = 138; - return; - } - if(strcmp(color, "grey54") == 0) { - rgb->red = 138; - rgb->green = 138; - rgb->blue = 138; - return; - } - if(strcmp(color, "gray55") == 0) { - rgb->red = 140; - rgb->green = 140; - rgb->blue = 140; - return; - } - if(strcmp(color, "grey55") == 0) { - rgb->red = 140; - rgb->green = 140; - rgb->blue = 140; - return; - } - if(strcmp(color, "gray56") == 0) { - rgb->red = 143; - rgb->green = 143; - rgb->blue = 143; - return; - } - if(strcmp(color, "grey56") == 0) { - rgb->red = 143; - rgb->green = 143; - rgb->blue = 143; - return; - } - if(strcmp(color, "gray57") == 0) { - rgb->red = 145; - rgb->green = 145; - rgb->blue = 145; - return; - } - if(strcmp(color, "grey57") == 0) { - rgb->red = 145; - rgb->green = 145; - rgb->blue = 145; - return; - } - if(strcmp(color, "gray58") == 0) { - rgb->red = 148; - rgb->green = 148; - rgb->blue = 148; - return; - } - if(strcmp(color, "grey58") == 0) { - rgb->red = 148; - rgb->green = 148; - rgb->blue = 148; - return; - } - if(strcmp(color, "gray59") == 0) { - rgb->red = 150; - rgb->green = 150; - rgb->blue = 150; - return; - } - if(strcmp(color, "grey59") == 0) { - rgb->red = 150; - rgb->green = 150; - rgb->blue = 150; - return; - } - if(strcmp(color, "gray60") == 0) { - rgb->red = 153; - rgb->green = 153; - rgb->blue = 153; - return; - } - if(strcmp(color, "grey60") == 0) { - rgb->red = 153; - rgb->green = 153; - rgb->blue = 153; - return; - } - if(strcmp(color, "gray61") == 0) { - rgb->red = 156; - rgb->green = 156; - rgb->blue = 156; - return; - } - if(strcmp(color, "grey61") == 0) { - rgb->red = 156; - rgb->green = 156; - rgb->blue = 156; - return; - } - if(strcmp(color, "gray62") == 0) { - rgb->red = 158; - rgb->green = 158; - rgb->blue = 158; - return; - } - if(strcmp(color, "grey62") == 0) { - rgb->red = 158; - rgb->green = 158; - rgb->blue = 158; - return; - } - if(strcmp(color, "gray63") == 0) { - rgb->red = 161; - rgb->green = 161; - rgb->blue = 161; - return; - } - if(strcmp(color, "grey63") == 0) { - rgb->red = 161; - rgb->green = 161; - rgb->blue = 161; - return; - } - if(strcmp(color, "gray64") == 0) { - rgb->red = 163; - rgb->green = 163; - rgb->blue = 163; - return; - } - if(strcmp(color, "grey64") == 0) { - rgb->red = 163; - rgb->green = 163; - rgb->blue = 163; - return; - } - if(strcmp(color, "gray65") == 0) { - rgb->red = 166; - rgb->green = 166; - rgb->blue = 166; - return; - } - if(strcmp(color, "grey65") == 0) { - rgb->red = 166; - rgb->green = 166; - rgb->blue = 166; - return; - } - if(strcmp(color, "gray66") == 0) { - rgb->red = 168; - rgb->green = 168; - rgb->blue = 168; - return; - } - if(strcmp(color, "grey66") == 0) { - rgb->red = 168; - rgb->green = 168; - rgb->blue = 168; - return; - } - if(strcmp(color, "gray67") == 0) { - rgb->red = 171; - rgb->green = 171; - rgb->blue = 171; - return; - } - if(strcmp(color, "grey67") == 0) { - rgb->red = 171; - rgb->green = 171; - rgb->blue = 171; - return; - } - if(strcmp(color, "gray68") == 0) { - rgb->red = 173; - rgb->green = 173; - rgb->blue = 173; - return; - } - if(strcmp(color, "grey68") == 0) { - rgb->red = 173; - rgb->green = 173; - rgb->blue = 173; - return; - } - if(strcmp(color, "gray69") == 0) { - rgb->red = 176; - rgb->green = 176; - rgb->blue = 176; - return; - } - if(strcmp(color, "grey69") == 0) { - rgb->red = 176; - rgb->green = 176; - rgb->blue = 176; - return; - } - if(strcmp(color, "gray70") == 0) { - rgb->red = 179; - rgb->green = 179; - rgb->blue = 179; - return; - } - if(strcmp(color, "grey70") == 0) { - rgb->red = 179; - rgb->green = 179; - rgb->blue = 179; - return; - } - if(strcmp(color, "gray71") == 0) { - rgb->red = 181; - rgb->green = 181; - rgb->blue = 181; - return; - } - if(strcmp(color, "grey71") == 0) { - rgb->red = 181; - rgb->green = 181; - rgb->blue = 181; - return; - } - if(strcmp(color, "gray72") == 0) { - rgb->red = 184; - rgb->green = 184; - rgb->blue = 184; - return; - } - if(strcmp(color, "grey72") == 0) { - rgb->red = 184; - rgb->green = 184; - rgb->blue = 184; - return; - } - if(strcmp(color, "gray73") == 0) { - rgb->red = 186; - rgb->green = 186; - rgb->blue = 186; - return; - } - if(strcmp(color, "grey73") == 0) { - rgb->red = 186; - rgb->green = 186; - rgb->blue = 186; - return; - } - if(strcmp(color, "gray74") == 0) { - rgb->red = 189; - rgb->green = 189; - rgb->blue = 189; - return; - } - if(strcmp(color, "grey74") == 0) { - rgb->red = 189; - rgb->green = 189; - rgb->blue = 189; - return; - } - if(strcmp(color, "gray75") == 0) { - rgb->red = 191; - rgb->green = 191; - rgb->blue = 191; - return; - } - if(strcmp(color, "grey75") == 0) { - rgb->red = 191; - rgb->green = 191; - rgb->blue = 191; - return; - } - if(strcmp(color, "gray76") == 0) { - rgb->red = 194; - rgb->green = 194; - rgb->blue = 194; - return; - } - if(strcmp(color, "grey76") == 0) { - rgb->red = 194; - rgb->green = 194; - rgb->blue = 194; - return; - } - if(strcmp(color, "gray77") == 0) { - rgb->red = 196; - rgb->green = 196; - rgb->blue = 196; - return; - } - if(strcmp(color, "grey77") == 0) { - rgb->red = 196; - rgb->green = 196; - rgb->blue = 196; - return; - } - if(strcmp(color, "gray78") == 0) { - rgb->red = 199; - rgb->green = 199; - rgb->blue = 199; - return; - } - if(strcmp(color, "grey78") == 0) { - rgb->red = 199; - rgb->green = 199; - rgb->blue = 199; - return; - } - if(strcmp(color, "gray79") == 0) { - rgb->red = 201; - rgb->green = 201; - rgb->blue = 201; - return; - } - if(strcmp(color, "grey79") == 0) { - rgb->red = 201; - rgb->green = 201; - rgb->blue = 201; - return; - } - if(strcmp(color, "gray80") == 0) { - rgb->red = 204; - rgb->green = 204; - rgb->blue = 204; - return; - } - if(strcmp(color, "grey80") == 0) { - rgb->red = 204; - rgb->green = 204; - rgb->blue = 204; - return; - } - if(strcmp(color, "gray81") == 0) { - rgb->red = 207; - rgb->green = 207; - rgb->blue = 207; - return; - } - if(strcmp(color, "grey81") == 0) { - rgb->red = 207; - rgb->green = 207; - rgb->blue = 207; - return; - } - if(strcmp(color, "gray82") == 0) { - rgb->red = 209; - rgb->green = 209; - rgb->blue = 209; - return; - } - if(strcmp(color, "grey82") == 0) { - rgb->red = 209; - rgb->green = 209; - rgb->blue = 209; - return; - } - if(strcmp(color, "gray83") == 0) { - rgb->red = 212; - rgb->green = 212; - rgb->blue = 212; - return; - } - if(strcmp(color, "grey83") == 0) { - rgb->red = 212; - rgb->green = 212; - rgb->blue = 212; - return; - } - if(strcmp(color, "gray84") == 0) { - rgb->red = 214; - rgb->green = 214; - rgb->blue = 214; - return; - } - if(strcmp(color, "grey84") == 0) { - rgb->red = 214; - rgb->green = 214; - rgb->blue = 214; - return; - } - if(strcmp(color, "gray85") == 0) { - rgb->red = 217; - rgb->green = 217; - rgb->blue = 217; - return; - } - if(strcmp(color, "grey85") == 0) { - rgb->red = 217; - rgb->green = 217; - rgb->blue = 217; - return; - } - if(strcmp(color, "gray86") == 0) { - rgb->red = 219; - rgb->green = 219; - rgb->blue = 219; - return; - } - if(strcmp(color, "grey86") == 0) { - rgb->red = 219; - rgb->green = 219; - rgb->blue = 219; - return; - } - if(strcmp(color, "gray87") == 0) { - rgb->red = 222; - rgb->green = 222; - rgb->blue = 222; - return; - } - if(strcmp(color, "grey87") == 0) { - rgb->red = 222; - rgb->green = 222; - rgb->blue = 222; - return; - } - if(strcmp(color, "gray88") == 0) { - rgb->red = 224; - rgb->green = 224; - rgb->blue = 224; - return; - } - if(strcmp(color, "grey88") == 0) { - rgb->red = 224; - rgb->green = 224; - rgb->blue = 224; - return; - } - if(strcmp(color, "gray89") == 0) { - rgb->red = 227; - rgb->green = 227; - rgb->blue = 227; - return; - } - if(strcmp(color, "grey89") == 0) { - rgb->red = 227; - rgb->green = 227; - rgb->blue = 227; - return; - } - if(strcmp(color, "gray90") == 0) { - rgb->red = 229; - rgb->green = 229; - rgb->blue = 229; - return; - } - if(strcmp(color, "grey90") == 0) { - rgb->red = 229; - rgb->green = 229; - rgb->blue = 229; - return; - } - if(strcmp(color, "gray91") == 0) { - rgb->red = 232; - rgb->green = 232; - rgb->blue = 232; - return; - } - if(strcmp(color, "grey91") == 0) { - rgb->red = 232; - rgb->green = 232; - rgb->blue = 232; - return; - } - if(strcmp(color, "gray92") == 0) { - rgb->red = 235; - rgb->green = 235; - rgb->blue = 235; - return; - } - if(strcmp(color, "grey92") == 0) { - rgb->red = 235; - rgb->green = 235; - rgb->blue = 235; - return; - } - if(strcmp(color, "gray93") == 0) { - rgb->red = 237; - rgb->green = 237; - rgb->blue = 237; - return; - } - if(strcmp(color, "grey93") == 0) { - rgb->red = 237; - rgb->green = 237; - rgb->blue = 237; - return; - } - if(strcmp(color, "gray94") == 0) { - rgb->red = 240; - rgb->green = 240; - rgb->blue = 240; - return; - } - if(strcmp(color, "grey94") == 0) { - rgb->red = 240; - rgb->green = 240; - rgb->blue = 240; - return; - } - if(strcmp(color, "gray95") == 0) { - rgb->red = 242; - rgb->green = 242; - rgb->blue = 242; - return; - } - if(strcmp(color, "grey95") == 0) { - rgb->red = 242; - rgb->green = 242; - rgb->blue = 242; - return; - } - if(strcmp(color, "gray96") == 0) { - rgb->red = 245; - rgb->green = 245; - rgb->blue = 245; - return; - } - if(strcmp(color, "grey96") == 0) { - rgb->red = 245; - rgb->green = 245; - rgb->blue = 245; - return; - } - if(strcmp(color, "gray97") == 0) { - rgb->red = 247; - rgb->green = 247; - rgb->blue = 247; - return; - } - if(strcmp(color, "grey97") == 0) { - rgb->red = 247; - rgb->green = 247; - rgb->blue = 247; - return; - } - if(strcmp(color, "gray98") == 0) { - rgb->red = 250; - rgb->green = 250; - rgb->blue = 250; - return; - } - if(strcmp(color, "grey98") == 0) { - rgb->red = 250; - rgb->green = 250; - rgb->blue = 250; - return; - } - if(strcmp(color, "gray99") == 0) { - rgb->red = 252; - rgb->green = 252; - rgb->blue = 252; - return; - } - if(strcmp(color, "grey99") == 0) { - rgb->red = 252; - rgb->green = 252; - rgb->blue = 252; - return; - } - if(strcmp(color, "gray100") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "grey100") == 0) { - rgb->red = 255; - rgb->green = 255; - rgb->blue = 255; - return; - } - if(strcmp(color, "dark grey") == 0) { - rgb->red = 169; - rgb->green = 169; - rgb->blue = 169; - return; - } - if(strcmp(color, "DarkGrey") == 0) { - rgb->red = 169; - rgb->green = 169; - rgb->blue = 169; - return; - } - if(strcmp(color, "dark gray") == 0) { - rgb->red = 169; - rgb->green = 169; - rgb->blue = 169; - return; - } - if(strcmp(color, "DarkGray") == 0) { - rgb->red = 169; - rgb->green = 169; - rgb->blue = 169; - return; - } - if(strcmp(color, "dark blue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 139; - return; - } - if(strcmp(color, "DarkBlue") == 0) { - rgb->red = 0; - rgb->green = 0; - rgb->blue = 139; - return; - } - if(strcmp(color, "dark cyan") == 0) { - rgb->red = 0; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "DarkCyan") == 0) { - rgb->red = 0; - rgb->green = 139; - rgb->blue = 139; - return; - } - if(strcmp(color, "dark magenta") == 0) { - rgb->red = 139; - rgb->green = 0; - rgb->blue = 139; - return; - } - if(strcmp(color, "DarkMagenta") == 0) { - rgb->red = 139; - rgb->green = 0; - rgb->blue = 139; - return; - } - if(strcmp(color, "dark red") == 0) { - rgb->red = 139; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "DarkRed") == 0) { - rgb->red = 139; - rgb->green = 0; - rgb->blue = 0; - return; - } - if(strcmp(color, "light green") == 0) { - rgb->red = 144; - rgb->green = 238; - rgb->blue = 144; - return; - } - if(strcmp(color, "LightGreen") == 0) { - rgb->red = 144; - rgb->green = 238; - rgb->blue = 144; - return; - } - if(strcmp(color, "crimson") == 0) { - rgb->red = 220; - rgb->green = 20; - rgb->blue = 60; - return; - } - if(strcmp(color, "indigo") == 0) { - rgb->red = 75; - rgb->green = 0; - rgb->blue = 130; - return; - } - if(strcmp(color, "olive") == 0) { - rgb->red = 128; - rgb->green = 128; - rgb->blue = 0; - return; - } - if(strcmp(color, "rebecca purple") == 0) { - rgb->red = 102; - rgb->green = 51; - rgb->blue = 153; - return; - } - if(strcmp(color, "RebeccaPurple") == 0) { - rgb->red = 102; - rgb->green = 51; - rgb->blue = 153; - return; - } - if(strcmp(color, "silver") == 0) { - rgb->red = 192; - rgb->green = 192; - rgb->blue = 192; - return; - } - if(strcmp(color, "teal") == 0) { - rgb->red = 0; - rgb->green = 128; - rgb->blue = 128; - return; - } - rgb->red = 0; - rgb->green = 0; - rgb->blue = 0; + MwU32 v = shget(colors, color); + rgb->red = (v >> 16) & 0xff; + rgb->green = (v >> 8) & 0xff; + rgb->blue = (v >> 0) & 0xff; +} + +static void add_color(const char* name, int red, int green, int blue) { + MwU32 v = (red << 16) | (green << 8) | (blue << 0); + shput(colors, name, v); +} + +void MwColorTableInit(void) { + sh_new_strdup(colors); + shdefault(colors, 0); + add_color("snow", 255, 250, 250); + add_color("ghost white", 248, 248, 255); + add_color("GhostWhite", 248, 248, 255); + add_color("white smoke", 245, 245, 245); + add_color("WhiteSmoke", 245, 245, 245); + add_color("gainsboro", 220, 220, 220); + add_color("floral white", 255, 250, 240); + add_color("FloralWhite", 255, 250, 240); + add_color("old lace", 253, 245, 230); + add_color("OldLace", 253, 245, 230); + add_color("linen", 250, 240, 230); + add_color("antique white", 250, 235, 215); + add_color("AntiqueWhite", 250, 235, 215); + add_color("papaya whip", 255, 239, 213); + add_color("PapayaWhip", 255, 239, 213); + add_color("blanched almond", 255, 235, 205); + add_color("BlanchedAlmond", 255, 235, 205); + add_color("bisque", 255, 228, 196); + add_color("peach puff", 255, 218, 185); + add_color("PeachPuff", 255, 218, 185); + add_color("navajo white", 255, 222, 173); + add_color("NavajoWhite", 255, 222, 173); + add_color("moccasin", 255, 228, 181); + add_color("cornsilk", 255, 248, 220); + add_color("ivory", 255, 255, 240); + add_color("lemon chiffon", 255, 250, 205); + add_color("LemonChiffon", 255, 250, 205); + add_color("seashell", 255, 245, 238); + add_color("honeydew", 240, 255, 240); + add_color("mint cream", 245, 255, 250); + add_color("MintCream", 245, 255, 250); + add_color("azure", 240, 255, 255); + add_color("alice blue", 240, 248, 255); + add_color("AliceBlue", 240, 248, 255); + add_color("lavender", 230, 230, 250); + add_color("lavender blush", 255, 240, 245); + add_color("LavenderBlush", 255, 240, 245); + add_color("misty rose", 255, 228, 225); + add_color("MistyRose", 255, 228, 225); + add_color("white", 255, 255, 255); + add_color("black", 0, 0, 0); + add_color("dark slate gray", 47, 79, 79); + add_color("DarkSlateGray", 47, 79, 79); + add_color("dark slate grey", 47, 79, 79); + add_color("DarkSlateGrey", 47, 79, 79); + add_color("dim gray", 105, 105, 105); + add_color("DimGray", 105, 105, 105); + add_color("dim grey", 105, 105, 105); + add_color("DimGrey", 105, 105, 105); + add_color("slate gray", 112, 128, 144); + add_color("SlateGray", 112, 128, 144); + add_color("slate grey", 112, 128, 144); + add_color("SlateGrey", 112, 128, 144); + add_color("light slate gray", 119, 136, 153); + add_color("LightSlateGray", 119, 136, 153); + add_color("light slate grey", 119, 136, 153); + add_color("LightSlateGrey", 119, 136, 153); + add_color("gray", 190, 190, 190); + add_color("grey", 190, 190, 190); + add_color("x11 gray", 190, 190, 190); + add_color("X11Gray", 190, 190, 190); + add_color("x11 grey", 190, 190, 190); + add_color("X11Grey", 190, 190, 190); + add_color("web gray", 128, 128, 128); + add_color("WebGray", 128, 128, 128); + add_color("web grey", 128, 128, 128); + add_color("WebGrey", 128, 128, 128); + add_color("light grey", 211, 211, 211); + add_color("LightGrey", 211, 211, 211); + add_color("light gray", 211, 211, 211); + add_color("LightGray", 211, 211, 211); + add_color("midnight blue", 25, 25, 112); + add_color("MidnightBlue", 25, 25, 112); + add_color("navy", 0, 0, 128); + add_color("navy blue", 0, 0, 128); + add_color("NavyBlue", 0, 0, 128); + add_color("cornflower blue", 100, 149, 237); + add_color("CornflowerBlue", 100, 149, 237); + add_color("dark slate blue", 72, 61, 139); + add_color("DarkSlateBlue", 72, 61, 139); + add_color("slate blue", 106, 90, 205); + add_color("SlateBlue", 106, 90, 205); + add_color("medium slate blue", 123, 104, 238); + add_color("MediumSlateBlue", 123, 104, 238); + add_color("light slate blue", 132, 112, 255); + add_color("LightSlateBlue", 132, 112, 255); + add_color("medium blue", 0, 0, 205); + add_color("MediumBlue", 0, 0, 205); + add_color("royal blue", 65, 105, 225); + add_color("RoyalBlue", 65, 105, 225); + add_color("blue", 0, 0, 255); + add_color("dodger blue", 30, 144, 255); + add_color("DodgerBlue", 30, 144, 255); + add_color("deep sky blue", 0, 191, 255); + add_color("DeepSkyBlue", 0, 191, 255); + add_color("sky blue", 135, 206, 235); + add_color("SkyBlue", 135, 206, 235); + add_color("light sky blue", 135, 206, 250); + add_color("LightSkyBlue", 135, 206, 250); + add_color("steel blue", 70, 130, 180); + add_color("SteelBlue", 70, 130, 180); + add_color("light steel blue", 176, 196, 222); + add_color("LightSteelBlue", 176, 196, 222); + add_color("light blue", 173, 216, 230); + add_color("LightBlue", 173, 216, 230); + add_color("powder blue", 176, 224, 230); + add_color("PowderBlue", 176, 224, 230); + add_color("pale turquoise", 175, 238, 238); + add_color("PaleTurquoise", 175, 238, 238); + add_color("dark turquoise", 0, 206, 209); + add_color("DarkTurquoise", 0, 206, 209); + add_color("medium turquoise", 72, 209, 204); + add_color("MediumTurquoise", 72, 209, 204); + add_color("turquoise", 64, 224, 208); + add_color("cyan", 0, 255, 255); + add_color("aqua", 0, 255, 255); + add_color("light cyan", 224, 255, 255); + add_color("LightCyan", 224, 255, 255); + add_color("cadet blue", 95, 158, 160); + add_color("CadetBlue", 95, 158, 160); + add_color("medium aquamarine", 102, 205, 170); + add_color("MediumAquamarine", 102, 205, 170); + add_color("aquamarine", 127, 255, 212); + add_color("dark green", 0, 100, 0); + add_color("DarkGreen", 0, 100, 0); + add_color("dark olive green", 85, 107, 47); + add_color("DarkOliveGreen", 85, 107, 47); + add_color("dark sea green", 143, 188, 143); + add_color("DarkSeaGreen", 143, 188, 143); + add_color("sea green", 46, 139, 87); + add_color("SeaGreen", 46, 139, 87); + add_color("medium sea green", 60, 179, 113); + add_color("MediumSeaGreen", 60, 179, 113); + add_color("light sea green", 32, 178, 170); + add_color("LightSeaGreen", 32, 178, 170); + add_color("pale green", 152, 251, 152); + add_color("PaleGreen", 152, 251, 152); + add_color("spring green", 0, 255, 127); + add_color("SpringGreen", 0, 255, 127); + add_color("lawn green", 124, 252, 0); + add_color("LawnGreen", 124, 252, 0); + add_color("green", 0, 255, 0); + add_color("lime", 0, 255, 0); + add_color("x11 green", 0, 255, 0); + add_color("X11Green", 0, 255, 0); + add_color("web green", 0, 128, 0); + add_color("WebGreen", 0, 128, 0); + add_color("chartreuse", 127, 255, 0); + add_color("medium spring green", 0, 250, 154); + add_color("MediumSpringGreen", 0, 250, 154); + add_color("green yellow", 173, 255, 47); + add_color("GreenYellow", 173, 255, 47); + add_color("lime green", 50, 205, 50); + add_color("LimeGreen", 50, 205, 50); + add_color("yellow green", 154, 205, 50); + add_color("YellowGreen", 154, 205, 50); + add_color("forest green", 34, 139, 34); + add_color("ForestGreen", 34, 139, 34); + add_color("olive drab", 107, 142, 35); + add_color("OliveDrab", 107, 142, 35); + add_color("dark khaki", 189, 183, 107); + add_color("DarkKhaki", 189, 183, 107); + add_color("khaki", 240, 230, 140); + add_color("pale goldenrod", 238, 232, 170); + add_color("PaleGoldenrod", 238, 232, 170); + add_color("light goldenrod yellow", 250, 250, 210); + add_color("LightGoldenrodYellow", 250, 250, 210); + add_color("light yellow", 255, 255, 224); + add_color("LightYellow", 255, 255, 224); + add_color("yellow", 255, 255, 0); + add_color("gold", 255, 215, 0); + add_color("light goldenrod", 238, 221, 130); + add_color("LightGoldenrod", 238, 221, 130); + add_color("goldenrod", 218, 165, 32); + add_color("dark goldenrod", 184, 134, 11); + add_color("DarkGoldenrod", 184, 134, 11); + add_color("rosy brown", 188, 143, 143); + add_color("RosyBrown", 188, 143, 143); + add_color("indian red", 205, 92, 92); + add_color("IndianRed", 205, 92, 92); + add_color("saddle brown", 139, 69, 19); + add_color("SaddleBrown", 139, 69, 19); + add_color("sienna", 160, 82, 45); + add_color("peru", 205, 133, 63); + add_color("burlywood", 222, 184, 135); + add_color("beige", 245, 245, 220); + add_color("wheat", 245, 222, 179); + add_color("sandy brown", 244, 164, 96); + add_color("SandyBrown", 244, 164, 96); + add_color("tan", 210, 180, 140); + add_color("chocolate", 210, 105, 30); + add_color("firebrick", 178, 34, 34); + add_color("brown", 165, 42, 42); + add_color("dark salmon", 233, 150, 122); + add_color("DarkSalmon", 233, 150, 122); + add_color("salmon", 250, 128, 114); + add_color("light salmon", 255, 160, 122); + add_color("LightSalmon", 255, 160, 122); + add_color("orange", 255, 165, 0); + add_color("dark orange", 255, 140, 0); + add_color("DarkOrange", 255, 140, 0); + add_color("coral", 255, 127, 80); + add_color("light coral", 240, 128, 128); + add_color("LightCoral", 240, 128, 128); + add_color("tomato", 255, 99, 71); + add_color("orange red", 255, 69, 0); + add_color("OrangeRed", 255, 69, 0); + add_color("red", 255, 0, 0); + add_color("hot pink", 255, 105, 180); + add_color("HotPink", 255, 105, 180); + add_color("deep pink", 255, 20, 147); + add_color("DeepPink", 255, 20, 147); + add_color("pink", 255, 192, 203); + add_color("light pink", 255, 182, 193); + add_color("LightPink", 255, 182, 193); + add_color("pale violet red", 219, 112, 147); + add_color("PaleVioletRed", 219, 112, 147); + add_color("maroon", 176, 48, 96); + add_color("x11 maroon", 176, 48, 96); + add_color("X11Maroon", 176, 48, 96); + add_color("web maroon", 128, 0, 0); + add_color("WebMaroon", 128, 0, 0); + add_color("medium violet red", 199, 21, 133); + add_color("MediumVioletRed", 199, 21, 133); + add_color("violet red", 208, 32, 144); + add_color("VioletRed", 208, 32, 144); + add_color("magenta", 255, 0, 255); + add_color("fuchsia", 255, 0, 255); + add_color("violet", 238, 130, 238); + add_color("plum", 221, 160, 221); + add_color("orchid", 218, 112, 214); + add_color("medium orchid", 186, 85, 211); + add_color("MediumOrchid", 186, 85, 211); + add_color("dark orchid", 153, 50, 204); + add_color("DarkOrchid", 153, 50, 204); + add_color("dark violet", 148, 0, 211); + add_color("DarkViolet", 148, 0, 211); + add_color("blue violet", 138, 43, 226); + add_color("BlueViolet", 138, 43, 226); + add_color("purple", 160, 32, 240); + add_color("x11 purple", 160, 32, 240); + add_color("X11Purple", 160, 32, 240); + add_color("web purple", 128, 0, 128); + add_color("WebPurple", 128, 0, 128); + add_color("medium purple", 147, 112, 219); + add_color("MediumPurple", 147, 112, 219); + add_color("thistle", 216, 191, 216); + add_color("snow1", 255, 250, 250); + add_color("snow2", 238, 233, 233); + add_color("snow3", 205, 201, 201); + add_color("snow4", 139, 137, 137); + add_color("seashell1", 255, 245, 238); + add_color("seashell2", 238, 229, 222); + add_color("seashell3", 205, 197, 191); + add_color("seashell4", 139, 134, 130); + add_color("AntiqueWhite1", 255, 239, 219); + add_color("AntiqueWhite2", 238, 223, 204); + add_color("AntiqueWhite3", 205, 192, 176); + add_color("AntiqueWhite4", 139, 131, 120); + add_color("bisque1", 255, 228, 196); + add_color("bisque2", 238, 213, 183); + add_color("bisque3", 205, 183, 158); + add_color("bisque4", 139, 125, 107); + add_color("PeachPuff1", 255, 218, 185); + add_color("PeachPuff2", 238, 203, 173); + add_color("PeachPuff3", 205, 175, 149); + add_color("PeachPuff4", 139, 119, 101); + add_color("NavajoWhite1", 255, 222, 173); + add_color("NavajoWhite2", 238, 207, 161); + add_color("NavajoWhite3", 205, 179, 139); + add_color("NavajoWhite4", 139, 121, 94); + add_color("LemonChiffon1", 255, 250, 205); + add_color("LemonChiffon2", 238, 233, 191); + add_color("LemonChiffon3", 205, 201, 165); + add_color("LemonChiffon4", 139, 137, 112); + add_color("cornsilk1", 255, 248, 220); + add_color("cornsilk2", 238, 232, 205); + add_color("cornsilk3", 205, 200, 177); + add_color("cornsilk4", 139, 136, 120); + add_color("ivory1", 255, 255, 240); + add_color("ivory2", 238, 238, 224); + add_color("ivory3", 205, 205, 193); + add_color("ivory4", 139, 139, 131); + add_color("honeydew1", 240, 255, 240); + add_color("honeydew2", 224, 238, 224); + add_color("honeydew3", 193, 205, 193); + add_color("honeydew4", 131, 139, 131); + add_color("LavenderBlush1", 255, 240, 245); + add_color("LavenderBlush2", 238, 224, 229); + add_color("LavenderBlush3", 205, 193, 197); + add_color("LavenderBlush4", 139, 131, 134); + add_color("MistyRose1", 255, 228, 225); + add_color("MistyRose2", 238, 213, 210); + add_color("MistyRose3", 205, 183, 181); + add_color("MistyRose4", 139, 125, 123); + add_color("azure1", 240, 255, 255); + add_color("azure2", 224, 238, 238); + add_color("azure3", 193, 205, 205); + add_color("azure4", 131, 139, 139); + add_color("SlateBlue1", 131, 111, 255); + add_color("SlateBlue2", 122, 103, 238); + add_color("SlateBlue3", 105, 89, 205); + add_color("SlateBlue4", 71, 60, 139); + add_color("RoyalBlue1", 72, 118, 255); + add_color("RoyalBlue2", 67, 110, 238); + add_color("RoyalBlue3", 58, 95, 205); + add_color("RoyalBlue4", 39, 64, 139); + add_color("blue1", 0, 0, 255); + add_color("blue2", 0, 0, 238); + add_color("blue3", 0, 0, 205); + add_color("blue4", 0, 0, 139); + add_color("DodgerBlue1", 30, 144, 255); + add_color("DodgerBlue2", 28, 134, 238); + add_color("DodgerBlue3", 24, 116, 205); + add_color("DodgerBlue4", 16, 78, 139); + add_color("SteelBlue1", 99, 184, 255); + add_color("SteelBlue2", 92, 172, 238); + add_color("SteelBlue3", 79, 148, 205); + add_color("SteelBlue4", 54, 100, 139); + add_color("DeepSkyBlue1", 0, 191, 255); + add_color("DeepSkyBlue2", 0, 178, 238); + add_color("DeepSkyBlue3", 0, 154, 205); + add_color("DeepSkyBlue4", 0, 104, 139); + add_color("SkyBlue1", 135, 206, 255); + add_color("SkyBlue2", 126, 192, 238); + add_color("SkyBlue3", 108, 166, 205); + add_color("SkyBlue4", 74, 112, 139); + add_color("LightSkyBlue1", 176, 226, 255); + add_color("LightSkyBlue2", 164, 211, 238); + add_color("LightSkyBlue3", 141, 182, 205); + add_color("LightSkyBlue4", 96, 123, 139); + add_color("SlateGray1", 198, 226, 255); + add_color("SlateGray2", 185, 211, 238); + add_color("SlateGray3", 159, 182, 205); + add_color("SlateGray4", 108, 123, 139); + add_color("LightSteelBlue1", 202, 225, 255); + add_color("LightSteelBlue2", 188, 210, 238); + add_color("LightSteelBlue3", 162, 181, 205); + add_color("LightSteelBlue4", 110, 123, 139); + add_color("LightBlue1", 191, 239, 255); + add_color("LightBlue2", 178, 223, 238); + add_color("LightBlue3", 154, 192, 205); + add_color("LightBlue4", 104, 131, 139); + add_color("LightCyan1", 224, 255, 255); + add_color("LightCyan2", 209, 238, 238); + add_color("LightCyan3", 180, 205, 205); + add_color("LightCyan4", 122, 139, 139); + add_color("PaleTurquoise1", 187, 255, 255); + add_color("PaleTurquoise2", 174, 238, 238); + add_color("PaleTurquoise3", 150, 205, 205); + add_color("PaleTurquoise4", 102, 139, 139); + add_color("CadetBlue1", 152, 245, 255); + add_color("CadetBlue2", 142, 229, 238); + add_color("CadetBlue3", 122, 197, 205); + add_color("CadetBlue4", 83, 134, 139); + add_color("turquoise1", 0, 245, 255); + add_color("turquoise2", 0, 229, 238); + add_color("turquoise3", 0, 197, 205); + add_color("turquoise4", 0, 134, 139); + add_color("cyan1", 0, 255, 255); + add_color("cyan2", 0, 238, 238); + add_color("cyan3", 0, 205, 205); + add_color("cyan4", 0, 139, 139); + add_color("DarkSlateGray1", 151, 255, 255); + add_color("DarkSlateGray2", 141, 238, 238); + add_color("DarkSlateGray3", 121, 205, 205); + add_color("DarkSlateGray4", 82, 139, 139); + add_color("aquamarine1", 127, 255, 212); + add_color("aquamarine2", 118, 238, 198); + add_color("aquamarine3", 102, 205, 170); + add_color("aquamarine4", 69, 139, 116); + add_color("DarkSeaGreen1", 193, 255, 193); + add_color("DarkSeaGreen2", 180, 238, 180); + add_color("DarkSeaGreen3", 155, 205, 155); + add_color("DarkSeaGreen4", 105, 139, 105); + add_color("SeaGreen1", 84, 255, 159); + add_color("SeaGreen2", 78, 238, 148); + add_color("SeaGreen3", 67, 205, 128); + add_color("SeaGreen4", 46, 139, 87); + add_color("PaleGreen1", 154, 255, 154); + add_color("PaleGreen2", 144, 238, 144); + add_color("PaleGreen3", 124, 205, 124); + add_color("PaleGreen4", 84, 139, 84); + add_color("SpringGreen1", 0, 255, 127); + add_color("SpringGreen2", 0, 238, 118); + add_color("SpringGreen3", 0, 205, 102); + add_color("SpringGreen4", 0, 139, 69); + add_color("green1", 0, 255, 0); + add_color("green2", 0, 238, 0); + add_color("green3", 0, 205, 0); + add_color("green4", 0, 139, 0); + add_color("chartreuse1", 127, 255, 0); + add_color("chartreuse2", 118, 238, 0); + add_color("chartreuse3", 102, 205, 0); + add_color("chartreuse4", 69, 139, 0); + add_color("OliveDrab1", 192, 255, 62); + add_color("OliveDrab2", 179, 238, 58); + add_color("OliveDrab3", 154, 205, 50); + add_color("OliveDrab4", 105, 139, 34); + add_color("DarkOliveGreen1", 202, 255, 112); + add_color("DarkOliveGreen2", 188, 238, 104); + add_color("DarkOliveGreen3", 162, 205, 90); + add_color("DarkOliveGreen4", 110, 139, 61); + add_color("khaki1", 255, 246, 143); + add_color("khaki2", 238, 230, 133); + add_color("khaki3", 205, 198, 115); + add_color("khaki4", 139, 134, 78); + add_color("LightGoldenrod1", 255, 236, 139); + add_color("LightGoldenrod2", 238, 220, 130); + add_color("LightGoldenrod3", 205, 190, 112); + add_color("LightGoldenrod4", 139, 129, 76); + add_color("LightYellow1", 255, 255, 224); + add_color("LightYellow2", 238, 238, 209); + add_color("LightYellow3", 205, 205, 180); + add_color("LightYellow4", 139, 139, 122); + add_color("yellow1", 255, 255, 0); + add_color("yellow2", 238, 238, 0); + add_color("yellow3", 205, 205, 0); + add_color("yellow4", 139, 139, 0); + add_color("gold1", 255, 215, 0); + add_color("gold2", 238, 201, 0); + add_color("gold3", 205, 173, 0); + add_color("gold4", 139, 117, 0); + add_color("goldenrod1", 255, 193, 37); + add_color("goldenrod2", 238, 180, 34); + add_color("goldenrod3", 205, 155, 29); + add_color("goldenrod4", 139, 105, 20); + add_color("DarkGoldenrod1", 255, 185, 15); + add_color("DarkGoldenrod2", 238, 173, 14); + add_color("DarkGoldenrod3", 205, 149, 12); + add_color("DarkGoldenrod4", 139, 101, 8); + add_color("RosyBrown1", 255, 193, 193); + add_color("RosyBrown2", 238, 180, 180); + add_color("RosyBrown3", 205, 155, 155); + add_color("RosyBrown4", 139, 105, 105); + add_color("IndianRed1", 255, 106, 106); + add_color("IndianRed2", 238, 99, 99); + add_color("IndianRed3", 205, 85, 85); + add_color("IndianRed4", 139, 58, 58); + add_color("sienna1", 255, 130, 71); + add_color("sienna2", 238, 121, 66); + add_color("sienna3", 205, 104, 57); + add_color("sienna4", 139, 71, 38); + add_color("burlywood1", 255, 211, 155); + add_color("burlywood2", 238, 197, 145); + add_color("burlywood3", 205, 170, 125); + add_color("burlywood4", 139, 115, 85); + add_color("wheat1", 255, 231, 186); + add_color("wheat2", 238, 216, 174); + add_color("wheat3", 205, 186, 150); + add_color("wheat4", 139, 126, 102); + add_color("tan1", 255, 165, 79); + add_color("tan2", 238, 154, 73); + add_color("tan3", 205, 133, 63); + add_color("tan4", 139, 90, 43); + add_color("chocolate1", 255, 127, 36); + add_color("chocolate2", 238, 118, 33); + add_color("chocolate3", 205, 102, 29); + add_color("chocolate4", 139, 69, 19); + add_color("firebrick1", 255, 48, 48); + add_color("firebrick2", 238, 44, 44); + add_color("firebrick3", 205, 38, 38); + add_color("firebrick4", 139, 26, 26); + add_color("brown1", 255, 64, 64); + add_color("brown2", 238, 59, 59); + add_color("brown3", 205, 51, 51); + add_color("brown4", 139, 35, 35); + add_color("salmon1", 255, 140, 105); + add_color("salmon2", 238, 130, 98); + add_color("salmon3", 205, 112, 84); + add_color("salmon4", 139, 76, 57); + add_color("LightSalmon1", 255, 160, 122); + add_color("LightSalmon2", 238, 149, 114); + add_color("LightSalmon3", 205, 129, 98); + add_color("LightSalmon4", 139, 87, 66); + add_color("orange1", 255, 165, 0); + add_color("orange2", 238, 154, 0); + add_color("orange3", 205, 133, 0); + add_color("orange4", 139, 90, 0); + add_color("DarkOrange1", 255, 127, 0); + add_color("DarkOrange2", 238, 118, 0); + add_color("DarkOrange3", 205, 102, 0); + add_color("DarkOrange4", 139, 69, 0); + add_color("coral1", 255, 114, 86); + add_color("coral2", 238, 106, 80); + add_color("coral3", 205, 91, 69); + add_color("coral4", 139, 62, 47); + add_color("tomato1", 255, 99, 71); + add_color("tomato2", 238, 92, 66); + add_color("tomato3", 205, 79, 57); + add_color("tomato4", 139, 54, 38); + add_color("OrangeRed1", 255, 69, 0); + add_color("OrangeRed2", 238, 64, 0); + add_color("OrangeRed3", 205, 55, 0); + add_color("OrangeRed4", 139, 37, 0); + add_color("red1", 255, 0, 0); + add_color("red2", 238, 0, 0); + add_color("red3", 205, 0, 0); + add_color("red4", 139, 0, 0); + add_color("DeepPink1", 255, 20, 147); + add_color("DeepPink2", 238, 18, 137); + add_color("DeepPink3", 205, 16, 118); + add_color("DeepPink4", 139, 10, 80); + add_color("HotPink1", 255, 110, 180); + add_color("HotPink2", 238, 106, 167); + add_color("HotPink3", 205, 96, 144); + add_color("HotPink4", 139, 58, 98); + add_color("pink1", 255, 181, 197); + add_color("pink2", 238, 169, 184); + add_color("pink3", 205, 145, 158); + add_color("pink4", 139, 99, 108); + add_color("LightPink1", 255, 174, 185); + add_color("LightPink2", 238, 162, 173); + add_color("LightPink3", 205, 140, 149); + add_color("LightPink4", 139, 95, 101); + add_color("PaleVioletRed1", 255, 130, 171); + add_color("PaleVioletRed2", 238, 121, 159); + add_color("PaleVioletRed3", 205, 104, 137); + add_color("PaleVioletRed4", 139, 71, 93); + add_color("maroon1", 255, 52, 179); + add_color("maroon2", 238, 48, 167); + add_color("maroon3", 205, 41, 144); + add_color("maroon4", 139, 28, 98); + add_color("VioletRed1", 255, 62, 150); + add_color("VioletRed2", 238, 58, 140); + add_color("VioletRed3", 205, 50, 120); + add_color("VioletRed4", 139, 34, 82); + add_color("magenta1", 255, 0, 255); + add_color("magenta2", 238, 0, 238); + add_color("magenta3", 205, 0, 205); + add_color("magenta4", 139, 0, 139); + add_color("orchid1", 255, 131, 250); + add_color("orchid2", 238, 122, 233); + add_color("orchid3", 205, 105, 201); + add_color("orchid4", 139, 71, 137); + add_color("plum1", 255, 187, 255); + add_color("plum2", 238, 174, 238); + add_color("plum3", 205, 150, 205); + add_color("plum4", 139, 102, 139); + add_color("MediumOrchid1", 224, 102, 255); + add_color("MediumOrchid2", 209, 95, 238); + add_color("MediumOrchid3", 180, 82, 205); + add_color("MediumOrchid4", 122, 55, 139); + add_color("DarkOrchid1", 191, 62, 255); + add_color("DarkOrchid2", 178, 58, 238); + add_color("DarkOrchid3", 154, 50, 205); + add_color("DarkOrchid4", 104, 34, 139); + add_color("purple1", 155, 48, 255); + add_color("purple2", 145, 44, 238); + add_color("purple3", 125, 38, 205); + add_color("purple4", 85, 26, 139); + add_color("MediumPurple1", 171, 130, 255); + add_color("MediumPurple2", 159, 121, 238); + add_color("MediumPurple3", 137, 104, 205); + add_color("MediumPurple4", 93, 71, 139); + add_color("thistle1", 255, 225, 255); + add_color("thistle2", 238, 210, 238); + add_color("thistle3", 205, 181, 205); + add_color("thistle4", 139, 123, 139); + add_color("gray0", 0, 0, 0); + add_color("grey0", 0, 0, 0); + add_color("gray1", 3, 3, 3); + add_color("grey1", 3, 3, 3); + add_color("gray2", 5, 5, 5); + add_color("grey2", 5, 5, 5); + add_color("gray3", 8, 8, 8); + add_color("grey3", 8, 8, 8); + add_color("gray4", 10, 10, 10); + add_color("grey4", 10, 10, 10); + add_color("gray5", 13, 13, 13); + add_color("grey5", 13, 13, 13); + add_color("gray6", 15, 15, 15); + add_color("grey6", 15, 15, 15); + add_color("gray7", 18, 18, 18); + add_color("grey7", 18, 18, 18); + add_color("gray8", 20, 20, 20); + add_color("grey8", 20, 20, 20); + add_color("gray9", 23, 23, 23); + add_color("grey9", 23, 23, 23); + add_color("gray10", 26, 26, 26); + add_color("grey10", 26, 26, 26); + add_color("gray11", 28, 28, 28); + add_color("grey11", 28, 28, 28); + add_color("gray12", 31, 31, 31); + add_color("grey12", 31, 31, 31); + add_color("gray13", 33, 33, 33); + add_color("grey13", 33, 33, 33); + add_color("gray14", 36, 36, 36); + add_color("grey14", 36, 36, 36); + add_color("gray15", 38, 38, 38); + add_color("grey15", 38, 38, 38); + add_color("gray16", 41, 41, 41); + add_color("grey16", 41, 41, 41); + add_color("gray17", 43, 43, 43); + add_color("grey17", 43, 43, 43); + add_color("gray18", 46, 46, 46); + add_color("grey18", 46, 46, 46); + add_color("gray19", 48, 48, 48); + add_color("grey19", 48, 48, 48); + add_color("gray20", 51, 51, 51); + add_color("grey20", 51, 51, 51); + add_color("gray21", 54, 54, 54); + add_color("grey21", 54, 54, 54); + add_color("gray22", 56, 56, 56); + add_color("grey22", 56, 56, 56); + add_color("gray23", 59, 59, 59); + add_color("grey23", 59, 59, 59); + add_color("gray24", 61, 61, 61); + add_color("grey24", 61, 61, 61); + add_color("gray25", 64, 64, 64); + add_color("grey25", 64, 64, 64); + add_color("gray26", 66, 66, 66); + add_color("grey26", 66, 66, 66); + add_color("gray27", 69, 69, 69); + add_color("grey27", 69, 69, 69); + add_color("gray28", 71, 71, 71); + add_color("grey28", 71, 71, 71); + add_color("gray29", 74, 74, 74); + add_color("grey29", 74, 74, 74); + add_color("gray30", 77, 77, 77); + add_color("grey30", 77, 77, 77); + add_color("gray31", 79, 79, 79); + add_color("grey31", 79, 79, 79); + add_color("gray32", 82, 82, 82); + add_color("grey32", 82, 82, 82); + add_color("gray33", 84, 84, 84); + add_color("grey33", 84, 84, 84); + add_color("gray34", 87, 87, 87); + add_color("grey34", 87, 87, 87); + add_color("gray35", 89, 89, 89); + add_color("grey35", 89, 89, 89); + add_color("gray36", 92, 92, 92); + add_color("grey36", 92, 92, 92); + add_color("gray37", 94, 94, 94); + add_color("grey37", 94, 94, 94); + add_color("gray38", 97, 97, 97); + add_color("grey38", 97, 97, 97); + add_color("gray39", 99, 99, 99); + add_color("grey39", 99, 99, 99); + add_color("gray40", 102, 102, 102); + add_color("grey40", 102, 102, 102); + add_color("gray41", 105, 105, 105); + add_color("grey41", 105, 105, 105); + add_color("gray42", 107, 107, 107); + add_color("grey42", 107, 107, 107); + add_color("gray43", 110, 110, 110); + add_color("grey43", 110, 110, 110); + add_color("gray44", 112, 112, 112); + add_color("grey44", 112, 112, 112); + add_color("gray45", 115, 115, 115); + add_color("grey45", 115, 115, 115); + add_color("gray46", 117, 117, 117); + add_color("grey46", 117, 117, 117); + add_color("gray47", 120, 120, 120); + add_color("grey47", 120, 120, 120); + add_color("gray48", 122, 122, 122); + add_color("grey48", 122, 122, 122); + add_color("gray49", 125, 125, 125); + add_color("grey49", 125, 125, 125); + add_color("gray50", 127, 127, 127); + add_color("grey50", 127, 127, 127); + add_color("gray51", 130, 130, 130); + add_color("grey51", 130, 130, 130); + add_color("gray52", 133, 133, 133); + add_color("grey52", 133, 133, 133); + add_color("gray53", 135, 135, 135); + add_color("grey53", 135, 135, 135); + add_color("gray54", 138, 138, 138); + add_color("grey54", 138, 138, 138); + add_color("gray55", 140, 140, 140); + add_color("grey55", 140, 140, 140); + add_color("gray56", 143, 143, 143); + add_color("grey56", 143, 143, 143); + add_color("gray57", 145, 145, 145); + add_color("grey57", 145, 145, 145); + add_color("gray58", 148, 148, 148); + add_color("grey58", 148, 148, 148); + add_color("gray59", 150, 150, 150); + add_color("grey59", 150, 150, 150); + add_color("gray60", 153, 153, 153); + add_color("grey60", 153, 153, 153); + add_color("gray61", 156, 156, 156); + add_color("grey61", 156, 156, 156); + add_color("gray62", 158, 158, 158); + add_color("grey62", 158, 158, 158); + add_color("gray63", 161, 161, 161); + add_color("grey63", 161, 161, 161); + add_color("gray64", 163, 163, 163); + add_color("grey64", 163, 163, 163); + add_color("gray65", 166, 166, 166); + add_color("grey65", 166, 166, 166); + add_color("gray66", 168, 168, 168); + add_color("grey66", 168, 168, 168); + add_color("gray67", 171, 171, 171); + add_color("grey67", 171, 171, 171); + add_color("gray68", 173, 173, 173); + add_color("grey68", 173, 173, 173); + add_color("gray69", 176, 176, 176); + add_color("grey69", 176, 176, 176); + add_color("gray70", 179, 179, 179); + add_color("grey70", 179, 179, 179); + add_color("gray71", 181, 181, 181); + add_color("grey71", 181, 181, 181); + add_color("gray72", 184, 184, 184); + add_color("grey72", 184, 184, 184); + add_color("gray73", 186, 186, 186); + add_color("grey73", 186, 186, 186); + add_color("gray74", 189, 189, 189); + add_color("grey74", 189, 189, 189); + add_color("gray75", 191, 191, 191); + add_color("grey75", 191, 191, 191); + add_color("gray76", 194, 194, 194); + add_color("grey76", 194, 194, 194); + add_color("gray77", 196, 196, 196); + add_color("grey77", 196, 196, 196); + add_color("gray78", 199, 199, 199); + add_color("grey78", 199, 199, 199); + add_color("gray79", 201, 201, 201); + add_color("grey79", 201, 201, 201); + add_color("gray80", 204, 204, 204); + add_color("grey80", 204, 204, 204); + add_color("gray81", 207, 207, 207); + add_color("grey81", 207, 207, 207); + add_color("gray82", 209, 209, 209); + add_color("grey82", 209, 209, 209); + add_color("gray83", 212, 212, 212); + add_color("grey83", 212, 212, 212); + add_color("gray84", 214, 214, 214); + add_color("grey84", 214, 214, 214); + add_color("gray85", 217, 217, 217); + add_color("grey85", 217, 217, 217); + add_color("gray86", 219, 219, 219); + add_color("grey86", 219, 219, 219); + add_color("gray87", 222, 222, 222); + add_color("grey87", 222, 222, 222); + add_color("gray88", 224, 224, 224); + add_color("grey88", 224, 224, 224); + add_color("gray89", 227, 227, 227); + add_color("grey89", 227, 227, 227); + add_color("gray90", 229, 229, 229); + add_color("grey90", 229, 229, 229); + add_color("gray91", 232, 232, 232); + add_color("grey91", 232, 232, 232); + add_color("gray92", 235, 235, 235); + add_color("grey92", 235, 235, 235); + add_color("gray93", 237, 237, 237); + add_color("grey93", 237, 237, 237); + add_color("gray94", 240, 240, 240); + add_color("grey94", 240, 240, 240); + add_color("gray95", 242, 242, 242); + add_color("grey95", 242, 242, 242); + add_color("gray96", 245, 245, 245); + add_color("grey96", 245, 245, 245); + add_color("gray97", 247, 247, 247); + add_color("grey97", 247, 247, 247); + add_color("gray98", 250, 250, 250); + add_color("grey98", 250, 250, 250); + add_color("gray99", 252, 252, 252); + add_color("grey99", 252, 252, 252); + add_color("gray100", 255, 255, 255); + add_color("grey100", 255, 255, 255); + add_color("dark grey", 169, 169, 169); + add_color("DarkGrey", 169, 169, 169); + add_color("dark gray", 169, 169, 169); + add_color("DarkGray", 169, 169, 169); + add_color("dark blue", 0, 0, 139); + add_color("DarkBlue", 0, 0, 139); + add_color("dark cyan", 0, 139, 139); + add_color("DarkCyan", 0, 139, 139); + add_color("dark magenta", 139, 0, 139); + add_color("DarkMagenta", 139, 0, 139); + add_color("dark red", 139, 0, 0); + add_color("DarkRed", 139, 0, 0); + add_color("light green", 144, 238, 144); + add_color("LightGreen", 144, 238, 144); + add_color("crimson", 220, 20, 60); + add_color("indigo", 75, 0, 130); + add_color("olive", 128, 128, 0); + add_color("rebecca purple", 102, 51, 153); + add_color("RebeccaPurple", 102, 51, 153); + add_color("silver", 192, 192, 192); + add_color("teal", 0, 128, 128); } diff --git a/src/core.c b/src/core.c index db81a2b..0db801f 100644 --- a/src/core.c +++ b/src/core.c @@ -18,7 +18,7 @@ MwLLEndDraw(handle->lowlevel); \ } -static void MWAPI MwVaListApply_Internal(MwWidget handle, va_list va, int only_early); +static void MWAPI MwVaListApply_Internal(MwWidget handle, va_list va, int only_early); static MwWidget MWAPI MwCreateWidget_Internal(MwClass widget_class, const char* name, MwWidget parent, int x, int y, unsigned int width, unsigned int height, int do_prop, va_list prop); static void lldrawhandler(MwLL handle, void* data) { @@ -998,6 +998,8 @@ int MwLibraryInit(void) { NULL}; int i; + MwColorTableInit(); + MwFLSetup(); for(i = 0; calls[i] != NULL; i++) { diff --git a/src/widget/label.c b/src/widget/label.c index 84277b2..81b0498 100644 --- a/src/widget/label.c +++ b/src/widget/label.c @@ -319,8 +319,8 @@ static void draw_normal(MwWidget handle) { MwLLColor text = MwParseColor(handle, MwGetText(handle, MwNforeground)); MwLLColor shadow = MwLightenColor(handle, base, MwDefaultShadow, MwDefaultShadow, MwDefaultShadow); int align; - const char* str = MwGetText(handle, MwNtext); - MwLLPixmap bgpx = MwGetVoid(handle, MwNbackgroundPixmap); + const char* str = MwGetText(handle, MwNtext); + MwLLPixmap bgpx = MwGetVoid(handle, MwNbackgroundPixmap); if(str == NULL) str = ""; diff --git a/src/widget/opengl.c b/src/widget/opengl.c index bd3532b..db839ea 100644 --- a/src/widget/opengl.c +++ b/src/widget/opengl.c @@ -239,7 +239,7 @@ static int wcreate(MwWidget handle) { EGLDisplay display; waylandopengl_t* o = r = malloc(sizeof(*o)); int gbm_format = 0; - EGLConfig egl_configs[1024]; + EGLConfig egl_configs[1024]; memset(o, 0, sizeof(waylandopengl_t)); o->gllib = MwDynamicOpen("libEGL.so"); @@ -346,7 +346,7 @@ static int wcreate(MwWidget handle) { } else { if(gbm_format == GBM_FORMAT_ARGB8888) { o->egl_config = egl_configs[i]; - break; + break; } } } @@ -513,8 +513,8 @@ static void mwOpenGLSwapBufferImpl(MwWidget handle) { #ifdef USE_WAYLAND if(handle->lowlevel->common.type == MwLLBackendWayland) { waylandopengl_t* o = handle->internal; - struct gbm_bo* bo; - eglSwapInterval(o->egl_display, 0); + struct gbm_bo* bo; + eglSwapInterval(o->egl_display, 0); if(!eglSwapBuffers(o->egl_display, o->egl_surface)) { printf("ERROR: eglSwapBuffers, %0X\n", eglGetError()); } diff --git a/tools/color.pl b/tools/color.pl index e872ead..0e7c6bb 100755 --- a/tools/color.pl +++ b/tools/color.pl @@ -4,6 +4,15 @@ open(OUT, ">", "src/color.c"); print(OUT "#include \n"); print(OUT "\n"); +print(OUT "#include \"../external/stb_ds.h\"\n"); +print(OUT "\n"); +print(OUT "struct color {\n"); +print(OUT " char* key;\n"); +print(OUT " MwU32 value;\n"); +print(OUT "};\n"); +print(OUT "\n"); +print(OUT "static struct color* colors = NULL;\n"); +print(OUT "\n"); print(OUT "MwLLColor MwParseColorName(MwWidget handle, const char* color){\n"); print(OUT " MwRGB rgb;\n"); print(OUT " MwParseColorNameNoAllocate(color, &rgb);\n"); @@ -13,21 +22,26 @@ print(OUT print(OUT "}\n"); print(OUT "\n"); print(OUT "void MwParseColorNameNoAllocate(const char* color, MwRGB* rgb){\n"); - +print(OUT " MwU32 v = shget(colors, color);"); +print(OUT " rgb->red = (v >> 16) & 0xff;"); +print(OUT " rgb->green = (v >> 8) & 0xff;"); +print(OUT " rgb->blue = (v >> 0) & 0xff;"); +print(OUT "}\n"); +print(OUT "\n"); +print(OUT "static void add_color(const char* name, int red, int green, int blue){\n"); +print(OUT " MwU32 v = (red << 16) | (green << 8) | (blue << 0);\n"); +print(OUT " shput(colors, name, v);\n"); +print(OUT "}\n"); +print(OUT "\n"); +print(OUT "void MwColorTableInit(void){\n"); +print(OUT " sh_new_strdup(colors);\n"); +print(OUT " shdefault(colors, 0);\n"); while (my $l = ) { $l =~ s/\r?\n$//; if ($l =~ /^[ \t]*([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+(.+)$/) { - print(OUT " if(strcmp(color, \"$4\") == 0){\n"); - print(OUT " rgb->red = $1;\n"); - print(OUT " rgb->green = $2;\n"); - print(OUT " rgb->blue = $3;\n"); - print(OUT " return;\n"); - print(OUT " }\n"); + print(OUT " add_color(\"$4\", $1, $2, $3);\n"); } } -print(OUT " rgb->red = 0;\n"); -print(OUT " rgb->green = 0;\n"); -print(OUT " rgb->blue = 0;\n"); print(OUT "}\n"); close(OUT); From 95e7db960734904e4a0ecbb9051caa46dfcaa6bf Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Thu, 21 May 2026 15:45:26 -0500 Subject: [PATCH 015/119] Mw/TypeDefs.h: new -> _new --- include/Mw/TypeDefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 8bfa8c1..e9dbec0 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -40,7 +40,7 @@ typedef void (*MwHandler)(MwWidget handle); typedef int (*MwHandlerWithStatus)(MwWidget handle); typedef void (*MwHandlerProps)(MwWidget handle, char** key); typedef void (*MwHandlerProp)(MwWidget handle, const char* key); -typedef void (*MwHandlerChildrenUpdate)(MwWidget handle, MwWidget child, int new); +typedef void (*MwHandlerChildrenUpdate)(MwWidget handle, MwWidget child, int _new); typedef void (*MwHandlerChildrenProp)(MwWidget handle, MwWidget child, const char* key); typedef void (*MwHandlerKey)(MwWidget handle, int key); typedef void (*MwHandlerMouse)(MwWidget handle, void* ptr); From 262019b1d4ef60e8da1f270727d5767789c23ae0 Mon Sep 17 00:00:00 2001 From: Nishi Date: Fri, 22 May 2026 09:19:19 +0900 Subject: [PATCH 016/119] fix --- include/Mw/TypeDefs.h | 2 +- src/widget/box.c | 4 ++-- src/widget/tab.c | 19 +++++++++++++++++++ src/widget/table.c | 4 ++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index e9dbec0..fd72922 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -40,7 +40,7 @@ typedef void (*MwHandler)(MwWidget handle); typedef int (*MwHandlerWithStatus)(MwWidget handle); typedef void (*MwHandlerProps)(MwWidget handle, char** key); typedef void (*MwHandlerProp)(MwWidget handle, const char* key); -typedef void (*MwHandlerChildrenUpdate)(MwWidget handle, MwWidget child, int _new); +typedef void (*MwHandlerChildrenUpdate)(MwWidget handle, MwWidget child, int new_child); typedef void (*MwHandlerChildrenProp)(MwWidget handle, MwWidget child, const char* key); typedef void (*MwHandlerKey)(MwWidget handle, int key); typedef void (*MwHandlerMouse)(MwWidget handle, void* ptr); diff --git a/src/widget/box.c b/src/widget/box.c index 87807f4..00b5723 100644 --- a/src/widget/box.c +++ b/src/widget/box.c @@ -120,11 +120,11 @@ static void resize(MwWidget handle) { MwForceRender(handle); } -static void children_update(MwWidget handle, MwWidget child, int new) { +static void children_update(MwWidget handle, MwWidget child, int new_child) { MwBox b = handle->internal; (void)child; - (void)new; + (void)new_child; b->layout = 1; diff --git a/src/widget/tab.c b/src/widget/tab.c index 11d5861..136a148 100644 --- a/src/widget/tab.c +++ b/src/widget/tab.c @@ -2,6 +2,8 @@ #include "../../external/stb_ds.h" +#define SOME_FIX + static void resize(MwWidget handle); static int wcreate(MwWidget handle) { @@ -190,7 +192,11 @@ static void click(MwWidget handle) { static MwWidget mwTabAddImpl(MwWidget handle, const char* name) { MwTab t = handle->internal; +#ifdef SOME_FIX + MwWidget f = MwCreateWidget(MwFrameClass, "tabframe", handle, MwDefaultBorderWidth(handle), tab_height(handle) + MwDefaultBorderWidth(handle), MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2); +#else MwWidget f = MwCreateWidget(MwFrameClass, "tabframe", handle, 0, MwGetInteger(handle, MwNheight), MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2); +#endif char* n = MwStringDuplicate(name); arrput(t->frames, f); @@ -202,6 +208,11 @@ static MwWidget mwTabAddImpl(MwWidget handle, const char* name) { MwSetInteger(handle, MwNvalue, arrlen(t->frames) - 1); show_frame(handle); } +#ifdef SOME_FIX + else{ + MwLLShow(f->lowlevel, 0); + } +#endif return f; } @@ -237,6 +248,9 @@ static void resize(MwWidget handle) { for(i = 0; i < arrlen(t->frames); i++) { int y = MwGetInteger(handle, MwNheight); +#ifdef SOME_FIX + MwLLShow(t->frames[i]->lowlevel, i == v); +#else if(i == v) y = tab_height(handle) + MwDefaultBorderWidth(handle); MwVaApply(t->frames[i], @@ -245,6 +259,11 @@ static void resize(MwWidget handle) { MwNwidth, MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwNheight, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2, NULL); + + if(i == v){ + + } +#endif } } diff --git a/src/widget/table.c b/src/widget/table.c index ecd778c..788d5cc 100644 --- a/src/widget/table.c +++ b/src/widget/table.c @@ -170,11 +170,11 @@ static void resize(MwWidget handle) { MwForceRender(handle); } -static void children_update(MwWidget handle, MwWidget child, int new) { +static void children_update(MwWidget handle, MwWidget child, int new_child) { MwTable t = handle->internal; t->layout = 1; - if(new) { + if(new_child) { arrput(t->widgets, child); } else { int i; From e7506922d2c7c657d004ace99ca75ea21df1c1fd Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 21 May 2026 18:21:50 -0700 Subject: [PATCH 017/119] finalize tab fix a bit more --- src/widget/tab.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/widget/tab.c b/src/widget/tab.c index 136a148..4cd3a2a 100644 --- a/src/widget/tab.c +++ b/src/widget/tab.c @@ -2,8 +2,6 @@ #include "../../external/stb_ds.h" -#define SOME_FIX - static void resize(MwWidget handle); static int wcreate(MwWidget handle) { @@ -192,11 +190,7 @@ static void click(MwWidget handle) { static MwWidget mwTabAddImpl(MwWidget handle, const char* name) { MwTab t = handle->internal; -#ifdef SOME_FIX MwWidget f = MwCreateWidget(MwFrameClass, "tabframe", handle, MwDefaultBorderWidth(handle), tab_height(handle) + MwDefaultBorderWidth(handle), MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2); -#else - MwWidget f = MwCreateWidget(MwFrameClass, "tabframe", handle, 0, MwGetInteger(handle, MwNheight), MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2); -#endif char* n = MwStringDuplicate(name); arrput(t->frames, f); @@ -207,12 +201,9 @@ static MwWidget mwTabAddImpl(MwWidget handle, const char* name) { if(MwGetInteger(handle, MwNvalue) == -1) { MwSetInteger(handle, MwNvalue, arrlen(t->frames) - 1); show_frame(handle); - } -#ifdef SOME_FIX - else{ + } else { MwLLShow(f->lowlevel, 0); } -#endif return f; } @@ -248,9 +239,7 @@ static void resize(MwWidget handle) { for(i = 0; i < arrlen(t->frames); i++) { int y = MwGetInteger(handle, MwNheight); -#ifdef SOME_FIX MwLLShow(t->frames[i]->lowlevel, i == v); -#else if(i == v) y = tab_height(handle) + MwDefaultBorderWidth(handle); MwVaApply(t->frames[i], @@ -260,10 +249,8 @@ static void resize(MwWidget handle) { MwNheight, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2, NULL); - if(i == v){ - + if(i == v) { } -#endif } } From 3d6e08541a5e5657349279f5667c60a569585cc9 Mon Sep 17 00:00:00 2001 From: Nishi Date: Fri, 22 May 2026 14:17:40 +0900 Subject: [PATCH 018/119] fix --- src/widget/tab.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/widget/tab.c b/src/widget/tab.c index 4cd3a2a..e779bd5 100644 --- a/src/widget/tab.c +++ b/src/widget/tab.c @@ -248,9 +248,6 @@ static void resize(MwWidget handle) { MwNwidth, MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwNheight, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2, NULL); - - if(i == v) { - } } } From 9e165b71d4e6d358cb968fe159c3630c0af0af44 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 03:16:33 +0900 Subject: [PATCH 019/119] add MwNiconPixmap to frame and MwTabFocus --- examples/basic/tab.c | 4 ++ include/Mw/Widget/Tab.h | 10 +++ milsko.xml | 6 ++ src/core.c | 8 +++ src/widget/tab.c | 139 ++++++++++++++++++++++++++++++++++------ 5 files changed, 147 insertions(+), 20 deletions(-) diff --git a/examples/basic/tab.c b/examples/basic/tab.c index 8b0ad4a..8ae16c0 100644 --- a/examples/basic/tab.c +++ b/examples/basic/tab.c @@ -31,6 +31,10 @@ int main() { MwTabAdd(tab, buf); } + MwVaApply(MwTabGetFrame(tab, "Tab 1"), + MwNiconPixmap, MwLoadIcon(tab, MwIconWarning), + NULL); + MwAddUserHandler(w, MwNresizeHandler, resize, NULL); resize(w, NULL, NULL); diff --git a/include/Mw/Widget/Tab.h b/include/Mw/Widget/Tab.h index ea30023..9f80a0d 100644 --- a/include/Mw/Widget/Tab.h +++ b/include/Mw/Widget/Tab.h @@ -42,6 +42,16 @@ MwInline MwWidget MwTabGetFrame(MwWidget handle, const char* name) { return out; } +/*! + * @brief Focus on a tab frame + * @param handle Widget + * @param name Tab name + * @return Frame + */ +MwInline void MwTabFocus(MwWidget handle, const char* name) { + MwVaWidgetExecute(handle, "mwTabFocus", NULL, name); +} + #ifdef __cplusplus } #endif diff --git a/milsko.xml b/milsko.xml index 837934e..a94c847 100644 --- a/milsko.xml +++ b/milsko.xml @@ -668,6 +668,7 @@ + @@ -961,6 +962,11 @@ + + + + + diff --git a/src/core.c b/src/core.c index 0db801f..c081950 100644 --- a/src/core.c +++ b/src/core.c @@ -569,10 +569,13 @@ void MwSetInteger(MwWidget handle, const char* key, int n) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); + } + if(handle->parent != NULL && handle->parent->prop_event) { MwDispatch3(handle, prop_change, key); if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key); } + if(strcmp(key, MwNforceInverted) == 0) { MwForceRender(handle); } @@ -614,10 +617,13 @@ void MwSetText(MwWidget handle, const char* key, const char* value) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); + } + if(handle->parent != NULL && handle->parent->prop_event) { MwDispatch3(handle, prop_change, key); if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key); } + if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0 || strcmp(key, MwNsubBackground) == 0 || strcmp(key, MwNsubForeground) == 0) { MwForceRender(handle); } @@ -642,7 +648,9 @@ void MwSetVoid(MwWidget handle, const char* key, void* value) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); + } + if(handle->parent != NULL && handle->parent->prop_event) { MwDispatch3(handle, prop_change, key); if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key); } diff --git a/src/widget/tab.c b/src/widget/tab.c index e779bd5..f8eda14 100644 --- a/src/widget/tab.c +++ b/src/widget/tab.c @@ -39,6 +39,23 @@ static int tab_height(MwWidget handle) { return MwTextHeight(handle, NULL, "M") + 10; } +static int icon_width(MwWidget handle, const char* text) { + MwTab t = handle->internal; + int i; + + for(i = 0; i < arrlen(t->names); i++) { + if(strcmp(t->names[i], text) == 0) { + MwLLPixmap px = MwGetVoid(t->frames[i], MwNiconPixmap); + + if(px == NULL) return 0; + + return px->common.width * tab_height(handle) / px->common.height; + } + } + + return 0; +} + static void draw(MwWidget handle) { MwTab t = handle->internal; MwLLColor c = MwParseColor(handle, MwGetText(handle, MwNbackground)); @@ -60,6 +77,7 @@ static void draw(MwWidget handle) { x = 0; for(i = 0; i < arrlen(t->names); i++) { int render = 0; + int iw = icon_width(handle, t->names[i]); if(i == MwGetInteger(handle, MwNvalue) && n == 1) { r.y += h; @@ -73,11 +91,26 @@ static void draw(MwWidget handle) { r2.x = x; r2.y = 0; - r2.width = tab_width(handle, t->names[i]); + r2.width = tab_width(handle, t->names[i]) + iw; r2.height = tab_height(handle) + MwDefaultBorderWidth(handle); x += r2.width; + if(iw > 0) { + MwLLPixmap px = MwGetVoid(t->frames[i], MwNiconPixmap); + MwRect rp; + + rp = r2; + + rp.x += 5; + rp.y += 5; + + rp.width = iw - 10; + rp.height = rp.height * (iw - 10) / iw; + + MwLLDrawPixmap(handle->lowlevel, &rp, px); + } + if(render) { MwPoint p; @@ -151,7 +184,7 @@ static void draw(MwWidget handle) { MwDrawRect(handle, &r3, c); } - p.x = r2.x + r2.width / 2; + p.x = r2.x + (r2.width + iw / 2) / 2; p.y = r2.y + r2.height / 2; MwDrawText(handle, NULL, &p, t->names[i], MwALIGNMENT_CENTER, ct); } @@ -177,7 +210,10 @@ static void click(MwWidget handle) { int h = tab_height(handle); for(i = 0; i < arrlen(t->names); i++) { - int w = tab_width(handle, t->names[i]); + int w = tab_width(handle, t->names[i]); + int iw = icon_width(handle, t->names[i]); + + w += iw; if(MwGetInteger(handle, MwNvalue) != i && x <= handle->mouse_point.x && handle->mouse_point.x <= (x + w) && 0 <= handle->mouse_point.y && handle->mouse_point.y <= h) { MwSetInteger(handle, MwNvalue, i); @@ -188,6 +224,12 @@ static void click(MwWidget handle) { } } +static void prop_change(MwWidget handle, const char* key) { + if(strcmp(key, MwNvalue) == 0) { + show_frame(handle); + } +} + static MwWidget mwTabAddImpl(MwWidget handle, const char* name) { MwTab t = handle->internal; MwWidget f = MwCreateWidget(MwFrameClass, "tabframe", handle, MwDefaultBorderWidth(handle), tab_height(handle) + MwDefaultBorderWidth(handle), MwGetInteger(handle, MwNwidth) - MwDefaultBorderWidth(handle) * 2, MwGetInteger(handle, MwNheight) - tab_height(handle) - MwDefaultBorderWidth(handle) * 2); @@ -219,6 +261,19 @@ static MwWidget mwTabGetFrameImpl(MwWidget handle, const char* name) { return NULL; } +static void mwTabFocusImpl(MwWidget handle, const char* name) { + MwTab t = handle->internal; + int i; + + for(i = 0; i < arrlen(t->names); i++) { + if(strcmp(t->names[i], name) == 0) { + MwSetInteger(handle, MwNvalue, i); + show_frame(handle); + break; + } + } +} + static void func_handler(MwWidget handle, const char* name, void* out, va_list va) { if(strcmp(name, "mwTabAdd") == 0) { const char* name = va_arg(va, const char*); @@ -228,6 +283,10 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v const char* name = va_arg(va, const char*); *(MwWidget*)out = mwTabGetFrameImpl(handle, name); + } else if(strcmp(name, "mwTabFocus") == 0) { + const char* name = va_arg(va, const char*); + + mwTabFocusImpl(handle, name); } } @@ -251,24 +310,64 @@ static void resize(MwWidget handle) { } } +static void children_update(MwWidget handle, MwWidget child, int new_child) { + MwTab t = handle->internal; + int v = MwGetInteger(handle, MwNvalue); + int c = v; + int n; + int i; + + if(new_child) return; + + for(i = 0; i < arrlen(t->frames); i++) { + if(t->frames[i] == child) { + n = i; + break; + } + } + + free(t->names[n]); + + arrdel(t->frames, n); + arrdel(t->names, n); + + if(n <= v) { + if(v > 0) v--; + + MwSetInteger(handle, MwNvalue, v); + show_frame(handle); + } else { + MwSetInteger(handle, MwNvalue, v); + show_frame(handle); + } + + MwForceRender(handle); +} + +static void children_prop_change(MwWidget handle, MwWidget child, const char* key) { + if(strcmp(key, MwNiconPixmap) == 0) { + MwForceRender(handle); + } +} + MwClassRec MwTabClassRec = { - wcreate, /* create */ - destroy, /* destroy */ - draw, /* draw */ - click, /* click */ - NULL, /* parent_resize */ - NULL, /* prop_change */ - NULL, /* mouse_move */ - NULL, /* mouse_up */ - NULL, /* mouse_down */ - NULL, /* key */ - func_handler, /* execute */ - NULL, /* tick */ - resize, /* resize */ - NULL, /* children_update */ - NULL, /* children_prop_change */ - NULL, /* clipboard */ - NULL, /* props_change */ + wcreate, /* create */ + destroy, /* destroy */ + draw, /* draw */ + click, /* click */ + NULL, /* parent_resize */ + prop_change, /* prop_change */ + NULL, /* mouse_move */ + NULL, /* mouse_up */ + NULL, /* mouse_down */ + NULL, /* key */ + func_handler, /* execute */ + NULL, /* tick */ + resize, /* resize */ + children_update, /* children_update */ + children_prop_change, /* children_prop_change */ + NULL, /* clipboard */ + NULL, /* props_change */ NULL, NULL, NULL}; From 149f99622a4bd62c7c1cc38f01b2d8bc8df97c5c Mon Sep 17 00:00:00 2001 From: IoIxD Date: Fri, 22 May 2026 11:41:08 -0700 Subject: [PATCH 020/119] add disabled widgets --- examples/basic/example.c | 23 ++++++++++++++++------- examples/basic/periodic.c | 15 +++++++++++---- include/Mw/StringDefs.h | 1 + src/backend/wayland/wayland.c | 5 ++++- src/core.c | 8 ++++++++ src/draw.c | 31 +++++++++++++++++++++++++++++-- src/text/text.c | 28 ++++++++++++++++++++++------ 7 files changed, 91 insertions(+), 20 deletions(-) diff --git a/examples/basic/example.c b/examples/basic/example.c index 9facecb..8fe38da 100644 --- a/examples/basic/example.c +++ b/examples/basic/example.c @@ -1,6 +1,6 @@ #include -MwWidget window, menu, button, button2, button3, button4, button5, button6; +MwWidget window, menu, button, button2, button3, button4, button5, button6, button7; void MWAPI handler(MwWidget handle, void* user_data, void* call_data) { (void)handle; @@ -51,24 +51,29 @@ void MWAPI resize(MwWidget handle, void* user_data, void* call_data) { MwVaApply(button, MwNy, 50 + mh, - MwNwidth, (w - 50 * 2) / 3, + MwNwidth, (w - 50 * 2) / 4, MwNheight, h - 125 - 50 * 3, NULL); MwVaApply(button2, - MwNx, 50 + (w - 50 * 2) / 3, + MwNx, 50 + (w - 50 * 2) / 4, MwNy, 50 + mh, - MwNwidth, (w - 50 * 2) / 3, + MwNwidth, (w - 50 * 2) / 4, MwNheight, h - 125 - 50 * 3, NULL); MwVaApply(button3, - MwNx, 50 + (w - 50 * 2) / 3 * 2, + MwNx, 50 + (w - 50 * 2) / 4 * 2, MwNy, 50 + mh, - MwNwidth, (w - 50 * 2) / 3, + MwNwidth, (w - 50 * 2) / 4, + MwNheight, h - 125 - 50 * 3, + NULL); + MwVaApply(button7, + MwNx, 50 + (w - 50 * 2) / 4 * 3, + MwNy, 50 + mh, + MwNwidth, (w - 50 * 2) / 4, MwNheight, h - 125 - 50 * 3, NULL); - MwVaApply(button4, MwNx, 50 + (w - 50 * 2) / 3 * 0, MwNy, h - 50 - 125 + mh, @@ -121,6 +126,10 @@ int main() { MwNbackground, "#66f", MwNforeground, "#000", NULL); + button7 = MwVaCreateWidget(MwButtonClass, "button", window, 250, 50, 100, 125, + MwNtext, "disabled", + MwNdisabled, 1, + NULL); MwAddUserHandler(window, MwNresizeHandler, resize, NULL); MwAddUserHandler(button, MwNactivateHandler, handler_theme, NULL); diff --git a/examples/basic/periodic.c b/examples/basic/periodic.c index 069395f..92dab70 100644 --- a/examples/basic/periodic.c +++ b/examples/basic/periodic.c @@ -202,9 +202,16 @@ int main() { MwNcolumns, 5, NULL); - f = frame("Button", -PaddingContent, -PaddingContent, MwButtonClass, - MwNtext, "Press me", + f = frame("Button", -PaddingContent, -PaddingContent, MwBoxClass, + MwNorientation, MwVERTICAL, NULL); + b = MwVaCreateWidget(MwButtonClass, "btn", child(f), 0, 0, 0, 0, + MwNtext, "Press me", + NULL); + b = MwVaCreateWidget(MwButtonClass, "btn_disabled", child(f), 0, 0, 0, 0, + MwNtext, "Cannot press me", + MwNdisabled, 1, + NULL); MwVaCreateWidget(MwLabelClass, "label", table, 0, 0, 0, 0, MwNbold, 1, @@ -221,11 +228,11 @@ int main() { MwNorientation, MwVERTICAL, MwNfixedSize, 16, NULL); - for(j = 0; j < 5; j++) MwCreateWidget(i == 0 ? MwCheckBoxClass : MwRadioBoxClass, i == 0 ? "cb" : "rb", b, 0, 0, 0, 0); + for(j = 0; j < 6; j++) MwVaCreateWidget(i == 0 ? MwCheckBoxClass : MwRadioBoxClass, i == 0 ? "cb" : "rb", b, 0, 0, 0, 0, MwNdisabled, (j == 5) ? 1 : 0, NULL); b = MwVaCreateWidget(MwBoxClass, "table1", w, 0, 0, 0, 0, MwNorientation, MwVERTICAL, NULL); - for(j = 0; j < 5; j++) { + for(j = 0; j < 6; j++) { char buf[32]; sprintf(buf, "%sBox %d", i == 0 ? "Check" : "Radio", j + 1); MwVaCreateWidget(MwLabelClass, "label", b, 0, 0, 0, 0, diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index 3a019e0..b95fe93 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -52,6 +52,7 @@ #define MwNcolumns "Icolumns" #define MwNcolumnSpan "IcolumnSpan" #define MwNrowSpan "IrowSpan" +#define MwNdisabled "Idisabled" #define MwNtitle "Stitle" #define MwNtext "Stext" diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 73a51cf..89f00f1 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1652,8 +1652,11 @@ static void MwLLEndStateChangeImpl(MwLL handle) { } static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) { - (void)handle; (void)toggle; + + /* Not Really what's supposed to happen with this function, but take this opprutunity to do the handlers that will force everything to redraw. */ + MwLLDispatch(handle, resize, NULL); + MwLLDispatch(handle, draw, NULL); } static MwBool MwLLDoModernImpl(MwLL handle) { diff --git a/src/core.c b/src/core.c index c081950..99b8d8b 100644 --- a/src/core.c +++ b/src/core.c @@ -57,6 +57,7 @@ static void lldrawhandler(MwLL handle, void* data) { static void lluphandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; MwMouse* p = data; + if(MwGetInteger(h, MwNdisabled) == 1) return; if(p->button == MwMOUSE_LEFT) h->pressed = 0; h->mouse_point.x = p->point.x; @@ -70,6 +71,7 @@ static void lluphandler(MwLL handle, void* data) { static void lldownhandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; MwMouse* p = data; + if(MwGetInteger(h, MwNdisabled) == 1) return; if(p->button == MwMOUSE_LEFT) h->pressed = 1; h->mouse_point.x = p->point.x; @@ -124,6 +126,7 @@ static void llmovehandler(MwLL handle, void* data) { static void llkeyhandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; int key = *(int*)data; + if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatch3(h, key, key); MwDispatchUserHandler(h, MwNkeyHandler, data); @@ -131,24 +134,28 @@ static void llkeyhandler(MwLL handle, void* data) { static void llkeyrelhandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; + if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatchUserHandler(h, MwNkeyReleaseHandler, data); } static void llfocusinhandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; + if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatchUserHandler(h, MwNfocusInHandler, data); } static void llfocusouthandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; + if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatchUserHandler(h, MwNfocusOutHandler, data); } static void llclipboardhandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; + if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatch3(h, clipboard, data); MwDispatchUserHandler(h, MwNclipboardHandler, data); @@ -691,6 +698,7 @@ int MwGetInteger(MwWidget handle, const char* key) { #endif if(strcmp(key, MwNdarkTheme) == 0) return inherit_integer(handle, key, 0); if(strcmp(key, MwNuseMonospace) == 0) return inherit_integer(handle, key, 0); + if(strcmp(key, MwNdisabled) == 0) return inherit_integer(handle, key, 0); } return shget(handle->integer, key); } diff --git a/src/draw.c b/src/draw.c index 4d419bc..4f872cc 100644 --- a/src/draw.c +++ b/src/draw.c @@ -38,6 +38,18 @@ static int hex(const char* txt, int len) { return r; } +static void color_set_disabled_if_disabled(MwWidget handle, MwLLColor rgb) { + if(MwGetInteger(handle, MwNdisabled) == 1) { + MwLLColor c = handle->parent == NULL ? NULL : MwParseColor(handle->parent, MwGetText(handle->parent, MwNbackground)); + + if(c != NULL) { + rgb->common.red = rgb->common.red + (c->common.red - rgb->common.red) * 0.5; + rgb->common.green = rgb->common.green + (c->common.green - rgb->common.green) * 0.5; + rgb->common.blue = rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5; + } + } +}; + void MwParseColorNoAllocate(const char* text, MwRGB* rgb) { if(text[0] == '#' && strlen(text) == 4) { rgb->red = hex(text + 1, 1); @@ -125,6 +137,7 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) { for(y = 0; y < rect->height; y++) { MwLLColor col = MwLightenColor(handle, color, -darken, -darken, -darken); int idx = y * 4; + color_set_disabled_if_disabled(handle, col); data[idx] = col->common.red; data[idx + 1] = col->common.green; data[idx + 2] = col->common.blue; @@ -204,6 +217,8 @@ void MwDrawWidgetBack(MwWidget handle, MwRect* rect, MwLLColor color, int invert if(rect->width <= 0 || rect->height <= 0) return; col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; + color_set_disabled_if_disabled(handle, col); + if(MwGetInteger(handle, MwNmodernLook)) { MwDrawRectFading(handle, rect, col); } else { @@ -219,6 +234,9 @@ void MwDrawDiamond(MwWidget handle, MwRect* rect, MwLLColor color, int invert) { MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; + color_set_disabled_if_disabled(handle, col); + color_set_disabled_if_disabled(handle, darker); + color_set_disabled_if_disabled(handle, lighter); p[0].x = rect->x; p[0].y = rect->y + rect->height / 2; @@ -284,8 +302,11 @@ static void MwDrawFrameEx_simple(MwWidget handle, MwRect* rect, MwLLColor color, int ColorDiff = get_color_diff(handle); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff * 3 / 2 + diff, -ColorDiff * 3 / 2 + diff, -ColorDiff * 3 / 2 + diff); MwLLColor lighter = same ? MwLightenColor(handle, darker, 0, 0, 0) : MwLightenColor(handle, color, ColorDiff - diff, ColorDiff - diff, ColorDiff - diff); - p[0].x = rect->x; - p[0].y = rect->y; + color_set_disabled_if_disabled(handle, darker); + color_set_disabled_if_disabled(handle, lighter); + + p[0].x = rect->x; + p[0].y = rect->y; p[1].x = rect->x + rect->width; p[1].y = rect->y; @@ -380,6 +401,9 @@ static void MwDrawFrameEx_complex(MwWidget handle, MwRect* rect, MwLLColor color MwLLColor lighter = same ? MwLightenColor(handle, darker, 0, 0, 0) : MwLightenColor(handle, color, (ColorDiff / 2) - diff, (ColorDiff / 2) - diff, (ColorDiff / 2) - diff); MwRect r = *rect; + color_set_disabled_if_disabled(handle, darker); + color_set_disabled_if_disabled(handle, lighter); + frame_border_complex(handle, rect, lighter, darker, invert, border == 1 ? 1 : (border / 2), diff, same); if(border > 1) { @@ -416,6 +440,9 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; + color_set_disabled_if_disabled(handle, col); + color_set_disabled_if_disabled(handle, darker); + color_set_disabled_if_disabled(handle, lighter); double deg = 30 * ((direction == MwEAST || direction == MwWEST) ? 2 : 1); double c = cos(deg / 180 * M_PI); diff --git a/src/text/text.c b/src/text/text.c index f2d83a2..b6297e3 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -76,10 +76,22 @@ static MwFLFont assume_ttf(MwWidget handle, MwFLFont ttf) { #endif void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, int align, MwLLColor color) { - MwPoint p = *point; - char* input = (char*)text; - char* last = input; - int cp; + MwPoint p = *point; + char* input = (char*)text; + char* last = input; + int cp; + MwLLColor fadedColor = NULL; + + if(MwGetInteger(handle, MwNdisabled) == 1) { + MwLLColor c = handle->parent == NULL ? NULL : MwParseColor(handle->parent, MwGetText(handle->parent, MwNbackground)); + + if(c != NULL) { + fadedColor = MwLLAllocColor(handle->lowlevel, color->common.red, color->common.blue, color->common.green); + fadedColor->common.red = fadedColor->common.red + (c->common.red - fadedColor->common.red) * 0.5; + fadedColor->common.green = fadedColor->common.green + (c->common.green - fadedColor->common.green) * 0.5; + fadedColor->common.blue = fadedColor->common.blue + (c->common.blue - fadedColor->common.blue) * 0.5; + } + } #ifdef TTF if(ttf <= MwFLBuildFont(0xff) && !is_bitmap(handle, ttf)) ttf = assume_ttf(handle, ttf); @@ -122,9 +134,9 @@ void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, #ifdef TTF if(MwFLDrawText) - if(is_bitmap(handle, ttf) || ttf == NULL || MwFLDrawText(handle, ttf, &p, line, color)) + if(is_bitmap(handle, ttf) || ttf == NULL || MwFLDrawText(handle, ttf, &p, line, fadedColor ? fadedColor : color)) #endif - bitmap_MwDrawText(handle, &p, line, is_bold(handle, ttf), color); + bitmap_MwDrawText(handle, &p, line, is_bold(handle, ttf), fadedColor ? fadedColor : color); p.y += MwTextHeight(handle, ttf, line); @@ -133,6 +145,10 @@ void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, last = input; } } + + if(fadedColor) { + MwLLFreeColor(fadedColor); + } } int MwTextWidth(MwWidget handle, MwFLFont ttf, const char* text) { From 143167761c2ef09503eb7a275bc9fe1ca43adaeb Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 03:42:23 +0900 Subject: [PATCH 021/119] fix warning --- src/widget/tab.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/widget/tab.c b/src/widget/tab.c index f8eda14..e5d2a3e 100644 --- a/src/widget/tab.c +++ b/src/widget/tab.c @@ -313,7 +313,6 @@ static void resize(MwWidget handle) { static void children_update(MwWidget handle, MwWidget child, int new_child) { MwTab t = handle->internal; int v = MwGetInteger(handle, MwNvalue); - int c = v; int n; int i; @@ -345,6 +344,8 @@ static void children_update(MwWidget handle, MwWidget child, int new_child) { } static void children_prop_change(MwWidget handle, MwWidget child, const char* key) { + (void)child; + if(strcmp(key, MwNiconPixmap) == 0) { MwForceRender(handle); } From 732b47a300c371f5d57100dfc32827b940ec5617 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 03:47:09 +0900 Subject: [PATCH 022/119] fix --- src/widget/listbox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widget/listbox.c b/src/widget/listbox.c index 72fa743..bc82f08 100644 --- a/src/widget/listbox.c +++ b/src/widget/listbox.c @@ -400,8 +400,8 @@ static void draw(MwWidget handle) { } static void prop_change(MwWidget handle, const char* prop) { - if(strcmp(prop, MwNleftPadding) == 0) { - MwListBox lb = handle->internal; + MwListBox lb = handle->internal; + if(strcmp(prop, MwNleftPadding) == 0 && lb->frame != NULL) { MwForceRender(lb->frame); } if(strcmp(prop, MwNhasHeading) == 0) { From f7df6df342f5e8848b6fe5a1373319d4f5e3ebb0 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 03:49:47 +0900 Subject: [PATCH 023/119] better fix --- src/core.c | 9 ++++++--- src/widget/listbox.c | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core.c b/src/core.c index 99b8d8b..5ae133a 100644 --- a/src/core.c +++ b/src/core.c @@ -576,10 +576,11 @@ void MwSetInteger(MwWidget handle, const char* key, int n) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); + + MwDispatch3(handle, prop_change, key); } if(handle->parent != NULL && handle->parent->prop_event) { - MwDispatch3(handle, prop_change, key); if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key); } @@ -624,10 +625,11 @@ void MwSetText(MwWidget handle, const char* key, const char* value) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); + + MwDispatch3(handle, prop_change, key); } if(handle->parent != NULL && handle->parent->prop_event) { - MwDispatch3(handle, prop_change, key); if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key); } @@ -655,10 +657,11 @@ void MwSetVoid(MwWidget handle, const char* key, void* value) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); + + MwDispatch3(handle, prop_change, key); } if(handle->parent != NULL && handle->parent->prop_event) { - MwDispatch3(handle, prop_change, key); if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key); } } diff --git a/src/widget/listbox.c b/src/widget/listbox.c index bc82f08..32be887 100644 --- a/src/widget/listbox.c +++ b/src/widget/listbox.c @@ -401,7 +401,7 @@ static void draw(MwWidget handle) { static void prop_change(MwWidget handle, const char* prop) { MwListBox lb = handle->internal; - if(strcmp(prop, MwNleftPadding) == 0 && lb->frame != NULL) { + if(strcmp(prop, MwNleftPadding) == 0) { MwForceRender(lb->frame); } if(strcmp(prop, MwNhasHeading) == 0) { From 3dac44ed92d7a53e10f72ad74431b28d6bcd7394 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 03:53:13 +0900 Subject: [PATCH 024/119] use proper method --- src/draw.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/draw.c b/src/draw.c index 4f872cc..fe51e03 100644 --- a/src/draw.c +++ b/src/draw.c @@ -46,6 +46,7 @@ static void color_set_disabled_if_disabled(MwWidget handle, MwLLColor rgb) { rgb->common.red = rgb->common.red + (c->common.red - rgb->common.red) * 0.5; rgb->common.green = rgb->common.green + (c->common.green - rgb->common.green) * 0.5; rgb->common.blue = rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5; + MwLLColorUpdate(handle->lowlevel, rgb, rgb->common.red, rgb->common.green, rgb->common.blue); } } }; @@ -440,14 +441,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; - color_set_disabled_if_disabled(handle, col); - color_set_disabled_if_disabled(handle, darker); - color_set_disabled_if_disabled(handle, lighter); - double deg = 30 * ((direction == MwEAST || direction == MwWEST) ? 2 : 1); double c = cos(deg / 180 * M_PI); double s = sin(deg / 180 * M_PI); + color_set_disabled_if_disabled(handle, col); + color_set_disabled_if_disabled(handle, darker); + color_set_disabled_if_disabled(handle, lighter); + if(direction == MwNORTH) { p1[0].x = rect->x + rect->width / 2; p1[0].y = rect->y; From add02b695bb631344742c3752719e3fdc5c6ef7a Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 06:14:37 +0900 Subject: [PATCH 025/119] make label respect alignment --- src/widget/label.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/widget/label.c b/src/widget/label.c index 81b0498..5a165e7 100644 --- a/src/widget/label.c +++ b/src/widget/label.c @@ -336,6 +336,7 @@ static void draw_normal(MwWidget handle) { r.width -= MwGetInteger(handle, MwNleftPadding); +#if 0 if(align == MwALIGNMENT_CENTER) { p.x = r.width / 2; } else if(align == MwALIGNMENT_BEGINNING) { @@ -343,17 +344,20 @@ static void draw_normal(MwWidget handle) { } else if(align == MwALIGNMENT_END) { p.x = r.width - MwTextWidth(handle, NULL, str) / 2; } +#else + p.x = 0; +#endif p.y = r.height / 2; p.x += MwGetInteger(handle, MwNleftPadding); p.x += 1; p.y += 1; - MwDrawText(handle, NULL, &p, str, MwALIGNMENT_CENTER, shadow); + MwDrawText(handle, NULL, &p, str, MwALIGNMENT_BEGINNING, shadow); p.x -= 1; p.y -= 1; - MwDrawText(handle, NULL, &p, str, MwALIGNMENT_CENTER, text); + MwDrawText(handle, NULL, &p, str, MwALIGNMENT_BEGINNING, text); MwLLFreeColor(shadow); MwLLFreeColor(text); From 314cc0da859e7bf4539e499d9143ebb03c8a4d46 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 06:15:20 +0900 Subject: [PATCH 026/119] format --- src/core.c | 4 ++-- src/draw.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core.c b/src/core.c index 5ae133a..59984a5 100644 --- a/src/core.c +++ b/src/core.c @@ -576,7 +576,7 @@ void MwSetInteger(MwWidget handle, const char* key, int n) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); - + MwDispatch3(handle, prop_change, key); } @@ -625,7 +625,7 @@ void MwSetText(MwWidget handle, const char* key, const char* value) { arrput(keys, NULL); MwDispatch3(handle, props_change, keys); arrfree(keys); - + MwDispatch3(handle, prop_change, key); } diff --git a/src/draw.c b/src/draw.c index fe51e03..d8cadad 100644 --- a/src/draw.c +++ b/src/draw.c @@ -441,9 +441,9 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; - double deg = 30 * ((direction == MwEAST || direction == MwWEST) ? 2 : 1); - double c = cos(deg / 180 * M_PI); - double s = sin(deg / 180 * M_PI); + double deg = 30 * ((direction == MwEAST || direction == MwWEST) ? 2 : 1); + double c = cos(deg / 180 * M_PI); + double s = sin(deg / 180 * M_PI); color_set_disabled_if_disabled(handle, col); color_set_disabled_if_disabled(handle, darker); From 6ecbe998f8adf67f7700197df5ceb91e48742135 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sat, 23 May 2026 23:32:14 -0700 Subject: [PATCH 027/119] fix wayland csd --- src/backend/wayland/interfaces.c | 24 ++++++++++++++++-------- src/backend/wayland/wayland.c | 12 ++++++------ 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 5325096..3b482f1 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -425,9 +425,11 @@ static void pointer_leave(void* data, struct wl_pointer* wl_pointer, MwU32 seria WAYLAND_EVENT_OP_END(self); }; -static void xdg_borderless_step(MwLL self, MwMouse p, MwU32 serial) { +static void xdg_borderless_step_mdown(MwLL self, MwMouse p, MwU32 serial) { if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL && self->wayland.backbuffer.surface == curSurface) { - if(p.point.y >= (self->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM) - 5) { + if(p.point.y <= CSD_BORDER_FRAME_TOP) { + xdg_toplevel_move(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial); + } else if(p.point.y >= (self->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM) - 5) { if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 5) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT); } else { @@ -443,12 +445,15 @@ static void xdg_borderless_step(MwLL self, MwMouse p, MwU32 serial) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_RIGHT); } else if(p.point.x <= 5) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_LEFT); - } else if(p.point.y <= CSD_BORDER_FRAME_TOP) { + } + }; +} +static void xdg_borderless_step_mup(MwLL self, MwMouse p, MwU32 serial) { + if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL && self->wayland.backbuffer.surface == curSurface) { + if(p.point.y <= CSD_BORDER_FRAME_TOP) { if(p.point.x >= CSD_BORDER_FRAME_LEFT && p.point.x <= CSD_BORDER_FRAME_LEFT + 18) { MwLLDispatch(self, close, NULL); } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 21) { - xdg_toplevel_set_minimized(self->wayland.toplevel->xdg_top_level); - } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 38) { self->wayland.toplevel->maxim_state = !self->wayland.toplevel->maxim_state; if(self->wayland.toplevel->maxim_state == 0) { xdg_toplevel_unset_maximized(self->wayland.toplevel->xdg_top_level); @@ -457,8 +462,8 @@ static void xdg_borderless_step(MwLL self, MwMouse p, MwU32 serial) { } self->wayland.setting_wh = 1; MwLLWaylandRegionSetup(self); - } else { - xdg_toplevel_move(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial); + } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 38) { + xdg_toplevel_set_minimized(self->wayland.toplevel->xdg_top_level); } } }; @@ -606,7 +611,10 @@ static void pointer_button(void* data, struct wl_pointer* wl_pointer, MwU32 seri } if(!self->wayland.has_decorations) { - xdg_borderless_step(self, p, serial); + if(state != WL_POINTER_BUTTON_STATE_RELEASED) + xdg_borderless_step_mdown(self, p, serial); + else + xdg_borderless_step_mup(self, p, serial); } WAYLAND_EVENT_OP_END(self); diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 89f00f1..99ce624 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -176,12 +176,12 @@ static void xdg_toplevel_configure(void* data, MwLLWaylandRegionInvalidate(self); self->wayland.ww = width; self->wayland.wh = height; - if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL) { - if(!self->wayland.has_decorations && self->wayland.toplevel->maxim_state) { - self->wayland.ww -= CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; - self->wayland.wh -= CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; - } - } + // if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + // if(!self->wayland.has_decorations && self->wayland.toplevel->maxim_state) { + // self->wayland.ww -= CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; + // self->wayland.wh -= CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; + // } + // } if(self->wayland.resizing == 0) { xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh); From 3727c9f587e107882d1f8905e96c8a67dd26e6c3 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sat, 23 May 2026 23:34:38 -0700 Subject: [PATCH 028/119] fix wayland csd --- src/backend/wayland/interfaces.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 3b482f1..dfc1988 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -427,9 +427,7 @@ static void pointer_leave(void* data, struct wl_pointer* wl_pointer, MwU32 seria static void xdg_borderless_step_mdown(MwLL self, MwMouse p, MwU32 serial) { if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL && self->wayland.backbuffer.surface == curSurface) { - if(p.point.y <= CSD_BORDER_FRAME_TOP) { - xdg_toplevel_move(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial); - } else if(p.point.y >= (self->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM) - 5) { + if(p.point.y >= (self->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM) - 5) { if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 5) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT); } else { @@ -445,6 +443,13 @@ static void xdg_borderless_step_mdown(MwLL self, MwMouse p, MwU32 serial) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_RIGHT); } else if(p.point.x <= 5) { xdg_toplevel_resize(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial, XDG_TOPLEVEL_RESIZE_EDGE_LEFT); + } else if(p.point.y <= CSD_BORDER_FRAME_TOP) { + if(p.point.x >= CSD_BORDER_FRAME_LEFT && p.point.x <= CSD_BORDER_FRAME_LEFT + 18) { + } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 21) { + } else if(p.point.x >= (self->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT) - 38) { + } else { + xdg_toplevel_move(self->wayland.toplevel->xdg_top_level, self->wayland.pointer_seat, serial); + } } }; } From fcca66d1e427cb97c1eafa856ec65f318340db7f Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 24 May 2026 14:13:02 -0700 Subject: [PATCH 029/119] cmake builds shouldn't be linking to libraries that we dynload --- CMakeLists.txt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac7f7a7..7663578 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,7 +130,7 @@ endif() if(MW_USE_FREETYPE2) find_package(Freetype) if(Freetype_FOUND) - message(STATUS "FreeType2 found") + message(STATUS "FreeType2 found") target_compile_definitions( Mw PRIVATE @@ -139,9 +139,8 @@ if(MW_USE_FREETYPE2) list(APPEND INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS}) list(APPEND LIBRARY_DIRS ${FREETYPE_LIBRARY_DIRS}) - list(APPEND LIBRARIES ${FREETYPE_LIBRARIES}) else() - message(WARNING "FreeType2 not found") + message(WARNING "FreeType2 not found") endif() endif() @@ -341,7 +340,6 @@ else() if(${X11_FOUND}) list(APPEND INCLUDE_DIRS ${X11_INCLUDE_DIRS}) list(APPEND LIBRARY_DIRS ${X11_LIBRARY_DIRS}) - list(APPEND LIBRARIES ${X11_LIBRARIES} m) target_compile_definitions( Mw PRIVATE @@ -351,7 +349,6 @@ else() if(${X11_Xrender_FOUND}) list(APPEND INCLUDE_DIRS ${XRENDER_INCLUDE_DIRS}) list(APPEND LIBRARY_DIRS ${XRENDER_LIBRARY_DIRS}) - list(APPEND LIBRARIES ${XRENDER_LIBRARIES} m) target_compile_definitions( Mw PRIVATE @@ -369,7 +366,6 @@ find_package(DBus1) if(${DBus1_FOUND}) list(APPEND INCLUDE_DIRS ${DBUS_INCLUDE_DIRS}) list(APPEND LIBRARY_DIRS ${DBUS_LIBRARY_DIRS}) - list(APPEND LIBRARIES ${DBUS_LIBRARIES}) target_compile_definitions( Mw PRIVATE From 3c1bd9956fec0d9e4675fe5fd5b60be4a46d2343 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 24 May 2026 22:18:29 -0700 Subject: [PATCH 030/119] wayland: 'focused' widgets should also have key events sent --- include/Mw/LowLevel/Wayland.h | 1 + src/backend/wayland/interfaces.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index acbb95a..7d923d1 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -537,6 +537,7 @@ struct _MwLLWayland { MwU32 ww, wh; /* Window position */ MwPoint cur_mouse_pos; /* Currently known mouse position */ MwLL currentlyHeldWidget; + MwLL focusedWidget; int resizing; int setting_wh; diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index dfc1988..e6d6bd1 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -600,6 +600,9 @@ static void pointer_button(void* data, struct wl_pointer* wl_pointer, MwU32 seri switch(state) { case WL_POINTER_BUTTON_STATE_PRESSED: + if(button == BTN_LEFT) { + topmost_parent->wayland.focusedWidget = self; + } MwLLDispatch(self, down, &p); topmost_parent->wayland.currentlyHeldWidget = self; @@ -718,13 +721,16 @@ static void keyboard_key(void* data, MwU32 time, MwU32 key, MwU32 state) { - MwLL self = data; - MwBool inArea = 0; + MwLL self = data; + MwBool inArea = 0; + MwLL topmost_parent = self; (void)wl_keyboard; (void)serial; (void)time; + while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent; + WAYLAND_EVENT_OP_START(self); if(self->wayland.framebuffer.surface) { @@ -734,6 +740,9 @@ static void keyboard_key(void* data, if(self->wayland.backbuffer.surface) { inArea |= self->wayland.backbuffer.surface == curSurface; } + + inArea |= (self == topmost_parent->wayland.focusedWidget); + if(inArea) { xkb_layout_index_t layout; MwU32 levels; From e8a4e266b3ab9f0fea8318885894c49b8d8464f3 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 24 May 2026 22:51:10 -0700 Subject: [PATCH 031/119] wayland: do keyboard repeat --- include/Mw/LowLevel/Wayland.h | 10 ++++- src/backend/wayland/interfaces.c | 63 +++++++++++++++++++++----------- src/backend/wayland/wayland.c | 16 ++++++++ 3 files changed, 66 insertions(+), 23 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 7d923d1..212eef9 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -346,7 +346,7 @@ typedef struct wayland_protocol { void* context; } wayland_protocol_t; -typedef wayland_protocol_t*(wl_setup_func)(MwU32, struct _MwLLWayland*); +typedef wayland_protocol_t*(wl_setup_func)(MwU32, struct _MwLLWayland*, MwU32 version); typedef void(wl_destroy_func)(struct _MwLLWayland* wayland, wayland_protocol_t* data); typedef struct wayland_protocol_callback_table { @@ -567,6 +567,14 @@ struct _MwLLWayland { MwBool moving; + MwI64 keyboard_rate; + MwI32 keyboard_delay; + int last_pressed_key; + MwBool holding_key; + MwU64 next_elapsed; + struct timespec start_time; + struct timespec end_time; + cairo_surface_t* front_cs; cairo_surface_t* back_cs; cairo_t* front_cairo; diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index e6d6bd1..607ce82 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -42,7 +42,7 @@ static void new_protocol(void* data, struct wl_registry* registry, wayland_protocol_callback_table_t* cb = shget(self->wayland.wl_protocol_setup_map, interface); if(cb != NULL) { - shput(self->wayland.wl_protocol_map, interface, cb->setup(name, data)); + shput(self->wayland.wl_protocol_map, interface, cb->setup(name, data, version)); /* we don't care for adding this protocol, we just use it to know if the compositor will let us have transparent surfaces */ } else if(strcmp(interface, "wp_alpha_modifier_v1") == 0) { self->common.supports_transparency = MwTRUE; @@ -313,7 +313,7 @@ struct zwp_primary_selection_source_v1_listener zwp_primary_selection_source_v1_ }; /* wl_data_device_manager setup function */ -static wayland_protocol_t* wl_data_device_manager_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* wl_data_device_manager_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland->clipboard_manager.wl = wl_registry_bind(wayland->registry, name, &wl_data_device_manager_interface, 2); wayland->clipboard_source.wl = wl_data_device_manager_create_data_source(wayland->clipboard_manager.wl); @@ -346,7 +346,7 @@ static void wl_data_device_manager_interface_destroy(struct _MwLLWayland* waylan } /* zwp_primary_selection_device_manager_v1 setup function */ -static wayland_protocol_t* zwp_primary_selection_device_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* zwp_primary_selection_device_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland->clipboard_manager.zwp = wl_registry_bind(wayland->registry, name, &zwp_primary_selection_device_manager_v1_interface, 1); wayland->clipboard_source.zwp = zwp_primary_selection_device_manager_v1_create_source(wayland->clipboard_manager.zwp); @@ -374,7 +374,7 @@ static void zwp_primary_selection_device_manager_v1_interface_destroy(struct _Mw } /* zwp_primary_selection_device_manager_v1 setup function */ -static wayland_protocol_t* zwp_pointer_constraints_v1_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* zwp_pointer_constraints_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland->pointer_constraints = wl_registry_bind(wayland->registry, name, &zwp_pointer_constraints_v1_interface, 1); return NULL; } @@ -507,7 +507,7 @@ struct zwp_relative_pointer_v1_listener MwLLWaylandRelativePointerListener = relative_pointer_motion}; /* zwp_primary_selection_device_manager_v1 setup function */ -static wayland_protocol_t* zwp_relative_pointer_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* zwp_relative_pointer_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland->relative_pointer_manager = wl_registry_bind(wayland->registry, name, &zwp_relative_pointer_manager_v1_interface, 1); return NULL; } @@ -718,7 +718,7 @@ static void keyboard_leave(void* data, static void keyboard_key(void* data, struct wl_keyboard* wl_keyboard, MwU32 serial, - MwU32 time, + MwU32 _time, MwU32 key, MwU32 state) { MwLL self = data; @@ -727,7 +727,7 @@ static void keyboard_key(void* data, (void)wl_keyboard; (void)serial; - (void)time; + (void)_time; while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent; @@ -832,9 +832,14 @@ static void keyboard_key(void* data, MwLLDispatch(topmost_parent, key, &key); topmost_parent = topmost_parent->wayland.parent; } + self->wayland.holding_key = MwTRUE; + self->wayland.last_pressed_key = key; } else { MwLLDispatch(self, key_released, &key); + self->wayland.holding_key = MwFALSE; } + clock_gettime(CLOCK_REALTIME, &self->wayland.start_time); + self->wayland.next_elapsed = self->wayland.keyboard_delay; } } } @@ -889,12 +894,25 @@ static void setup_clipboard(MwLL self, struct wl_seat* wl_seat) { arrpush(self->wayland.clipboard_devices_wl, device_ctx_wl); }; +static void keyboard_repeat_info(void* data, + struct wl_keyboard* wl_keyboard, + int32_t rate, + int32_t delay) { + MwLL self = data; + + (void)wl_keyboard; + + self->wayland.keyboard_rate = rate; + self->wayland.keyboard_delay = delay; +}; + struct wl_keyboard_listener keyboard_listener = { - .keymap = keyboard_keymap, - .enter = keyboard_enter, - .leave = keyboard_leave, - .key = keyboard_key, - .modifiers = keyboard_modifiers, + .keymap = keyboard_keymap, + .enter = keyboard_enter, + .leave = keyboard_leave, + .key = keyboard_key, + .modifiers = keyboard_modifiers, + .repeat_info = keyboard_repeat_info, }; /* `wl_seat.name` callback */ @@ -978,14 +996,15 @@ void xdg_wm_base_ping(void* data, }; /* wl_seat setup function */ -static wayland_protocol_t* wl_seat_setup(MwU32 name, MwLL ll) { +static wayland_protocol_t* wl_seat_setup(MwU32 name, MwLL ll, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); + MwU32 ver = (version >= 4) ? 4 : 1; proto->listener = malloc(sizeof(struct wl_seat_listener)); ((struct wl_seat_listener*)proto->listener)->name = wl_seat_name; ((struct wl_seat_listener*)proto->listener)->capabilities = wl_seat_capabilities; - wl_seat_add_listener(wl_registry_bind(ll->wayland.registry, name, &wl_seat_interface, 1), proto->listener, ll); + wl_seat_add_listener(wl_registry_bind(ll->wayland.registry, name, &wl_seat_interface, ver), proto->listener, ll); return proto; } @@ -996,7 +1015,7 @@ static void wl_seat_interface_destroy(struct _MwLLWayland* wayland, wayland_prot } /* wl_output setup function */ -static wayland_protocol_t* wl_output_setup(MwU32 name, MwLL ll) { +static wayland_protocol_t* wl_output_setup(MwU32 name, MwLL ll, MwU32 version) { ll->wayland.output = wl_registry_bind(ll->wayland.registry, name, &wl_output_interface, 1); wl_output_add_listener(ll->wayland.output, &output_listener, ll); @@ -1009,7 +1028,7 @@ static void wl_output_interface_destroy(struct _MwLLWayland* wayland, wayland_pr } /* wl_compositor setup function */ -static wayland_protocol_t* wl_compositor_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* wl_compositor_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland->compositor = wl_registry_bind(wayland->registry, name, &wl_compositor_interface, 1); return NULL; @@ -1021,7 +1040,7 @@ static void wl_compositor_interface_destroy(struct _MwLLWayland* wayland, waylan } /* wl_subcompositor setup function */ -static wayland_protocol_t* wl_subcompositor_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* wl_subcompositor_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { if(wayland->type == MwLL_WAYLAND_TOPLEVEL) { wayland->toplevel->scompositor = wl_registry_bind(wayland->registry, name, &wl_subcompositor_interface, 1); } else { @@ -1037,7 +1056,7 @@ static void wl_subcompositor_interface_destroy(struct _MwLLWayland* wayland, way } /* xdg_wm_base setup function */ -static wayland_protocol_t* xdg_wm_base_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* xdg_wm_base_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); proto->listener = malloc(sizeof(struct xdg_wm_base_listener)); @@ -1055,7 +1074,7 @@ static void xdg_wm_base_interface_destroy(struct _MwLLWayland* wayland, wayland_ } /* xdg_wm_base setup function */ -static wayland_protocol_t* wp_viewporter_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* wp_viewporter_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); proto->context = wl_registry_bind(wayland->registry, name, &wp_viewporter_interface, 1); @@ -1068,7 +1087,7 @@ static void wp_viewporter_interface_destroy(struct _MwLLWayland* wayland, waylan } /* zxdg_decoration_manager_v1 setup function */ -static wayland_protocol_t* zxdg_decoration_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* zxdg_decoration_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); zxdg_decoration_manager_v1_context_t* ctx = malloc(sizeof(zxdg_decoration_manager_v1_context_t)); proto->listener = NULL; @@ -1087,7 +1106,7 @@ static void zxdg_decoration_manager_v1_interface_destroy(struct _MwLLWayland* wa } /* wl_shm setup function */ -static wayland_protocol_t* wl_shm_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* wl_shm_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland->framebuffer.shm = wl_registry_bind(wayland->registry, name, &wl_shm_interface, 1); wayland->backbuffer.shm = wl_registry_bind(wayland->registry, name, &wl_shm_interface, 1); wayland->cursor.shm = wl_registry_bind(wayland->registry, name, &wl_shm_interface, 1); @@ -1100,7 +1119,7 @@ static void wl_shm_interface_destroy(struct _MwLLWayland* wayland, wayland_proto (void)data; } -static wayland_protocol_t* xdg_toplevel_icon_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland) { +static wayland_protocol_t* xdg_toplevel_icon_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); proto->context = wl_registry_bind(wayland->registry, name, &xdg_toplevel_icon_manager_v1_interface, 1); diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 99ce624..939c668 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1146,6 +1146,22 @@ static int MwLLPendingImpl(MwLL handle) { handle->wayland.setting_wh = 0; } + clock_gettime(CLOCK_REALTIME, &handle->wayland.end_time); + + if(handle->wayland.holding_key) { + double elapsed = ((double)(handle->wayland.end_time.tv_sec - handle->wayland.start_time.tv_sec) * 1.0e9 + + (double)(handle->wayland.end_time.tv_nsec - handle->wayland.start_time.tv_nsec)) / + 1000000.0; + if(elapsed >= handle->wayland.next_elapsed) { + MwLL topmost_parent = handle; + while(topmost_parent->wayland.parent) { + MwLLDispatch(topmost_parent, key, &handle->wayland.last_pressed_key); + topmost_parent = topmost_parent->wayland.parent; + } + handle->wayland.next_elapsed = elapsed + handle->wayland.keyboard_rate; + } + } + #ifdef USE_DBUS if(wl_call_tbl.has_dbus) { if(handle->wayland.dark_theme_detection) { From 052863dcfe0ef52da49041c8ee03da7341ab39ff Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 24 May 2026 22:54:50 -0700 Subject: [PATCH 032/119] wayland: set a default for keyboard_repeat/keyboard_rate in case a compostior doesn't send key_repeat_info --- src/backend/wayland/wayland.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 939c668..d8c3b20 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -677,6 +677,10 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh MwLLForceRender(parent); } + /* If the compositor never sets the keyboard repeat info, we'll copy KDE's default of... */ + r->wayland.keyboard_delay = 600; /* starting at 600ms... */ + r->wayland.keyboard_rate = 25; /* and going every 25ms... */ + if(!r->wayland.has_decorations) { MwLLBeginDraw(r); MwLLEndDraw(r); From 884c05acb7ed4d32dd5fb420400870c7e07f373c Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 24 May 2026 23:01:48 -0700 Subject: [PATCH 033/119] wayland: oops! we have MwTimeGetTick, we should use that (even though I'm not sure if that's consistent across platforms. but it will at least compile --- include/Mw/LowLevel/Wayland.h | 14 +++++++------- src/backend/wayland/interfaces.c | 2 +- src/backend/wayland/wayland.c | 6 ++---- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 212eef9..948cf72 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -567,13 +567,13 @@ struct _MwLLWayland { MwBool moving; - MwI64 keyboard_rate; - MwI32 keyboard_delay; - int last_pressed_key; - MwBool holding_key; - MwU64 next_elapsed; - struct timespec start_time; - struct timespec end_time; + MwI64 keyboard_rate; + MwI32 keyboard_delay; + int last_pressed_key; + MwBool holding_key; + MwU64 next_elapsed; + long start_time; + long end_time; cairo_surface_t* front_cs; cairo_surface_t* back_cs; diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 607ce82..f07e5af 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -838,7 +838,7 @@ static void keyboard_key(void* data, MwLLDispatch(self, key_released, &key); self->wayland.holding_key = MwFALSE; } - clock_gettime(CLOCK_REALTIME, &self->wayland.start_time); + self->wayland.start_time = MwTimeGetTick(); self->wayland.next_elapsed = self->wayland.keyboard_delay; } } diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index d8c3b20..dc4a832 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1150,12 +1150,10 @@ static int MwLLPendingImpl(MwLL handle) { handle->wayland.setting_wh = 0; } - clock_gettime(CLOCK_REALTIME, &handle->wayland.end_time); + handle->wayland.end_time = MwTimeGetTick(); if(handle->wayland.holding_key) { - double elapsed = ((double)(handle->wayland.end_time.tv_sec - handle->wayland.start_time.tv_sec) * 1.0e9 + - (double)(handle->wayland.end_time.tv_nsec - handle->wayland.start_time.tv_nsec)) / - 1000000.0; + float elapsed = ((float)(handle->wayland.end_time - (float)handle->wayland.start_time)); if(elapsed >= handle->wayland.next_elapsed) { MwLL topmost_parent = handle; while(topmost_parent->wayland.parent) { From 7d40eff3e5e946bce218ea2e96741aa94c60effb Mon Sep 17 00:00:00 2001 From: Nishi Date: Wed, 27 May 2026 15:45:54 +0900 Subject: [PATCH 034/119] fix --- src/abstract/charset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/abstract/charset.c b/src/abstract/charset.c index 3620aa0..47cc9a2 100644 --- a/src/abstract/charset.c +++ b/src/abstract/charset.c @@ -19,7 +19,7 @@ char* MwACPToUTF8(const char* input) { return MwStringDuplicate(input); } - wout = malloc(wbytes); + wout = malloc(wbytes + sizeof(wchar_t)); len = wbytes / sizeof(wchar_t); memset(wout, 0, wbytes); From 541499f43c71b3429353dd2611ce0edfc54d0ba0 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 5 Jul 2026 05:23:46 +0900 Subject: [PATCH 035/119] add RESIZE_ON_TICK and fix CMake --- CMakeLists.txt | 2 +- include/Mw/TypeDefs.h | 1 + src/core.c | 59 +++++++++++++++++++++++++++++++++++++------ 3 files changed, 53 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7663578..eeb15e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -417,7 +417,7 @@ endif() target_compile_definitions( Mw PRIVATE - _MILSKO + _MILSKO _MILSKO_BUILD ) install( diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index fd72922..d31aeac 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -115,6 +115,7 @@ struct _MwWidget { int top_step; MwWidget* draw_queue; + MwWidget* resize_queue; int berserk; long last_tick; diff --git a/src/core.c b/src/core.c index 59984a5..f649a62 100644 --- a/src/core.c +++ b/src/core.c @@ -6,6 +6,8 @@ #define PERIODIC #endif +#define RESIZE_ON_TICK + #define DRAW(handle) \ { \ MwLLBeginDraw(handle->lowlevel); \ @@ -18,6 +20,16 @@ MwLLEndDraw(handle->lowlevel); \ } +#define RESIZE(handle) \ + { \ + int RESIZE_i; \ + MwDispatchUserHandler(handle, MwNresizeHandler, NULL); \ + for(RESIZE_i = 0; RESIZE_i < arrlen(handle->children); RESIZE_i++) { \ + MwDispatch(handle->children[RESIZE_i], parent_resize); \ + } \ + MwDispatch(handle, resize); \ + } + static void MWAPI MwVaListApply_Internal(MwWidget handle, va_list va, int only_early); static MwWidget MWAPI MwCreateWidget_Internal(MwClass widget_class, const char* name, MwWidget parent, int x, int y, unsigned int width, unsigned int height, int do_prop, va_list prop); @@ -83,16 +95,35 @@ static void lldownhandler(MwLL handle, void* data) { static void llresizehandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; - int i; +#ifdef RESIZE_ON_TICK + MwWidget top; +#endif (void)data; - MwDispatchUserHandler(h, MwNresizeHandler, NULL); - for(i = 0; i < arrlen(h->children); i++) { - MwDispatch(h->children[i], parent_resize); - MwDispatch(h->children[i], draw); +#ifdef RESIZE_ON_TICK + top = h; + while(top != NULL) { + if(top->top_step) { + break; + } + + top = top->parent; } - MwDispatch(h, resize); + + if(top == NULL) { + RESIZE(h); /* fallback */ + } else { + int i; + + for(i = 0; i < arrlen(top->resize_queue); i++) { + if(top->resize_queue[i] == h) break; + } + if(i == arrlen(top->resize_queue)) arrput(top->resize_queue, h); + } +#else + RESIZE(h); +#endif } static void llclosehandler(MwLL handle, void* data) { @@ -226,8 +257,9 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, h->opaque = NULL; h->user = NULL; - h->top_step = 0; - h->draw_queue = NULL; + h->top_step = 0; + h->draw_queue = NULL; + h->resize_queue = NULL; if(parent == NULL) arrput(h->tick_list, h); @@ -393,6 +425,7 @@ void MwFreeWidget(MwWidget handle) { arrfree(handle->tick_list); arrfree(handle->draw_queue); + arrfree(handle->resize_queue); if(handle->root_font != NULL) MwFontFree(handle->root_font); if(handle->root_boldfont != NULL) MwFontFree(handle->root_boldfont); @@ -472,6 +505,16 @@ static void MwAfterStep(MwWidget handle) { } #endif +#ifdef RESIZE_ON_TICK + if(handle->top_step) { + for(i = 0; i < arrlen(handle->resize_queue); i++) { + RESIZE(handle->resize_queue[i]); + } + + arrfree(handle->resize_queue); + } +#endif + if(arrlen(handle->tick_list) > 0 && (MwTimeGetTick() - handle->last_tick) >= MwWaitMS) { for(i = 0; i < arrlen(handle->tick_list); i++) { MwDispatch(handle->tick_list[i], tick); From 1f4fddfa67f12244ba4b059440e773baec30d0ba Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 5 Jul 2026 06:30:54 +0900 Subject: [PATCH 036/119] fix color leak --- src/draw.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/draw.c b/src/draw.c index d8cadad..2fd0d47 100644 --- a/src/draw.c +++ b/src/draw.c @@ -47,6 +47,8 @@ static void color_set_disabled_if_disabled(MwWidget handle, MwLLColor rgb) { rgb->common.green = rgb->common.green + (c->common.green - rgb->common.green) * 0.5; rgb->common.blue = rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5; MwLLColorUpdate(handle->lowlevel, rgb, rgb->common.red, rgb->common.green, rgb->common.blue); + + MwLLFreeColor(c); } } }; @@ -217,7 +219,7 @@ void MwDrawWidgetBack(MwWidget handle, MwRect* rect, MwLLColor color, int invert if(rect->width <= 0 || rect->height <= 0) return; - col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; + col = invert ? MwLightenColor(handle, color, -8, -8, -8) : MwLightenColor(handle, color, 0, 0, 0); color_set_disabled_if_disabled(handle, col); if(MwGetInteger(handle, MwNmodernLook)) { @@ -225,7 +227,7 @@ void MwDrawWidgetBack(MwWidget handle, MwRect* rect, MwLLColor color, int invert } else { MwDrawRect(handle, rect, col); } - if(col != color) MwLLFreeColor(col); + MwLLFreeColor(col); } void MwDrawDiamond(MwWidget handle, MwRect* rect, MwLLColor color, int invert) { From 0826afb33469dcfa924efbbd9b936b353cab04a5 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 5 Jul 2026 06:51:43 +0900 Subject: [PATCH 037/119] fix color leak 2 --- src/draw.c | 9 ++++----- src/text/text.c | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/draw.c b/src/draw.c index 2fd0d47..ce86d90 100644 --- a/src/draw.c +++ b/src/draw.c @@ -236,7 +236,7 @@ void MwDrawDiamond(MwWidget handle, MwRect* rect, MwLLColor color, int invert) { int ColorDiff = get_color_diff(handle) + (MwGetInteger(handle, MwNmodernLook) ? 48 : 0); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); - MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; + MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : MwLightenColor(handle, color, 0, 0, 0); color_set_disabled_if_disabled(handle, col); color_set_disabled_if_disabled(handle, darker); color_set_disabled_if_disabled(handle, lighter); @@ -295,7 +295,7 @@ void MwDrawDiamond(MwWidget handle, MwRect* rect, MwLLColor color, int invert) { MwLLPolygon(handle->lowlevel, p, 4, col); - if(col != color) MwLLFreeColor(col); + MwLLFreeColor(col); MwLLFreeColor(lighter); MwLLFreeColor(darker); } @@ -442,7 +442,7 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, int ColorDiff = get_color_diff(handle); MwLLColor darker = MwLightenColor(handle, color, -ColorDiff, -ColorDiff, -ColorDiff); MwLLColor lighter = MwLightenColor(handle, color, ColorDiff, ColorDiff, ColorDiff); - MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : color; + MwLLColor col = invert ? MwLightenColor(handle, color, -8, -8, -8) : MwLightenColor(handle, color, 0, 0, 0); double deg = 30 * ((direction == MwEAST || direction == MwWEST) ? 2 : 1); double c = cos(deg / 180 * M_PI); double s = sin(deg / 180 * M_PI); @@ -650,8 +650,7 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, } MwLLPolygon(handle->lowlevel, p4, 3, col); - if(color != col) MwLLFreeColor(col); - + MwLLFreeColor(col); MwLLFreeColor(lighter); MwLLFreeColor(darker); } diff --git a/src/text/text.c b/src/text/text.c index b6297e3..786089b 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -90,6 +90,8 @@ void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, fadedColor->common.red = fadedColor->common.red + (c->common.red - fadedColor->common.red) * 0.5; fadedColor->common.green = fadedColor->common.green + (c->common.green - fadedColor->common.green) * 0.5; fadedColor->common.blue = fadedColor->common.blue + (c->common.blue - fadedColor->common.blue) * 0.5; + + MwLLFreeColor(c); } } From d3b0996561ea92169ce73224c3d546eea22ea022 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 5 Jul 2026 00:44:54 -0700 Subject: [PATCH 038/119] wayland: fix MakeBorderless not working w CSD --- CMakeLists.txt | 3 +++ include/Mw/LowLevel/Wayland.h | 1 + src/backend/wayland/buffer.c | 2 +- src/backend/wayland/interfaces.c | 2 +- src/backend/wayland/region.c | 2 +- src/backend/wayland/wayland.c | 21 +++++++++++++-------- 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eeb15e3..5f12566 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -373,6 +373,9 @@ if(${DBus1_FOUND}) ) endif() +list(APPEND LIBRARIES m) + + target_include_directories( Mw PRIVATE diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 948cf72..e760609 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -466,6 +466,7 @@ struct _MwLLWayland { wayland_protocol_t* value; }* wl_protocol_map; + MwBool do_csd; MwBool has_decorations; char title[256]; diff --git a/src/backend/wayland/buffer.c b/src/backend/wayland/buffer.c index a37fd34..39a31dd 100644 --- a/src/backend/wayland/buffer.c +++ b/src/backend/wayland/buffer.c @@ -27,7 +27,7 @@ void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { } MwU32 w = wayland->ww; MwU32 h = wayland->wh; - if(!wayland->has_decorations) { + if(!wayland->has_decorations && wayland->do_csd) { w += (CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT); h += (CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM); } diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index f07e5af..2de4e67 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -618,7 +618,7 @@ static void pointer_button(void* data, struct wl_pointer* wl_pointer, MwU32 seri } } - if(!self->wayland.has_decorations) { + if(!self->wayland.has_decorations && self->wayland.do_csd) { if(state != WL_POINTER_BUTTON_STATE_RELEASED) xdg_borderless_step_mdown(self, p, serial); else diff --git a/src/backend/wayland/region.c b/src/backend/wayland/region.c index c1bab73..83acdbe 100644 --- a/src/backend/wayland/region.c +++ b/src/backend/wayland/region.c @@ -11,7 +11,7 @@ void MwLLWaylandRegionSetup(MwLL handle) { int width = (handle->wayland.clipping_rect.width == 0) ? handle->wayland.ww : handle->wayland.clipping_rect.width; int height = (handle->wayland.clipping_rect.height == 0) ? handle->wayland.wh : handle->wayland.clipping_rect.height; - if(!handle->wayland.has_decorations && handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + if(!handle->wayland.has_decorations && handle->wayland.do_csd && handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { width += CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; height += CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; } diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index dc4a832..83332a0 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -270,6 +270,7 @@ static void setup_toplevel(MwLL r, int x, int y) { /* check now if we have decorations so that everything else can act accordingly */ if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { r->wayland.has_decorations = MwTRUE; + r->wayland.do_csd = MwTRUE; } r->wayland.xkb_context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); @@ -314,7 +315,7 @@ static void setup_toplevel(MwLL r, int x, int y) { zxdg_toplevel_decoration_v1_set_mode( dec->decoration, ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); } else { - wl_subsurface_set_position(r->wayland.toplevel->ssurface, CSD_BORDER_FRAME_LEFT, CSD_BORDER_FRAME_TOP); + wl_subsurface_set_position(r->wayland.toplevel->ssurface, r->wayland.do_csd ? CSD_BORDER_FRAME_LEFT : 0, r->wayland.do_csd ? CSD_BORDER_FRAME_TOP : 0); } } @@ -456,7 +457,7 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { while(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL) { topmost_parent = topmost_parent->wayland.parent; } - if(!topmost_parent->wayland.has_decorations) { + if(!topmost_parent->wayland.has_decorations && topmost_parent->wayland.do_csd) { r->wayland.x += ceil((float)CSD_BORDER_FRAME_LEFT / 2.); r->wayland.y += ceil((float)CSD_BORDER_FRAME_TOP / 2.); } @@ -478,6 +479,7 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { /* check now if we have decorations so that everything else can act accordingly */ if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { r->wayland.has_decorations = MwTRUE; + r->wayland.do_csd = MwTRUE; } r->wayland.popup->xdg_wm_base = WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context; @@ -681,7 +683,7 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh r->wayland.keyboard_delay = 600; /* starting at 600ms... */ r->wayland.keyboard_rate = 25; /* and going every 25ms... */ - if(!r->wayland.has_decorations) { + if(!r->wayland.has_decorations && r->wayland.do_csd) { MwLLBeginDraw(r); MwLLEndDraw(r); } @@ -921,7 +923,7 @@ static void MwLLBeginDrawImpl(MwLL handle) { return; } - if(!handle->wayland.has_decorations) { + if(!handle->wayland.has_decorations && handle->wayland.do_csd) { int y; MwU32 w = handle->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; MwU32 h = handle->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; @@ -1232,7 +1234,7 @@ static void MwLLSetTitleImpl(MwLL handle, const char* title) { if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { xdg_toplevel_set_title(handle->wayland.toplevel->xdg_top_level, title); } - if(!handle->wayland.has_decorations) { + if(!handle->wayland.has_decorations && handle->wayland.do_csd) { strncpy(handle->wayland.title, title, 255); MwLLBeginDraw(handle); MwLLEndDraw(handle); @@ -1361,7 +1363,7 @@ static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { xdg_toplevel_icon_manager_v1_set_icon(icon_manager, handle->wayland.toplevel->xdg_top_level, icon); } } - if(!handle->wayland.has_decorations) { + if(!handle->wayland.has_decorations && handle->wayland.do_csd) { if(handle->wayland.icon_pixmap) { MwLLDestroyPixmap(handle->wayland.icon_pixmap); } @@ -1483,8 +1485,8 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int } static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { - (void)toggle; WIDGET_CHECK(handle); + printf("%d\n", toggle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1) != NULL) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1)->context; @@ -1493,7 +1495,10 @@ static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { dec->manager, handle->wayland.toplevel->xdg_top_level); zxdg_toplevel_decoration_v1_set_mode( - dec->decoration, ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE); + dec->decoration, toggle ? ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE : ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); + } else { + handle->wayland.do_csd = !toggle; + wl_subsurface_set_position(handle->wayland.toplevel->ssurface, handle->wayland.do_csd ? CSD_BORDER_FRAME_LEFT : 0, handle->wayland.do_csd ? CSD_BORDER_FRAME_TOP : 0); } } } From 5ea01c80c5b28e3a5ffcf0012e63db5cb313ce2c Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 7 Jul 2026 18:22:46 -0700 Subject: [PATCH 039/119] wayland: fix popup positioning --- src/backend/wayland/wayland.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 83332a0..6404d08 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -270,7 +270,8 @@ static void setup_toplevel(MwLL r, int x, int y) { /* check now if we have decorations so that everything else can act accordingly */ if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { r->wayland.has_decorations = MwTRUE; - r->wayland.do_csd = MwTRUE; + } else { + r->wayland.do_csd = MwTRUE; } r->wayland.xkb_context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); @@ -479,7 +480,8 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { /* check now if we have decorations so that everything else can act accordingly */ if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { r->wayland.has_decorations = MwTRUE; - r->wayland.do_csd = MwTRUE; + } else { + r->wayland.do_csd = MwTRUE; } r->wayland.popup->xdg_wm_base = WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context; @@ -511,12 +513,6 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { r->wayland.popup->xdg_surface_listener.configure = xdg_surface_configure; xdg_surface_add_listener(r->wayland.popup->xdg_surface, &r->wayland.popup->xdg_surface_listener, r); - - /* Perform the initial commit and wait for the first configure event */ - wl_surface_commit(r->wayland.framebuffer.surface); - while(!r->wayland.configured) { - event_loop(r); - } } /* Popup destroy function */ @@ -1443,8 +1439,12 @@ static void MwLLDetachImpl(MwLL handle, MwPoint* point) { int x = 0, y = 0; WIDGET_CHECK(handle); while(p != NULL) { - x += p->wayland.x; - y += p->wayland.y; + if(p->wayland.type != MwLL_WAYLAND_TOPLEVEL) { + x += p->wayland.x; + y += p->wayland.y; + } else { + break; + } p = p->wayland.parent; } @@ -1486,7 +1486,6 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { WIDGET_CHECK(handle); - printf("%d\n", toggle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1) != NULL) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1)->context; From b860c26505bf0bfadcd26ce88c124112158d9398 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 7 Jul 2026 18:29:02 -0700 Subject: [PATCH 040/119] actually fix Borderless on wayland and confirm it working --- src/backend/wayland/wayland.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 6404d08..359fedf 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1485,14 +1485,18 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int } static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { + printf("%d\n", toggle); WIDGET_CHECK(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1) != NULL) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1)->context; - dec->decoration = zxdg_decoration_manager_v1_get_toplevel_decoration( - dec->manager, handle->wayland.toplevel->xdg_top_level); + if(!dec->decoration) { + dec->decoration = zxdg_decoration_manager_v1_get_toplevel_decoration( + dec->manager, handle->wayland.toplevel->xdg_top_level); + } + zxdg_toplevel_decoration_v1_unset_mode(dec->decoration); zxdg_toplevel_decoration_v1_set_mode( dec->decoration, toggle ? ZXDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE : ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); } else { From 7dad6806c3bf76702f75f108f2e0d4ed587e8156 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 7 Jul 2026 20:47:32 -0700 Subject: [PATCH 041/119] allow tool windows without a parent; currently fake them, should use layer surfaces later --- src/backend/wayland/wayland.c | 114 +++++++++++++++++++--------------- 1 file changed, 65 insertions(+), 49 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 359fedf..d438ac6 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -251,11 +251,13 @@ static void setup_toplevel(MwLL r, int x, int y) { MwLLWaylandSetupCallbacks(&r->wayland); /* Connect to the Wayland compositor */ - r->wayland.display = wl_display_connect(NULL); - if(r->wayland.display == NULL) { - printf("wayland: failed to create display\n"); - raise(SIGTRAP); - return; + if(!r->wayland.display) { + r->wayland.display = wl_display_connect(NULL); + if(r->wayland.display == NULL) { + printf("wayland: failed to create display\n"); + raise(SIGTRAP); + return; + } } /* Do a roundtrip to ensure all interfaces are setup. */ @@ -345,7 +347,7 @@ static void destroy_toplevel(MwLL r) { wl_registry_destroy(r->wayland.registry); - wl_display_disconnect(r->wayland.display); + // wl_display_disconnect(r->wayland.display); r->wayland.configured = MwFALSE; } @@ -449,6 +451,7 @@ struct xdg_popup_listener popup_listener = { static void setup_popup(MwLL r, int x, int y, MwLL parent) { struct xdg_surface* xdg_surface; MwLL topmost_parent = r->wayland.parent; + MwU32 ver; r->wayland.type = MwLL_WAYLAND_POPUP; r->wayland.x = x; @@ -507,7 +510,7 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { xdg_surface, r->wayland.popup->xdg_positioner); - uint32_t ver = wl_proxy_get_version((struct wl_proxy*)r->wayland.popup->xdg_popup); + ver = wl_proxy_get_version((struct wl_proxy*)r->wayland.popup->xdg_popup); xdg_popup_add_listener(r->wayland.popup->xdg_popup, &popup_listener, r); @@ -656,7 +659,16 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh setup_sublevel(parent, r, x, y); break; case MwLL_WAYLAND_POPUP: - setup_popup(r, x, y, parent); + if(parent) { + setup_popup(r, x, y, parent); + } else { + /* + * We can't actually have a popup without a parent but this needs to be valid behavior. + * So we do a few things to "fake" a toplevel that looks like a popup. + */ + setup_toplevel(r, x, y); + MwLLMakeBorderless(r, MwTRUE); + } break; } } @@ -1485,7 +1497,6 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int } static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) { - printf("%d\n", toggle); WIDGET_CHECK(handle); if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { if(WAYLAND_GET_INTERFACE(handle->wayland, zxdg_decoration_manager_v1) != NULL) { @@ -1616,65 +1627,70 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { } static void MwLLEndStateChangeImpl(MwLL handle) { + MwLL topmost_parent; WIDGET_CHECK(handle); - if(handle->wayland.detatching) { - MwLL topmost_parent = handle->wayland.parent; + topmost_parent = handle->wayland.parent; + if(topmost_parent) { while(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL) { topmost_parent = topmost_parent->wayland.parent; } - switch(handle->wayland.type) { - case MwLL_WAYLAND_UNKNOWN: - break; - case MwLL_WAYLAND_TOPLEVEL: - destroy_toplevel(handle); - break; - case MwLL_WAYLAND_SUBLEVEL: - destroy_sublevel(handle); - break; - case MwLL_WAYLAND_POPUP: - destroy_popup(handle); - break; - } + } - MwLLWaylandFlush(handle); + switch(handle->wayland.type) { + case MwLL_WAYLAND_UNKNOWN: + break; + case MwLL_WAYLAND_TOPLEVEL: + destroy_toplevel(handle); + break; + case MwLL_WAYLAND_SUBLEVEL: + destroy_sublevel(handle); + break; + case MwLL_WAYLAND_POPUP: + destroy_popup(handle); + break; + } - widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); + MwLLWaylandFlush(handle); - handle->wayland.is_toplevel = MwTRUE; + widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); - if(!handle->wayland.parent) - handle->wayland.dark_theme_detection = MwTRUE; + handle->wayland.is_toplevel = MwTRUE; - if(handle->common.user) { - MwWidget w = handle->common.user; - int i; - for(i = 0; i < arrlen(w->children); i++) { - if(w->children[i]->lowlevel->wayland.type == MwLL_WAYLAND_SUBLEVEL) { - MwLL child = w->children[i]->lowlevel; - child->wayland.sublevel->xdg_surface = handle->wayland.popup->xdg_surface; - wl_subsurface_destroy(child->wayland.sublevel->subsurface); - MwLLWaylandFlush(handle); + if(!handle->wayland.parent) + handle->wayland.dark_theme_detection = MwTRUE; - child->wayland.sublevel->subsurface = wl_subcompositor_get_subsurface(child->wayland.sublevel->subcompositor, child->wayland.framebuffer.surface, handle->wayland.framebuffer.surface); - wl_subsurface_set_desync(child->wayland.sublevel->subsurface); - wl_subsurface_set_position(child->wayland.sublevel->subsurface, child->wayland.x, child->wayland.y); + if(handle->common.user) { + MwWidget w = handle->common.user; + int i; + for(i = 0; i < arrlen(w->children); i++) { + if(w->children[i]->lowlevel->wayland.type == MwLL_WAYLAND_SUBLEVEL) { + MwLL child = w->children[i]->lowlevel; + printf("%p\n", child->wayland.sublevel->subcompositor); + child->wayland.sublevel->xdg_surface = handle->wayland.popup->xdg_surface; + wl_subsurface_destroy(child->wayland.sublevel->subsurface); + MwLLWaylandFlush(handle); - wl_subsurface_place_above(child->wayland.sublevel->subsurface, handle->wayland.framebuffer.surface); - MwLLEndStateChangeImpl(w->children[i]->lowlevel); + child->wayland.sublevel->subsurface = wl_subcompositor_get_subsurface(child->wayland.sublevel->subcompositor, child->wayland.framebuffer.surface, handle->wayland.framebuffer.surface); + wl_subsurface_set_desync(child->wayland.sublevel->subsurface); + wl_subsurface_set_position(child->wayland.sublevel->subsurface, child->wayland.x, child->wayland.y); + wl_subsurface_place_above(child->wayland.sublevel->subsurface, handle->wayland.framebuffer.surface); + MwLLEndStateChangeImpl(w->children[i]->lowlevel); + + if(topmost_parent) { topmost_parent->wayland.currentlyHeldWidget = NULL; } } } - - recursive_render(handle); - - handle->wayland.events_pending = 1; - - handle->wayland.detatching = MwFALSE; } + + recursive_render(handle); + + handle->wayland.events_pending = 1; + + handle->wayland.detatching = MwFALSE; } static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) { From a16e48edd5f42b504810bac5f79286f4ffdc112d Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 7 Jul 2026 23:04:58 -0700 Subject: [PATCH 042/119] started on layer surface --- include/Mw/LowLevel/Wayland.h | 8 + pl/rules.pl | 1 + pl/utils.pl | 32 ++ .../wayland/wlr-layer-shell-unstable-v1.xml | 451 ++++++++++++++++++ src/backend/wayland/interfaces.c | 21 +- src/backend/wayland/wayland.c | 164 ++++++- 6 files changed, 656 insertions(+), 21 deletions(-) create mode 100644 resource/wayland/wlr-layer-shell-unstable-v1.xml diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index e760609..c59f063 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -339,6 +339,7 @@ MwInline int wayland_load_funcs() { #include "Wayland/pointer-constraints-client-protocol.h" #include "Wayland/relative-pointer-client-protocol.h" #include "Wayland/xdg-toplevel-icon-client-protocol.h" +#include "Wayland/wlr-layer-shell-client-protocol.h" #endif typedef struct wayland_protocol { @@ -387,6 +388,10 @@ struct _MwLLWaylandPopup { MwLL topmost_parent; }; +struct _MwLLWaylandLayerSurface { + struct zwlr_layer_surface_v1* surface; +}; + /* Shared set of anything needed for a shm buffer. */ struct _MwLLWaylandShmBuffer { struct wl_shm* shm; @@ -410,6 +415,7 @@ enum _MwLLWaylandType { MwLL_WAYLAND_TOPLEVEL, MwLL_WAYLAND_SUBLEVEL, MwLL_WAYLAND_POPUP, + MwLL_WAYLAND_LAYER_SURFACE, }; typedef struct wl_clipboard_device_context { @@ -436,6 +442,8 @@ struct _MwLLWayland { struct _MwLLWaylandSublevel* sublevel; /* Pointer for data that's only loaded if the widget is a popup */ struct _MwLLWaylandPopup* popup; + /* Pointer for data that's only loaded if the widget is a layer surface */ + struct _MwLLWaylandLayerSurface* layer_surface; }; enum _MwLLWaylandType type; diff --git a/pl/rules.pl b/pl/rules.pl index 52f3c2a..2c8ea1b 100644 --- a/pl/rules.pl +++ b/pl/rules.pl @@ -65,6 +65,7 @@ if (grep(/^wayland$/, @backends)) { scan_wayland_protocol("unstable", "primary-selection", "-unstable-v1"); scan_wayland_protocol("unstable", "pointer-constraints", "-unstable-v1"); scan_wayland_protocol("unstable", "relative-pointer", "-unstable-v1"); + scan_wayland_protocol_from_file("wlr-layer-shell", "wlr-layer-shell-unstable-v1.xml"); $gl_libs = "-lGL -lGLU"; } diff --git a/pl/utils.pl b/pl/utils.pl index a86cbbe..23e16f0 100644 --- a/pl/utils.pl +++ b/pl/utils.pl @@ -125,6 +125,38 @@ sub scan_wayland_protocol { } } + +sub scan_wayland_protocol_from_file { + my $proto = $_[0]; + my $file = $_[1]; + my $proto_c = "src/backend/wayland/wayland-${proto}-protocol.c"; + + if ( + system( +"wayland-scanner private-code ./resource/wayland/${file} ${proto_c}" + ) != 0 + ) + { + print( +"^ Error on getting private code for ./resource/wayland/${file}\n" + ); + } + else { + new_object($proto_c); + } + if ( + system( +"wayland-scanner client-header ./resource/wayland/${file} include/Mw/LowLevel/Wayland/${proto}-client-protocol.h" + ) + ) + { + print( +"^ Error on getting client header for ./resource/wayland/${file}\n" + ); + } +} + + our %params = (); sub param_set { diff --git a/resource/wayland/wlr-layer-shell-unstable-v1.xml b/resource/wayland/wlr-layer-shell-unstable-v1.xml new file mode 100644 index 0000000..f9ee0ff --- /dev/null +++ b/resource/wayland/wlr-layer-shell-unstable-v1.xml @@ -0,0 +1,451 @@ + + + + Copyright © 2017 Drew DeVault + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that copyright notice and this permission + notice appear in supporting documentation, and that the name of + the copyright holders not be used in advertising or publicity + pertaining to distribution of the software without specific, + written prior permission. The copyright holders make no + representations about the suitability of this software for any + purpose. It is provided "as is" without express or implied + warranty. + + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + THIS SOFTWARE. + + + + + Clients can use this interface to assign the surface_layer role to + wl_surfaces. Such surfaces are assigned to a "layer" of the output and + rendered with a defined z-depth respective to each other. They may also be + anchored to the edges and corners of a screen and specify input handling + semantics. This interface should be suitable for the implementation of + many desktop shell components, and a broad number of other applications + that interact with the desktop. + + + + + Create a layer surface for an existing surface. This assigns the role of + layer_surface, or raises a protocol error if another role is already + assigned. + + Creating a layer surface from a wl_surface which has a buffer attached + or committed is a client error, and any attempts by a client to attach + or manipulate a buffer prior to the first layer_surface.configure call + must also be treated as errors. + + After creating a layer_surface object and setting it up, the client + must perform an initial commit without any buffer attached. + The compositor will reply with a layer_surface.configure event. + The client must acknowledge it and is then allowed to attach a buffer + to map the surface. + + You may pass NULL for output to allow the compositor to decide which + output to use. Generally this will be the one that the user most + recently interacted with. + + Clients can specify a namespace that defines the purpose of the layer + surface. + + + + + + + + + + + + + + + + + These values indicate which layers a surface can be rendered in. They + are ordered by z depth, bottom-most first. Traditional shell surfaces + will typically be rendered between the bottom and top layers. + Fullscreen shell surfaces are typically rendered at the top layer. + Multiple surfaces can share a single layer, and ordering within a + single layer is undefined. + + + + + + + + + + + + + This request indicates that the client will not use the layer_shell + object any more. Objects that have been created through this instance + are not affected. + + + + + + + An interface that may be implemented by a wl_surface, for surfaces that + are designed to be rendered as a layer of a stacked desktop-like + environment. + + Layer surface state (layer, size, anchor, exclusive zone, + margin, interactivity) is double-buffered, and will be applied at the + time wl_surface.commit of the corresponding wl_surface is called. + + Attaching a null buffer to a layer surface unmaps it. + + Unmapping a layer_surface means that the surface cannot be shown by the + compositor until it is explicitly mapped again. The layer_surface + returns to the state it had right after layer_shell.get_layer_surface. + The client can re-map the surface by performing a commit without any + buffer attached, waiting for a configure event and handling it as usual. + + + + + Sets the size of the surface in surface-local coordinates. The + compositor will display the surface centered with respect to its + anchors. + + If you pass 0 for either value, the compositor will assign it and + inform you of the assignment in the configure event. You must set your + anchor to opposite edges in the dimensions you omit; not doing so is a + protocol error. Both values are 0 by default. + + Size is double-buffered, see wl_surface.commit. + + + + + + + + Requests that the compositor anchor the surface to the specified edges + and corners. If two orthogonal edges are specified (e.g. 'top' and + 'left'), then the anchor point will be the intersection of the edges + (e.g. the top left corner of the output); otherwise the anchor point + will be centered on that edge, or in the center if none is specified. + + Anchor is double-buffered, see wl_surface.commit. + + + + + + + Requests that the compositor avoids occluding an area with other + surfaces. The compositor's use of this information is + implementation-dependent - do not assume that this region will not + actually be occluded. + + A positive value is only meaningful if the surface is anchored to one + edge or an edge and both perpendicular edges. If the surface is not + anchored, anchored to only two perpendicular edges (a corner), anchored + to only two parallel edges or anchored to all edges, a positive value + will be treated the same as zero. + + A positive zone is the distance from the edge in surface-local + coordinates to consider exclusive. + + Surfaces that do not wish to have an exclusive zone may instead specify + how they should interact with surfaces that do. If set to zero, the + surface indicates that it would like to be moved to avoid occluding + surfaces with a positive exclusive zone. If set to -1, the surface + indicates that it would not like to be moved to accommodate for other + surfaces, and the compositor should extend it all the way to the edges + it is anchored to. + + For example, a panel might set its exclusive zone to 10, so that + maximized shell surfaces are not shown on top of it. A notification + might set its exclusive zone to 0, so that it is moved to avoid + occluding the panel, but shell surfaces are shown underneath it. A + wallpaper or lock screen might set their exclusive zone to -1, so that + they stretch below or over the panel. + + The default value is 0. + + Exclusive zone is double-buffered, see wl_surface.commit. + + + + + + + Requests that the surface be placed some distance away from the anchor + point on the output, in surface-local coordinates. Setting this value + for edges you are not anchored to has no effect. + + The exclusive zone includes the margin. + + Margin is double-buffered, see wl_surface.commit. + + + + + + + + + + Types of keyboard interaction possible for layer shell surfaces. The + rationale for this is twofold: (1) some applications are not interested + in keyboard events and not allowing them to be focused can improve the + desktop experience; (2) some applications will want to take exclusive + keyboard focus. + + + + + This value indicates that this surface is not interested in keyboard + events and the compositor should never assign it the keyboard focus. + + This is the default value, set for newly created layer shell surfaces. + + This is useful for e.g. desktop widgets that display information or + only have interaction with non-keyboard input devices. + + + + + Request exclusive keyboard focus if this surface is above the shell surface layer. + + For the top and overlay layers, the seat will always give + exclusive keyboard focus to the top-most layer which has keyboard + interactivity set to exclusive. If this layer contains multiple + surfaces with keyboard interactivity set to exclusive, the compositor + determines the one receiving keyboard events in an implementation- + defined manner. In this case, no guarantee is made when this surface + will receive keyboard focus (if ever). + + For the bottom and background layers, the compositor is allowed to use + normal focus semantics. + + This setting is mainly intended for applications that need to ensure + they receive all keyboard events, such as a lock screen or a password + prompt. + + + + + This requests the compositor to allow this surface to be focused and + unfocused by the user in an implementation-defined manner. The user + should be able to unfocus this surface even regardless of the layer + it is on. + + Typically, the compositor will want to use its normal mechanism to + manage keyboard focus between layer shell surfaces with this setting + and regular toplevels on the desktop layer (e.g. click to focus). + Nevertheless, it is possible for a compositor to require a special + interaction to focus or unfocus layer shell surfaces (e.g. requiring + a click even if focus follows the mouse normally, or providing a + keybinding to switch focus between layers). + + This setting is mainly intended for desktop shell components (e.g. + panels) that allow keyboard interaction. Using this option can allow + implementing a desktop shell that can be fully usable without the + mouse. + + + + + + + Set how keyboard events are delivered to this surface. By default, + layer shell surfaces do not receive keyboard events; this request can + be used to change this. + + This setting is inherited by child surfaces set by the get_popup + request. + + Layer surfaces receive pointer, touch, and tablet events normally. If + you do not want to receive them, set the input region on your surface + to an empty region. + + Keyboard interactivity is double-buffered, see wl_surface.commit. + + + + + + + This assigns an xdg_popup's parent to this layer_surface. This popup + should have been created via xdg_surface::get_popup with the parent set + to NULL, and this request must be invoked before committing the popup's + initial state. + + See the documentation of xdg_popup for more details about what an + xdg_popup is and how it is used. + + + + + + + When a configure event is received, if a client commits the + surface in response to the configure event, then the client + must make an ack_configure request sometime before the commit + request, passing along the serial of the configure event. + + If the client receives multiple configure events before it + can respond to one, it only has to ack the last configure event. + + A client is not required to commit immediately after sending + an ack_configure request - it may even ack_configure several times + before its next surface commit. + + A client may send multiple ack_configure requests before committing, but + only the last request sent before a commit indicates which configure + event the client really is responding to. + + + + + + + This request destroys the layer surface. + + + + + + The configure event asks the client to resize its surface. + + Clients should arrange their surface for the new states, and then send + an ack_configure request with the serial sent in this configure event at + some point before committing the new surface. + + The client is free to dismiss all but the last configure event it + received. + + The width and height arguments specify the size of the window in + surface-local coordinates. + + The size is a hint, in the sense that the client is free to ignore it if + it doesn't resize, pick a smaller size (to satisfy aspect ratio or + resize in steps of NxM pixels). If the client picks a smaller size and + is anchored to two opposite anchors (e.g. 'top' and 'bottom'), the + surface will be centered on this axis. + + If the width or height arguments are zero, it means the client should + decide its own window dimension. + + + + + + + + + The closed event is sent by the compositor when the surface will no + longer be shown. The output may have been destroyed or the user may + have asked for it to be removed. Further changes to the surface will be + ignored. The client should destroy the resource after receiving this + event, and create a new surface if they so choose. + + + + + + + + + + + + + + + + + + + + + + Change the layer that the surface is rendered on. + + Layer is double-buffered, see wl_surface.commit. + + + + + diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 2de4e67..0d9f6d6 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -655,7 +655,7 @@ static void keyboard_keymap(void* data, MwLL self = data; (void)wl_keyboard; - if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL || self->wayland.type == MwLL_WAYLAND_LAYER_SURFACE) { assert(format == WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1); char* map_shm = (char*)mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); @@ -1133,6 +1133,21 @@ static void xdg_toplevel_icon_manager_v1_interface_destroy(struct _MwLLWayland* free(data->listener); } +static wayland_protocol_t* zwlr_layer_shell_v1_setup(MwU32 name, struct _MwLLWayland* wayland, wayland_protocol_t* data) { + wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); + + proto->context = wl_registry_bind(wayland->registry, name, &zwlr_layer_shell_v1_interface, 1); + proto->listener = NULL; + + return proto; +} + +static void zwlr_layer_shell_v1_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { + (void)wayland; + + // free(data); +} + /* Function for setting up the callbacks/structs that will be registered upon the relevant interfaces being found. */ void MwLLWaylandSetupCallbacks(struct _MwLLWayland* wayland) { /* Convience macro for adding the interface functions to the setup map */ @@ -1161,12 +1176,16 @@ void MwLLWaylandSetupCallbacks(struct _MwLLWayland* wayland) { WL_INTERFACE(zwp_pointer_constraints_v1); WL_INTERFACE(zwp_relative_pointer_manager_v1); WL_INTERFACE(xdg_wm_base); + WL_INTERFACE(zwlr_layer_shell_v1); /* Only used for layer surface, but we use it always if it's turned into a tool window */ if(wayland->type == MwLL_WAYLAND_TOPLEVEL) { WL_INTERFACE(wp_viewporter); WL_INTERFACE(zxdg_decoration_manager_v1); WL_INTERFACE(xdg_toplevel_icon_manager_v1); WL_INTERFACE(wl_subcompositor); } else if(wayland->type == MwLL_WAYLAND_POPUP) { + } else if(wayland->type == MwLL_WAYLAND_LAYER_SURFACE) { + WL_INTERFACE(wp_viewporter); + WL_INTERFACE(wl_subcompositor); } else { WL_INTERFACE(wl_subcompositor); } diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index d438ac6..0eb3caf 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -329,14 +329,14 @@ static void destroy_toplevel(MwLL r) { zxdg_decoration_manager_v1_destroy(dec->manager); } - wl_surface_destroy(r->wayland.framebuffer.surface); - - wl_compositor_destroy(r->wayland.compositor); - xdg_surface_destroy(r->wayland.toplevel->xdg_surface); xdg_toplevel_destroy(r->wayland.toplevel->xdg_top_level); + wl_surface_destroy(r->wayland.framebuffer.surface); + + wl_compositor_destroy(r->wayland.compositor); + xkb_keymap_unref(r->wayland.xkb_keymap); xkb_state_unref(r->wayland.xkb_state); @@ -345,7 +345,7 @@ static void destroy_toplevel(MwLL r) { free(r->wayland.toplevel); - wl_registry_destroy(r->wayland.registry); + // wl_registry_destroy(r->wayland.registry); // wl_display_disconnect(r->wayland.display); @@ -451,7 +451,6 @@ struct xdg_popup_listener popup_listener = { static void setup_popup(MwLL r, int x, int y, MwLL parent) { struct xdg_surface* xdg_surface; MwLL topmost_parent = r->wayland.parent; - MwU32 ver; r->wayland.type = MwLL_WAYLAND_POPUP; r->wayland.x = x; @@ -510,8 +509,6 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { xdg_surface, r->wayland.popup->xdg_positioner); - ver = wl_proxy_get_version((struct wl_proxy*)r->wayland.popup->xdg_popup); - xdg_popup_add_listener(r->wayland.popup->xdg_popup, &popup_listener, r); r->wayland.popup->xdg_surface_listener.configure = xdg_surface_configure; @@ -533,6 +530,120 @@ static void destroy_popup(MwLL r) { r->wayland.configured = MwFALSE; } +static void layer_shell_configure(void* data, + struct zwlr_layer_surface_v1* surface, + uint32_t serial, + uint32_t width, + uint32_t height) { + MwLL self = data; + zwlr_layer_surface_v1_ack_configure(surface, serial); + + self->wayland.x = 0; + self->wayland.y = 0; + self->wayland.ww = width; + self->wayland.wh = height; + + wl_surface_commit(self->wayland.framebuffer.surface); + + self->wayland.configured = MwTRUE; +}; + +static void layer_shell_done(void* data, + struct zwlr_layer_surface_v1* zwlr_layer_surface_v1) { + (void)data; + (void)zwlr_layer_surface_v1; + + printf("closed\n"); +}; + +static const struct zwlr_layer_surface_v1_listener layer_surface_listener = { + .configure = layer_shell_configure, + .closed = layer_shell_done, +}; + +/* Layer surface setup function */ +static void setup_layer_surface(MwLL r, int x, int y, int width, int height) { + wayland_protocol_t* layer_shell_protocol; + struct zwlr_layer_shell_v1* layer_shell; + r->wayland.type = MwLL_WAYLAND_LAYER_SURFACE; + r->wayland.layer_surface = malloc(sizeof(struct _MwLLWaylandLayerSurface)); + r->wayland.x = x; + r->wayland.y = y; + + MwLLWaylandSetupCallbacks(&r->wayland); + + /* Connect to the Wayland compositor */ + if(!r->wayland.display) { + r->wayland.display = wl_display_connect(NULL); + if(r->wayland.display == NULL) { + printf("wayland: failed to create display\n"); + raise(SIGTRAP); + return; + } + } + + /* Do a roundtrip to ensure all interfaces are setup. */ + r->wayland.registry = wl_display_get_registry(r->wayland.display); + wl_registry_add_listener(r->wayland.registry, &r->wayland.registry_listener, r); + if(wl_display_roundtrip(r->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; + } + + layer_shell_protocol = WAYLAND_GET_INTERFACE(r->wayland, zwlr_layer_shell_v1); + assert(layer_shell_protocol); + + layer_shell = layer_shell_protocol->context; + + r->wayland.xkb_context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); + + r->wayland.framebuffer.surface = wl_compositor_create_surface(r->wayland.compositor); + + r->wayland.layer_surface->surface = zwlr_layer_shell_v1_get_layer_surface(layer_shell, r->wayland.framebuffer.surface, NULL, 1, "milsko-surfaces"); + + zwlr_layer_surface_v1_set_size(r->wayland.layer_surface->surface, width, height); + + zwlr_layer_surface_v1_set_anchor(r->wayland.layer_surface->surface, + ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | + ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT | + ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP); + zwlr_layer_surface_v1_set_margin(r->wayland.layer_surface->surface, + y, 0, 0, x); + + zwlr_layer_surface_v1_add_listener(r->wayland.layer_surface->surface, &layer_surface_listener, r); + + zwlr_layer_surface_v1_set_keyboard_interactivity(r->wayland.layer_surface->surface, MwTRUE); + + /* Perform the initial commit and wait for the first configure event */ + wl_surface_commit(r->wayland.framebuffer.surface); + while(!r->wayland.configured) { + event_loop(r); + } +} + +/* Toplevel destroy function */ +static void destroy_layer_surface(MwLL r) { + if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { + zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(r->wayland, zxdg_decoration_manager_v1)->context; + zxdg_decoration_manager_v1_destroy(dec->manager); + } + + wl_surface_destroy(r->wayland.framebuffer.surface); + + wl_compositor_destroy(r->wayland.compositor); + + xkb_keymap_unref(r->wayland.xkb_keymap); + + xkb_state_unref(r->wayland.xkb_state); + + xkb_context_unref(r->wayland.xkb_context); + + wl_registry_destroy(r->wayland.registry); + + r->wayland.configured = MwFALSE; +} + static void clip(MwLL handle) { int i; int x, y, cx, cy, mx, my; @@ -613,7 +724,7 @@ static void wl_logger(const char* fmt, va_list args) { raise(SIGTRAP); } -static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int height, enum _MwLLWaylandType ty) { +static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int height, enum _MwLLWaylandType ty, MwBool can_do_layer_surface) { /* Wayland does not report global coordinates ever. Compositors are not even expected to have knowledge of this. */ r->common.coordinate_type = MwCOORDINATE_LOCAL; @@ -664,12 +775,19 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh } else { /* * We can't actually have a popup without a parent but this needs to be valid behavior. - * So we do a few things to "fake" a toplevel that looks like a popup. + * So we either make a wlr layer surface at this point, or just fake it with a borderless window. */ - setup_toplevel(r, x, y); - MwLLMakeBorderless(r, MwTRUE); + if(can_do_layer_surface) { + setup_layer_surface(r, x, y, width, height); + } else { + setup_toplevel(r, x, y); + MwLLMakeBorderless(r, MwTRUE); + } } break; + case MwLL_WAYLAND_LAYER_SURFACE: + setup_layer_surface(r, x, y, width, height); + break; } } @@ -729,7 +847,7 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { r->wayland.is_toplevel = parent == NULL; r->wayland.is_clipping = 0; - widget_setup(r, parent, x, y, width, height, MwLL_WAYLAND_UNKNOWN); + widget_setup(r, parent, x, y, width, height, MwLL_WAYLAND_UNKNOWN, MwFALSE); #ifdef USE_DBUS if(!parent && wl_call_tbl.has_dbus) { @@ -1627,14 +1745,18 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { } static void MwLLEndStateChangeImpl(MwLL handle) { - MwLL topmost_parent; + MwLL topmost_parent; + MwBool can_do_layer_surface = MwFALSE; WIDGET_CHECK(handle); - topmost_parent = handle->wayland.parent; + topmost_parent = handle->wayland.parent; + can_do_layer_surface = (WAYLAND_GET_INTERFACE(handle->wayland, zwlr_layer_shell_v1) != NULL); - if(topmost_parent) { - while(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL) { + while(topmost_parent) { + if(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL) { topmost_parent = topmost_parent->wayland.parent; + } else { + break; } } @@ -1650,11 +1772,14 @@ static void MwLLEndStateChangeImpl(MwLL handle) { case MwLL_WAYLAND_POPUP: destroy_popup(handle); break; + case MwLL_WAYLAND_LAYER_SURFACE: + destroy_layer_surface(handle); + break; } MwLLWaylandFlush(handle); - widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); + widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be, can_do_layer_surface); handle->wayland.is_toplevel = MwTRUE; @@ -1666,8 +1791,7 @@ static void MwLLEndStateChangeImpl(MwLL handle) { int i; for(i = 0; i < arrlen(w->children); i++) { if(w->children[i]->lowlevel->wayland.type == MwLL_WAYLAND_SUBLEVEL) { - MwLL child = w->children[i]->lowlevel; - printf("%p\n", child->wayland.sublevel->subcompositor); + MwLL child = w->children[i]->lowlevel; child->wayland.sublevel->xdg_surface = handle->wayland.popup->xdg_surface; wl_subsurface_destroy(child->wayland.sublevel->subsurface); MwLLWaylandFlush(handle); From 044b067f7fde1c0ddcc40f56aef90ba9bdb82580 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 15:19:25 -0700 Subject: [PATCH 043/119] several fixes. layer surfaces now work --- src/backend/wayland/interfaces.c | 2 +- src/backend/wayland/wayland.c | 152 ++++++++++++++++++++----------- 2 files changed, 100 insertions(+), 54 deletions(-) diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 0d9f6d6..2792772 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -655,7 +655,7 @@ static void keyboard_keymap(void* data, MwLL self = data; (void)wl_keyboard; - if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL || self->wayland.type == MwLL_WAYLAND_LAYER_SURFACE) { + if(!self->wayland.parent) { assert(format == WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1); char* map_shm = (char*)mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 0eb3caf..91153f6 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -126,9 +126,11 @@ static int event_loop(MwLL handle) { if(!poll(&fd, 1, timeout.tv_nsec)) { wl_display_cancel_read(wayland->display); - MwLLWaylandBufferUpdate(handle, &wayland->framebuffer); - if(wayland->type == MwLL_WAYLAND_TOPLEVEL) - MwLLWaylandBufferUpdate(handle, &wayland->backbuffer); + if(wayland->configured) { + MwLLWaylandBufferUpdate(handle, &wayland->framebuffer); + if(wayland->type == MwLL_WAYLAND_TOPLEVEL) + MwLLWaylandBufferUpdate(handle, &wayland->backbuffer); + } return 0; } wl_display_read_events(wayland->display); @@ -304,10 +306,11 @@ static void setup_toplevel(MwLL r, int x, int y) { /* Perform the initial commit and wait for the first configure event */ wl_surface_commit(r->wayland.backbuffer.surface); wl_surface_commit(r->wayland.framebuffer.surface); - while(!r->wayland.configured) { - event_loop(r); + if(wl_display_roundtrip(r->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; } - /* setup decorations if we can */ if(r->wayland.has_decorations) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(r->wayland, zxdg_decoration_manager_v1)->context; @@ -320,20 +323,25 @@ static void setup_toplevel(MwLL r, int x, int y) { } else { wl_subsurface_set_position(r->wayland.toplevel->ssurface, r->wayland.do_csd ? CSD_BORDER_FRAME_LEFT : 0, r->wayland.do_csd ? CSD_BORDER_FRAME_TOP : 0); } + + MwLLWaylandFramebufferSetup(&r->wayland); + MwLLWaylandBackbufferSetup(&r->wayland); } /* Toplevel destroy function */ static void destroy_toplevel(MwLL r) { if(shget(r->wayland.wl_protocol_map, zxdg_decoration_manager_v1_interface.name) != NULL) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(r->wayland, zxdg_decoration_manager_v1)->context; + zxdg_toplevel_decoration_v1_destroy(dec->decoration); zxdg_decoration_manager_v1_destroy(dec->manager); } - xdg_surface_destroy(r->wayland.toplevel->xdg_surface); + MwLLWaylandFramebufferDestroy(&r->wayland); + MwLLWaylandBackbufferDestroy(&r->wayland); xdg_toplevel_destroy(r->wayland.toplevel->xdg_top_level); - wl_surface_destroy(r->wayland.framebuffer.surface); + xdg_surface_destroy(r->wayland.toplevel->xdg_surface); wl_compositor_destroy(r->wayland.compositor); @@ -343,12 +351,25 @@ static void destroy_toplevel(MwLL r) { xkb_context_unref(r->wayland.xkb_context); + wl_pointer_destroy(r->wayland.pointer); + wl_keyboard_destroy(r->wayland.keyboard); + + if(r->common.user) { + MwWidget w = r->common.user; + int i; + for(i = 0; i < arrlen(w->children); i++) { + if(w->children[i]->lowlevel->wayland.type == MwLL_WAYLAND_SUBLEVEL) { + MwLL child = w->children[i]->lowlevel; + wl_subsurface_destroy(child->wayland.sublevel->subsurface); + child->wayland.sublevel->subsurface = NULL; + } + } + } + + wl_surface_destroy(r->wayland.framebuffer.surface); + free(r->wayland.toplevel); - // wl_registry_destroy(r->wayland.registry); - - // wl_display_disconnect(r->wayland.display); - r->wayland.configured = MwFALSE; } @@ -397,6 +418,9 @@ static void setup_sublevel(MwLL parent, MwLL r, int x, int y) { r->wayland.xkb_state = parent->wayland.xkb_state; r->wayland.configured = MwTRUE; + + MwLLWaylandFramebufferSetup(&r->wayland); + MwLLWaylandBackbufferSetup(&r->wayland); } /* Sublevel setup function */ @@ -449,15 +473,14 @@ struct xdg_popup_listener popup_listener = { /* Popup setup function */ static void setup_popup(MwLL r, int x, int y, MwLL parent) { - struct xdg_surface* xdg_surface; - MwLL topmost_parent = r->wayland.parent; + MwLL topmost_parent = r->wayland.parent; r->wayland.type = MwLL_WAYLAND_POPUP; r->wayland.x = x; r->wayland.y = y; r->wayland.popup = malloc(sizeof(struct _MwLLWaylandPopup)); - while(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL) { + while(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL && topmost_parent->wayland.type != MwLL_WAYLAND_LAYER_SURFACE) { topmost_parent = topmost_parent->wayland.parent; } if(!topmost_parent->wayland.has_decorations && topmost_parent->wayland.do_csd) { @@ -495,7 +518,6 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { r->wayland.popup->xdg_positioner, r->wayland.x, r->wayland.y, r->wayland.ww, r->wayland.wh); - xdg_surface = topmost_parent->wayland.toplevel->xdg_surface; r->wayland.xkb_keymap = topmost_parent->wayland.xkb_keymap; r->wayland.xkb_state = topmost_parent->wayland.xkb_state; @@ -504,15 +526,30 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { r->wayland.popup->xdg_surface = xdg_wm_base_get_xdg_surface(WAYLAND_GET_INTERFACE(r->wayland, xdg_wm_base)->context, r->wayland.framebuffer.surface); - r->wayland.popup->xdg_popup = xdg_surface_get_popup( - r->wayland.popup->xdg_surface, - xdg_surface, - r->wayland.popup->xdg_positioner); + if(topmost_parent->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + r->wayland.popup->xdg_popup = xdg_surface_get_popup( + r->wayland.popup->xdg_surface, + topmost_parent->wayland.toplevel->xdg_surface, + r->wayland.popup->xdg_positioner); + } else if(topmost_parent->wayland.type == MwLL_WAYLAND_LAYER_SURFACE) { + r->wayland.popup->xdg_popup = xdg_surface_get_popup( + r->wayland.popup->xdg_surface, NULL, + r->wayland.popup->xdg_positioner); + zwlr_layer_surface_v1_get_popup(topmost_parent->wayland.layer_surface->surface, r->wayland.popup->xdg_popup); + } xdg_popup_add_listener(r->wayland.popup->xdg_popup, &popup_listener, r); r->wayland.popup->xdg_surface_listener.configure = xdg_surface_configure; xdg_surface_add_listener(r->wayland.popup->xdg_surface, &r->wayland.popup->xdg_surface_listener, r); + + if(wl_display_roundtrip(r->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; + } + + MwLLWaylandFramebufferSetup(&r->wayland); } /* Popup destroy function */ @@ -538,14 +575,16 @@ static void layer_shell_configure(void* data, MwLL self = data; zwlr_layer_surface_v1_ack_configure(surface, serial); - self->wayland.x = 0; - self->wayland.y = 0; self->wayland.ww = width; self->wayland.wh = height; - wl_surface_commit(self->wayland.framebuffer.surface); - self->wayland.configured = MwTRUE; + + MwLLWaylandFramebufferSetup(&self->wayland); + MwLLWaylandRegionSetup(self); + MwLLDispatch(self, resize, NULL); + + wl_surface_commit(self->wayland.framebuffer.surface); }; static void layer_shell_done(void* data, @@ -600,25 +639,25 @@ static void setup_layer_surface(MwLL r, int x, int y, int width, int height) { r->wayland.framebuffer.surface = wl_compositor_create_surface(r->wayland.compositor); - r->wayland.layer_surface->surface = zwlr_layer_shell_v1_get_layer_surface(layer_shell, r->wayland.framebuffer.surface, NULL, 1, "milsko-surfaces"); + r->wayland.layer_surface->surface = zwlr_layer_shell_v1_get_layer_surface(layer_shell, r->wayland.framebuffer.surface, NULL, ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY, "milsko-surfaces"); zwlr_layer_surface_v1_set_size(r->wayland.layer_surface->surface, width, height); - - zwlr_layer_surface_v1_set_anchor(r->wayland.layer_surface->surface, - ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | - ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT | - ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP); zwlr_layer_surface_v1_set_margin(r->wayland.layer_surface->surface, y, 0, 0, x); + zwlr_layer_surface_v1_set_anchor(r->wayland.layer_surface->surface, ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT); + zwlr_layer_surface_v1_set_exclusive_zone(r->wayland.layer_surface->surface, 1); + zwlr_layer_surface_v1_set_keyboard_interactivity( + r->wayland.layer_surface->surface, ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND); zwlr_layer_surface_v1_add_listener(r->wayland.layer_surface->surface, &layer_surface_listener, r); - zwlr_layer_surface_v1_set_keyboard_interactivity(r->wayland.layer_surface->surface, MwTRUE); - /* Perform the initial commit and wait for the first configure event */ wl_surface_commit(r->wayland.framebuffer.surface); - while(!r->wayland.configured) { - event_loop(r); + + if(wl_display_roundtrip(r->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; } } @@ -724,7 +763,7 @@ static void wl_logger(const char* fmt, va_list args) { raise(SIGTRAP); } -static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int height, enum _MwLLWaylandType ty, MwBool can_do_layer_surface) { +static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int height, enum _MwLLWaylandType ty) { /* Wayland does not report global coordinates ever. Compositors are not even expected to have knowledge of this. */ r->common.coordinate_type = MwCOORDINATE_LOCAL; @@ -775,14 +814,11 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh } else { /* * We can't actually have a popup without a parent but this needs to be valid behavior. - * So we either make a wlr layer surface at this point, or just fake it with a borderless window. + * If we're down this code path, though, it means we can't create a layer surface. + * So we just fake it with a borderless window. */ - if(can_do_layer_surface) { - setup_layer_surface(r, x, y, width, height); - } else { - setup_toplevel(r, x, y); - MwLLMakeBorderless(r, MwTRUE); - } + setup_toplevel(r, x, y); + MwLLMakeBorderless(r, MwTRUE); } break; case MwLL_WAYLAND_LAYER_SURFACE: @@ -793,9 +829,6 @@ static void widget_setup(MwLL r, MwLL parent, int x, int y, int width, int heigh WIDGET_CHECK(r); - MwLLWaylandFramebufferSetup(&r->wayland); - MwLLWaylandBackbufferSetup(&r->wayland); - r->wayland.region = wl_compositor_create_region(r->wayland.compositor); r->wayland.o_region = wl_compositor_create_region(r->wayland.compositor); MwLLWaylandRegionSetup(r); @@ -847,7 +880,7 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { r->wayland.is_toplevel = parent == NULL; r->wayland.is_clipping = 0; - widget_setup(r, parent, x, y, width, height, MwLL_WAYLAND_UNKNOWN, MwFALSE); + widget_setup(r, parent, x, y, width, height, MwLL_WAYLAND_UNKNOWN); #ifdef USE_DBUS if(!parent && wl_call_tbl.has_dbus) { @@ -1716,9 +1749,17 @@ static void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) { } static void MwLLMakeToolWindowImpl(MwLL handle) { + MwBool can_do_layer_surface = MwFALSE; + WIDGET_CHECK(handle); - handle->wayland.type_to_be = MwLL_WAYLAND_POPUP; + can_do_layer_surface = (WAYLAND_GET_INTERFACE(handle->wayland, zwlr_layer_shell_v1) != NULL); + + if(!handle->wayland.parent && can_do_layer_surface) { + handle->wayland.type_to_be = MwLL_WAYLAND_LAYER_SURFACE; + } else { + handle->wayland.type_to_be = MwLL_WAYLAND_POPUP; + } } static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { @@ -1745,12 +1786,10 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { } static void MwLLEndStateChangeImpl(MwLL handle) { - MwLL topmost_parent; - MwBool can_do_layer_surface = MwFALSE; + MwLL topmost_parent; WIDGET_CHECK(handle); - topmost_parent = handle->wayland.parent; - can_do_layer_surface = (WAYLAND_GET_INTERFACE(handle->wayland, zwlr_layer_shell_v1) != NULL); + topmost_parent = handle->wayland.parent; while(topmost_parent) { if(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL) { @@ -1777,9 +1816,15 @@ static void MwLLEndStateChangeImpl(MwLL handle) { break; } + if(wl_display_roundtrip(handle->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; + } + MwLLWaylandFlush(handle); - widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be, can_do_layer_surface); + widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); handle->wayland.is_toplevel = MwTRUE; @@ -1793,7 +1838,8 @@ static void MwLLEndStateChangeImpl(MwLL handle) { if(w->children[i]->lowlevel->wayland.type == MwLL_WAYLAND_SUBLEVEL) { MwLL child = w->children[i]->lowlevel; child->wayland.sublevel->xdg_surface = handle->wayland.popup->xdg_surface; - wl_subsurface_destroy(child->wayland.sublevel->subsurface); + if(child->wayland.sublevel->subsurface) + wl_subsurface_destroy(child->wayland.sublevel->subsurface); MwLLWaylandFlush(handle); child->wayland.sublevel->subsurface = wl_subcompositor_get_subsurface(child->wayland.sublevel->subcompositor, child->wayland.framebuffer.surface, handle->wayland.framebuffer.surface); From 070ee6025bc1567804cbab54c2a288054d27ccc0 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 15:34:59 -0700 Subject: [PATCH 044/119] fix wayland warnings --- src/backend/wayland/interfaces.c | 26 ++++++++++++++++++++------ src/backend/wayland/region.c | 5 ++--- src/backend/wayland/wayland.c | 20 ++++++++++++++++---- 3 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 2792772..57c30e3 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -314,6 +314,7 @@ struct zwp_primary_selection_source_v1_listener zwp_primary_selection_source_v1_ /* wl_data_device_manager setup function */ static wayland_protocol_t* wl_data_device_manager_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; wayland->clipboard_manager.wl = wl_registry_bind(wayland->registry, name, &wl_data_device_manager_interface, 2); wayland->clipboard_source.wl = wl_data_device_manager_create_data_source(wayland->clipboard_manager.wl); @@ -347,6 +348,7 @@ static void wl_data_device_manager_interface_destroy(struct _MwLLWayland* waylan /* zwp_primary_selection_device_manager_v1 setup function */ static wayland_protocol_t* zwp_primary_selection_device_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; wayland->clipboard_manager.zwp = wl_registry_bind(wayland->registry, name, &zwp_primary_selection_device_manager_v1_interface, 1); wayland->clipboard_source.zwp = zwp_primary_selection_device_manager_v1_create_source(wayland->clipboard_manager.zwp); @@ -375,6 +377,7 @@ static void zwp_primary_selection_device_manager_v1_interface_destroy(struct _Mw /* zwp_primary_selection_device_manager_v1 setup function */ static wayland_protocol_t* zwp_pointer_constraints_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; wayland->pointer_constraints = wl_registry_bind(wayland->registry, name, &zwp_pointer_constraints_v1_interface, 1); return NULL; } @@ -454,6 +457,7 @@ static void xdg_borderless_step_mdown(MwLL self, MwMouse p, MwU32 serial) { }; } static void xdg_borderless_step_mup(MwLL self, MwMouse p, MwU32 serial) { + (void)serial; if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL && self->wayland.backbuffer.surface == curSurface) { if(p.point.y <= CSD_BORDER_FRAME_TOP) { if(p.point.x >= CSD_BORDER_FRAME_LEFT && p.point.x <= CSD_BORDER_FRAME_LEFT + 18) { @@ -508,6 +512,7 @@ struct zwp_relative_pointer_v1_listener MwLLWaylandRelativePointerListener = /* zwp_primary_selection_device_manager_v1 setup function */ static wayland_protocol_t* zwp_relative_pointer_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; wayland->relative_pointer_manager = wl_registry_bind(wayland->registry, name, &zwp_relative_pointer_manager_v1_interface, 1); return NULL; } @@ -1016,6 +1021,7 @@ static void wl_seat_interface_destroy(struct _MwLLWayland* wayland, wayland_prot /* wl_output setup function */ static wayland_protocol_t* wl_output_setup(MwU32 name, MwLL ll, MwU32 version) { + (void)version; ll->wayland.output = wl_registry_bind(ll->wayland.registry, name, &wl_output_interface, 1); wl_output_add_listener(ll->wayland.output, &output_listener, ll); @@ -1029,6 +1035,7 @@ static void wl_output_interface_destroy(struct _MwLLWayland* wayland, wayland_pr /* wl_compositor setup function */ static wayland_protocol_t* wl_compositor_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; wayland->compositor = wl_registry_bind(wayland->registry, name, &wl_compositor_interface, 1); return NULL; @@ -1041,6 +1048,7 @@ static void wl_compositor_interface_destroy(struct _MwLLWayland* wayland, waylan /* wl_subcompositor setup function */ static wayland_protocol_t* wl_subcompositor_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; if(wayland->type == MwLL_WAYLAND_TOPLEVEL) { wayland->toplevel->scompositor = wl_registry_bind(wayland->registry, name, &wl_subcompositor_interface, 1); } else { @@ -1058,7 +1066,8 @@ static void wl_subcompositor_interface_destroy(struct _MwLLWayland* wayland, way /* xdg_wm_base setup function */ static wayland_protocol_t* xdg_wm_base_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); - proto->listener = malloc(sizeof(struct xdg_wm_base_listener)); + (void)version; + proto->listener = malloc(sizeof(struct xdg_wm_base_listener)); ((struct xdg_wm_base_listener*)proto->listener)->ping = xdg_wm_base_ping; @@ -1076,7 +1085,8 @@ static void xdg_wm_base_interface_destroy(struct _MwLLWayland* wayland, wayland_ /* xdg_wm_base setup function */ static wayland_protocol_t* wp_viewporter_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); - proto->context = wl_registry_bind(wayland->registry, name, &wp_viewporter_interface, 1); + (void)version; + proto->context = wl_registry_bind(wayland->registry, name, &wp_viewporter_interface, 1); return proto; } @@ -1090,7 +1100,8 @@ static void wp_viewporter_interface_destroy(struct _MwLLWayland* wayland, waylan static wayland_protocol_t* zxdg_decoration_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); zxdg_decoration_manager_v1_context_t* ctx = malloc(sizeof(zxdg_decoration_manager_v1_context_t)); - proto->listener = NULL; + (void)version; + proto->listener = NULL; ctx->manager = wl_registry_bind(wayland->registry, name, &zxdg_decoration_manager_v1_interface, 1); ; @@ -1107,6 +1118,7 @@ static void zxdg_decoration_manager_v1_interface_destroy(struct _MwLLWayland* wa /* wl_shm setup function */ static wayland_protocol_t* wl_shm_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { + (void)version; wayland->framebuffer.shm = wl_registry_bind(wayland->registry, name, &wl_shm_interface, 1); wayland->backbuffer.shm = wl_registry_bind(wayland->registry, name, &wl_shm_interface, 1); wayland->cursor.shm = wl_registry_bind(wayland->registry, name, &wl_shm_interface, 1); @@ -1122,6 +1134,8 @@ static void wl_shm_interface_destroy(struct _MwLLWayland* wayland, wayland_proto static wayland_protocol_t* xdg_toplevel_icon_manager_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); + (void)version; + proto->context = wl_registry_bind(wayland->registry, name, &xdg_toplevel_icon_manager_v1_interface, 1); proto->listener = NULL; @@ -1133,10 +1147,10 @@ static void xdg_toplevel_icon_manager_v1_interface_destroy(struct _MwLLWayland* free(data->listener); } -static wayland_protocol_t* zwlr_layer_shell_v1_setup(MwU32 name, struct _MwLLWayland* wayland, wayland_protocol_t* data) { +static wayland_protocol_t* zwlr_layer_shell_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { wayland_protocol_t* proto = malloc(sizeof(wayland_protocol_t)); - proto->context = wl_registry_bind(wayland->registry, name, &zwlr_layer_shell_v1_interface, 1); + proto->context = wl_registry_bind(wayland->registry, name, &zwlr_layer_shell_v1_interface, version); proto->listener = NULL; return proto; @@ -1145,7 +1159,7 @@ static wayland_protocol_t* zwlr_layer_shell_v1_setup(MwU32 name, struct _MwLLWay static void zwlr_layer_shell_v1_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { (void)wayland; - // free(data); + free(data); } /* Function for setting up the callbacks/structs that will be registered upon the relevant interfaces being found. */ diff --git a/src/backend/wayland/region.c b/src/backend/wayland/region.c index 83acdbe..4b6a5ae 100644 --- a/src/backend/wayland/region.c +++ b/src/backend/wayland/region.c @@ -7,9 +7,8 @@ void MwLLWaylandRegionInvalidate(MwLL handle) { wl_region_subtract(handle->wayland.region, 0, 0, handle->wayland.ww, handle->wayland.wh); } void MwLLWaylandRegionSetup(MwLL handle) { - MwLL parent = handle->wayland.parent; - int width = (handle->wayland.clipping_rect.width == 0) ? handle->wayland.ww : handle->wayland.clipping_rect.width; - int height = (handle->wayland.clipping_rect.height == 0) ? handle->wayland.wh : handle->wayland.clipping_rect.height; + int width = (handle->wayland.clipping_rect.width == 0) ? handle->wayland.ww : handle->wayland.clipping_rect.width; + int height = (handle->wayland.clipping_rect.height == 0) ? handle->wayland.wh : handle->wayland.clipping_rect.height; if(!handle->wayland.has_decorations && handle->wayland.do_csd && handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { width += CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 91153f6..749122a 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -460,6 +460,7 @@ static void popup_repositioned(void* data, struct xdg_popup* xdg_popup, uint32_t token) { MwLL self = data; + (void)xdg_popup; xdg_surface_ack_configure(self->wayland.popup->xdg_surface, token); }; @@ -987,15 +988,26 @@ static void MwLLSetXYImpl(MwLL handle, int x, int y) { MwLLWaylandRegionInvalidate(handle); handle->wayland.x = x; handle->wayland.y = y; - if(handle->wayland.type == MwLL_WAYLAND_SUBLEVEL) { - wl_subsurface_set_position(handle->wayland.sublevel->subsurface, x, y); - } - if(handle->wayland.type == MwLL_WAYLAND_POPUP) { + switch(handle->wayland.type) { + case MwLL_WAYLAND_TOPLEVEL: + /* toplevels cannot be moved */ + break; + case MwLL_WAYLAND_SUBLEVEL: + wl_subsurface_set_position(handle->wayland.sublevel->subsurface, x, y); + break; + case MwLL_WAYLAND_POPUP: xdg_positioner_set_anchor_rect(handle->wayland.popup->xdg_positioner, handle->wayland.parent->wayland.x, handle->wayland.parent->wayland.y, handle->wayland.ww, handle->wayland.wh); xdg_positioner_set_offset(handle->wayland.popup->xdg_positioner, x, y); xdg_popup_reposition(handle->wayland.popup->xdg_popup, handle->wayland.popup->xdg_positioner, 0); xdg_surface_set_window_geometry(handle->wayland.popup->xdg_surface, 0, 0, handle->wayland.ww, handle->wayland.wh); + break; + case MwLL_WAYLAND_LAYER_SURFACE: + zwlr_layer_surface_v1_set_margin(handle->wayland.layer_surface->surface, + y, 0, 0, x); + break; + case MwLL_WAYLAND_UNKNOWN: + break; } MwLLWaylandRegionSetup(handle); From 53878b08ee256ceea78389ac24643eaef3016bcb Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 15:55:11 -0700 Subject: [PATCH 045/119] fix cmake --- CMakeLists.txt | 28 +++++++++++++++++++++++++++- src/backend/wayland/wayland.c | 26 ++++++++++++++++---------- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f12566..6277f12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -197,7 +197,32 @@ if(MW_USE_WAYLAND) ) endfunction() - + function(scan_wayland_protocol_from_file proto file) + SET(proto_c ${CMAKE_CURRENT_SOURCE_DIR}/src/backend/wayland/wayland-${proto}-protocol.c) + execute_process( + COMMAND wayland-scanner private-code ${CMAKE_CURRENT_SOURCE_DIR}/resource/wayland/${file} ${proto_c} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE WAYLAND_SCANNER_OUTPUT + ERROR_VARIABLE WAYLAND_SCANNER_ERROR + ECHO_OUTPUT_VARIABLE + ECHO_ERROR_VARIABLE + COMMAND_ECHO STDOUT + ) + target_sources( + Mw + PRIVATE + ${proto_c} + ) + execute_process( + COMMAND wayland-scanner client-header ${CMAKE_CURRENT_SOURCE_DIR}/resource/wayland/${file} ${CMAKE_CURRENT_SOURCE_DIR}/include/Mw/LowLevel/Wayland/${proto}-client-protocol.h + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE WAYLAND_SCANNER_OUTPUT + ERROR_VARIABLE WAYLAND_SCANNER_ERROR + ECHO_OUTPUT_VARIABLE + ECHO_ERROR_VARIABLE + COMMAND_ECHO STDOUT + ) + endfunction() check_include_files(wayland-client.h HAVE_WL_H) check_include_files(xkbcommon/xkbcommon.h HAVE_XKBCOMMON_H) @@ -215,6 +240,7 @@ if(MW_USE_WAYLAND) scan_wayland_protocol("unstable" "primary-selection" "-unstable-v1") scan_wayland_protocol("unstable" "pointer-constraints" "-unstable-v1") scan_wayland_protocol("unstable" "relative-pointer" "-unstable-v1") + scan_wayland_protocol_from_file("wlr-layer-shell" "wlr-layer-shell-unstable-v1.xml") target_sources( Mw diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 749122a..948a7bf 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -234,12 +234,14 @@ static void xdg_surface_configure( } void MwLLWaylandBufferUpdate(MwLL self, struct _MwLLWaylandShmBuffer* buffer) { - memcpy(buffer->buf, buffer->buf_back, buffer->buf_size); - if(buffer->surface) { - // Yes this is needed every time, it's how we fix weston. - if(self->wayland.configured) - wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0); - wl_surface_commit(buffer->surface); + if(self->wayland.configured) { + memcpy(buffer->buf, buffer->buf_back, buffer->buf_size); + if(buffer->surface) { + // Yes this is needed every time, it's how we fix weston. + if(self->wayland.configured) + wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0); + wl_surface_commit(buffer->surface); + } } } @@ -306,11 +308,15 @@ static void setup_toplevel(MwLL r, int x, int y) { /* Perform the initial commit and wait for the first configure event */ wl_surface_commit(r->wayland.backbuffer.surface); wl_surface_commit(r->wayland.framebuffer.surface); - if(wl_display_roundtrip(r->wayland.display) == -1) { - printf("roundtrip failed\n"); - raise(SIGTRAP); - return; + + while(!r->wayland.configured) { + if(wl_display_roundtrip(r->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; + } } + /* setup decorations if we can */ if(r->wayland.has_decorations) { zxdg_decoration_manager_v1_context_t* dec = WAYLAND_GET_INTERFACE(r->wayland, zxdg_decoration_manager_v1)->context; From 14d010f9a25022515d1b2a062543ad5dd1814d34 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 16:00:39 -0700 Subject: [PATCH 046/119] wayland: have MwLLEndStateChange use the right x/y when not detaching --- src/backend/wayland/wayland.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 948a7bf..2ffa1c6 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1805,8 +1805,12 @@ static void MwLLBeginStateChangeImpl(MwLL handle) { static void MwLLEndStateChangeImpl(MwLL handle) { MwLL topmost_parent; + int x, y; WIDGET_CHECK(handle); + x = handle->wayland.detatching ? handle->wayland.detach_point.x : handle->wayland.x; + y = handle->wayland.detatching ? handle->wayland.detach_point.y : handle->wayland.y; + topmost_parent = handle->wayland.parent; while(topmost_parent) { @@ -1842,7 +1846,7 @@ static void MwLLEndStateChangeImpl(MwLL handle) { MwLLWaylandFlush(handle); - widget_setup(handle, handle->wayland.parent, handle->wayland.detach_point.x, handle->wayland.detach_point.y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); + widget_setup(handle, handle->wayland.parent, x, y, handle->wayland.ww, handle->wayland.wh, handle->wayland.type_to_be); handle->wayland.is_toplevel = MwTRUE; From c2bb601311d1bec227b19298c072b7447d6038d2 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 21:45:30 -0700 Subject: [PATCH 047/119] seperate wayland's cairo functionality into a backend that can be used seperately --- CMakeLists.txt | 1 + include/Mw/LowLevel.h | 4 +- include/Mw/LowLevel/Cairo.h | 229 +++++++++++++++++++++++++++++ include/Mw/LowLevel/Wayland.h | 163 ++------------------- pl/rules.pl | 1 + src/backend/cairo.c | 266 ++++++++++++++++++++++++++++++++++ src/backend/wayland/buffer.c | 12 +- src/backend/wayland/wayland.c | 164 ++++++--------------- src/core.c | 8 +- 9 files changed, 563 insertions(+), 285 deletions(-) create mode 100644 include/Mw/LowLevel/Cairo.h create mode 100644 src/backend/cairo.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 6277f12..2f6d830 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -245,6 +245,7 @@ if(MW_USE_WAYLAND) target_sources( Mw PRIVATE + src/backend/cairo.c src/backend/wayland/wayland.c src/backend/wayland/buffer.c src/backend/wayland/interfaces.c diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 2ba2265..54f1b89 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -132,6 +132,7 @@ union _MwLL { #endif #ifdef USE_WAYLAND struct _MwLLWayland wayland; + struct _MwLLCairo cairo; #endif #ifdef USE_COCOA struct _MwLLCocoa cocoa; @@ -153,7 +154,7 @@ union _MwLLColor { struct _MwLLGDIColor gdi; #endif #ifdef USE_WAYLAND - struct _MwLLWaylandColor wayland; + struct _MwLLCairoColor wayland; #endif #ifdef USE_COCOA struct _MwLLCocoaColor cocoa; @@ -173,6 +174,7 @@ union _MwLLPixmap { #endif #ifdef USE_WAYLAND struct _MwLLWaylandPixmap wayland; + struct _MwLLCairoPixmap cairo; /* same structure but we do this for code clarity */ #endif #ifdef USE_COCOA struct _MwLLCocoaPixmap cocoa; diff --git a/include/Mw/LowLevel/Cairo.h b/include/Mw/LowLevel/Cairo.h new file mode 100644 index 0000000..dd2cfa3 --- /dev/null +++ b/include/Mw/LowLevel/Cairo.h @@ -0,0 +1,229 @@ +/*! + * @file Mw/LowLevel/Cairo.h + * @brief Cairo Backend + * @warning This is used MEGA internally. + */ +#ifndef __MW_LOWLEVEL_CAIRO_H__ +#define __MW_LOWLEVEL_CAIRO_H__ + +#include +#include +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +MWDECL int MwLLCairoCallInit(void); + +#ifdef __cplusplus +} +#endif + +#define CSD_BORDER_FRAME_LEFT 5 +#define CSD_BORDER_FRAME_RIGHT 5 +#define CSD_BORDER_FRAME_TOP 23 +#define CSD_BORDER_FRAME_BOTTOM 4 + +typedef struct cairo_call_table { + void* cairo_lib; + + void (*cairo_set_line_width)(cairo_t* cr, + double width); + void (*cairo_scale)(cairo_t* cr, + double sx, + double sy); + cairo_t* (*cairo_create)(cairo_surface_t* target); + void (*cairo_move_to)(cairo_t* cr, + double x, + double y); + + void (*cairo_rectangle)(cairo_t* cr, + double x, + double y, + double width, + double height); + void (*cairo_new_path)(cairo_t* cr); + void (*cairo_set_line_cap)(cairo_t* cr, + cairo_line_cap_t line_cap); + void (*cairo_set_source_rgba)(cairo_t* cr, + double red, + double green, + double blue, + double alpha); + void (*cairo_set_source_rgb)(cairo_t* cr, + double red, + double green, + double blue); + void (*cairo_reset_clip)(cairo_t* cr); + unsigned char* (*cairo_image_surface_get_data)(cairo_surface_t* surface); + void (*cairo_line_to)(cairo_t* cr, + double x, + double y); + cairo_status_t (*cairo_surface_write_to_png)(cairo_surface_t* surface, const char* filename); + void (*cairo_surface_destroy)(cairo_surface_t* surface); + cairo_surface_t* (*cairo_image_surface_create_for_data)(unsigned char* data, + cairo_format_t format, + int width, + int height, + int stride); + cairo_surface_t* (*cairo_image_surface_create)(cairo_format_t format, + int width, + int height); + void (*cairo_destroy)(cairo_t* cr); + cairo_pattern_t* (*cairo_get_source)(cairo_t* cr); + void (*cairo_close_path)(cairo_t* cr); + void (*cairo_paint)(cairo_t* cr); + void (*cairo_surface_flush)(cairo_surface_t* surface); + void (*cairo_clip)(cairo_t* cr); + void (*cairo_save)(cairo_t* cr); + void (*cairo_restore)(cairo_t* cr); + void (*cairo_surface_mark_dirty)(cairo_surface_t* surface); + void (*cairo_stroke)(cairo_t* cr); + void (*cairo_set_source_surface)(cairo_t* cr, + cairo_surface_t* surface, + double x, + double y); + void (*cairo_fill)(cairo_t* cr); + void (*cairo_pattern_set_filter)(cairo_pattern_t* pattern, + cairo_filter_t filter); + void (*cairo_set_antialias)(cairo_t*, cairo_antialias_t); + void (*cairo_set_operator)(cairo_t* cr, cairo_operator_t op); + +} cairo_call_table_t; + +extern cairo_call_table_t cairo_call_tbl; + +/* defined inline right here so that it doesn't conflict with the other macros */ +MwInline int cairo_load_funcs() { +#ifdef __APPLE__ + cairo_call_tbl.cairo_lib = MwDynamicOpen("libcairo.dylib"); +#else + cairo_call_tbl.cairo_lib = MwDynamicOpen("libcairo.so"); +#endif + if(!cairo_call_tbl.cairo_lib) { + printf("(libcairo not found, cannot use Wayland or Cairo backend.)\n"); + return 1; + } + +#define CAIRO_FUNC(x) \ + cairo_call_tbl.x = MwDynamicSymbol(cairo_call_tbl.cairo_lib, #x); \ + if(!cairo_call_tbl.x) { \ + printf("WARNING: Could use Wayland/Cairo backend if " #x " was not found. Do you have libcairo?\n"); \ + return 1; \ + }; + + CAIRO_FUNC(cairo_set_line_width); + CAIRO_FUNC(cairo_scale); + CAIRO_FUNC(cairo_create); + CAIRO_FUNC(cairo_move_to); + CAIRO_FUNC(cairo_rectangle); + CAIRO_FUNC(cairo_new_path); + CAIRO_FUNC(cairo_set_line_cap); + CAIRO_FUNC(cairo_set_antialias); + CAIRO_FUNC(cairo_set_source_rgba); + CAIRO_FUNC(cairo_set_source_rgb); + CAIRO_FUNC(cairo_reset_clip); + CAIRO_FUNC(cairo_image_surface_get_data); + CAIRO_FUNC(cairo_line_to); + CAIRO_FUNC(cairo_surface_write_to_png); + CAIRO_FUNC(cairo_surface_destroy); + CAIRO_FUNC(cairo_image_surface_create_for_data); + CAIRO_FUNC(cairo_image_surface_create); + CAIRO_FUNC(cairo_destroy); + CAIRO_FUNC(cairo_get_source); + CAIRO_FUNC(cairo_close_path); + CAIRO_FUNC(cairo_paint); + CAIRO_FUNC(cairo_surface_flush); + CAIRO_FUNC(cairo_clip); + CAIRO_FUNC(cairo_save); + CAIRO_FUNC(cairo_restore); + CAIRO_FUNC(cairo_surface_mark_dirty); + CAIRO_FUNC(cairo_stroke); + CAIRO_FUNC(cairo_set_source_surface); + CAIRO_FUNC(cairo_fill); + CAIRO_FUNC(cairo_set_operator); + CAIRO_FUNC(cairo_pattern_set_filter); +#undef CAIRO_FUNC + + return 0; +} + +#define cairo_set_line_width cairo_call_tbl.cairo_set_line_width +#define cairo_scale cairo_call_tbl.cairo_scale +#define cairo_create cairo_call_tbl.cairo_create +#define cairo_move_to cairo_call_tbl.cairo_move_to +#define cairo_rectangle cairo_call_tbl.cairo_rectangle +#define cairo_new_path cairo_call_tbl.cairo_new_path +#define cairo_set_line_cap cairo_call_tbl.cairo_set_line_cap +#define cairo_set_antialias cairo_call_tbl.cairo_set_antialias +#define cairo_set_source_rgba cairo_call_tbl.cairo_set_source_rgba +#define cairo_set_source_rgb cairo_call_tbl.cairo_set_source_rgb +#define cairo_reset_clip cairo_call_tbl.cairo_reset_clip +#define cairo_image_surface_get_data cairo_call_tbl.cairo_image_surface_get_data +#define cairo_line_to cairo_call_tbl.cairo_line_to +#define cairo_surface_write_to_png cairo_call_tbl.cairo_surface_write_to_png +#define cairo_surface_destroy cairo_call_tbl.cairo_surface_destroy +#define cairo_image_surface_create_for_data cairo_call_tbl.cairo_image_surface_create_for_data +#define cairo_image_surface_create cairo_call_tbl.cairo_image_surface_create +#define cairo_destroy cairo_call_tbl.cairo_destroy +#define cairo_get_source cairo_call_tbl.cairo_get_source +#define cairo_close_path cairo_call_tbl.cairo_close_path +#define cairo_paint cairo_call_tbl.cairo_paint +#define cairo_surface_flush cairo_call_tbl.cairo_surface_flush +#define cairo_clip cairo_call_tbl.cairo_clip +#define cairo_save cairo_call_tbl.cairo_save +#define cairo_restore cairo_call_tbl.cairo_restore +#define cairo_surface_mark_dirty cairo_call_tbl.cairo_surface_mark_dirty +#define cairo_stroke cairo_call_tbl.cairo_stroke +#define cairo_set_source_surface cairo_call_tbl.cairo_set_source_surface +#define cairo_fill cairo_call_tbl.cairo_fill +#define cairo_set_operator cairo_call_tbl.cairo_set_operator +#define cairo_pattern_set_filter cairo_call_tbl.cairo_pattern_set_filter + +struct _MwLLCairo { + struct _MwLLCommon common; + + cairo_surface_t* front_cs; + cairo_surface_t* back_cs; + cairo_t* front_cairo; + cairo_t* back_cairo; + /* The cairo to actually use for draw operations. Typically is front_cairo, but wayland's MwLLBeginDraw can change this to the back_cairo so it can be used to draw window decorations. */ + cairo_t* selected_cairo; + + int x; + int y; + int width; + int height; + + MwBool toplevel; + MwLL parent; +}; + +struct _MwLLCairoColor { + struct _MwLLCommonColor common; +}; + +struct _MwLLCairoPixmap { + struct _MwLLCommonPixmap common; + + cairo_surface_t* cs; +}; + +void MwLLCairoFrontSetup(struct _MwLLCairo* cairo, MwU8* data, MwU32 width, MwU32 height); +void MwLLCairoBackSetup(struct _MwLLCairo* cairo, MwU8* data, MwU32 width, MwU32 height); +void MwLLCairoFrontDestroy(struct _MwLLCairo* cairo); +void MwLLCairoBackDestroy(struct _MwLLCairo* cairo); +void MwLLCairoPolygon(struct _MwLLCairo handle, MwPoint* points, int points_count, MwLLColor color); +void MwLLCairoLine(struct _MwLLCairo handle, MwPoint* points, MwLLColor color); +MwLLPixmap MwLLCairoCreatePixmap(struct _MwLLCairo handle, unsigned char* data, int width, int height); +void MwLLCairoPixmapUpdate(MwLLPixmap handle); +void MwLLCairoDestroyPixmap(MwLLPixmap pixmap); +void MwLLCairoDrawPixmap(struct _MwLLCairo handle, MwRect* rect, MwLLPixmap pixmap); + +void MwLLCairoDestroy(struct _MwLLCairo handle); + +#endif diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index c59f063..21bbc28 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -11,8 +11,9 @@ #include #include +#include + #include -#include #include #ifdef __cplusplus @@ -42,7 +43,6 @@ struct _MwLLWayland; typedef struct wayland_call_table { void* lib; void* xkb_lib; - void* cairo_lib; #ifdef USE_DBUS MwLLDBusFuncTable dbus; MwBool has_dbus; @@ -79,67 +79,6 @@ typedef struct wayland_call_table { xkb_layout_index_t (*xkb_state_key_get_layout)(struct xkb_state* state, xkb_keycode_t key); void (*xkb_keymap_unref)(struct xkb_keymap* keymap); - void (*cairo_set_line_width)(cairo_t* cr, - double width); - void (*cairo_scale)(cairo_t* cr, - double sx, - double sy); - cairo_t* (*cairo_create)(cairo_surface_t* target); - void (*cairo_move_to)(cairo_t* cr, - double x, - double y); - - void (*cairo_rectangle)(cairo_t* cr, - double x, - double y, - double width, - double height); - void (*cairo_new_path)(cairo_t* cr); - void (*cairo_set_line_cap)(cairo_t* cr, - cairo_line_cap_t line_cap); - void (*cairo_set_source_rgba)(cairo_t* cr, - double red, - double green, - double blue, - double alpha); - void (*cairo_set_source_rgb)(cairo_t* cr, - double red, - double green, - double blue); - void (*cairo_reset_clip)(cairo_t* cr); - unsigned char* (*cairo_image_surface_get_data)(cairo_surface_t* surface); - void (*cairo_line_to)(cairo_t* cr, - double x, - double y); - void (*cairo_surface_destroy)(cairo_surface_t* surface); - cairo_surface_t* (*cairo_image_surface_create_for_data)(unsigned char* data, - cairo_format_t format, - int width, - int height, - int stride); - cairo_surface_t* (*cairo_image_surface_create)(cairo_format_t format, - int width, - int height); - void (*cairo_destroy)(cairo_t* cr); - cairo_pattern_t* (*cairo_get_source)(cairo_t* cr); - void (*cairo_close_path)(cairo_t* cr); - void (*cairo_paint)(cairo_t* cr); - void (*cairo_surface_flush)(cairo_surface_t* surface); - void (*cairo_clip)(cairo_t* cr); - void (*cairo_save)(cairo_t* cr); - void (*cairo_restore)(cairo_t* cr); - void (*cairo_surface_mark_dirty)(cairo_surface_t* surface); - void (*cairo_stroke)(cairo_t* cr); - void (*cairo_set_source_surface)(cairo_t* cr, - cairo_surface_t* surface, - double x, - double y); - void (*cairo_fill)(cairo_t* cr); - void (*cairo_pattern_set_filter)(cairo_pattern_t* pattern, - cairo_filter_t filter); - void (*cairo_set_antialias)(cairo_t*, cairo_antialias_t); - void (*cairo_set_operator)(cairo_t* cr, cairo_operator_t op); - } wayland_call_table_t; extern wayland_call_table_t wl_call_tbl; @@ -149,6 +88,8 @@ extern MwBool MwWaylandVulkan; #define MwWaylandVulkan 0 #endif +MWDECL MwBool MwWaylandCairoOnly; + /* defined inline right here so that it doesn't conflict with the other macros */ MwInline int wayland_load_funcs() { #ifdef __APPLE__ @@ -169,15 +110,7 @@ MwInline int wayland_load_funcs() { printf("(libxkbcommon not found, cannot use Wayland backend.)\n"); return 1; } -#ifdef __APPLE__ - wl_call_tbl.cairo_lib = MwDynamicOpen("libcairo.dylib"); -#else - wl_call_tbl.cairo_lib = MwDynamicOpen("libcairo.so"); -#endif - if(!wl_call_tbl.cairo_lib) { - printf("(libcairo not found, cannot use Wayland backend.)\n"); - return 1; - } + #define WAYLAND_FUNC(x) \ wl_call_tbl.x = MwDynamicSymbol(wl_call_tbl.lib, #x); \ if(!wl_call_tbl.x) { \ @@ -223,44 +156,9 @@ MwInline int wayland_load_funcs() { XKB_FUNC(xkb_state_key_get_layout) #undef XKB_FUNC -#define CAIRO_FUNC(x) \ - wl_call_tbl.x = MwDynamicSymbol(wl_call_tbl.cairo_lib, #x); \ - if(!wl_call_tbl.x) { \ - printf("WARNING: Could use Wayland backend if " #x " was found. Do you have libcairo?\n"); \ - return 1; \ - }; - - CAIRO_FUNC(cairo_set_line_width); - CAIRO_FUNC(cairo_scale); - CAIRO_FUNC(cairo_create); - CAIRO_FUNC(cairo_move_to); - CAIRO_FUNC(cairo_rectangle); - CAIRO_FUNC(cairo_new_path); - CAIRO_FUNC(cairo_set_line_cap); - CAIRO_FUNC(cairo_set_antialias); - CAIRO_FUNC(cairo_set_source_rgba); - CAIRO_FUNC(cairo_set_source_rgb); - CAIRO_FUNC(cairo_reset_clip); - CAIRO_FUNC(cairo_image_surface_get_data); - CAIRO_FUNC(cairo_line_to); - CAIRO_FUNC(cairo_surface_destroy); - CAIRO_FUNC(cairo_image_surface_create_for_data); - CAIRO_FUNC(cairo_image_surface_create); - CAIRO_FUNC(cairo_destroy); - CAIRO_FUNC(cairo_get_source); - CAIRO_FUNC(cairo_close_path); - CAIRO_FUNC(cairo_paint); - CAIRO_FUNC(cairo_surface_flush); - CAIRO_FUNC(cairo_clip); - CAIRO_FUNC(cairo_save); - CAIRO_FUNC(cairo_restore); - CAIRO_FUNC(cairo_surface_mark_dirty); - CAIRO_FUNC(cairo_stroke); - CAIRO_FUNC(cairo_set_source_surface); - CAIRO_FUNC(cairo_fill); - CAIRO_FUNC(cairo_set_operator); - CAIRO_FUNC(cairo_pattern_set_filter); -#undef CAIRO_FUNC + if(cairo_load_funcs() != 0) { + return 1; + } #ifdef USE_DBUS wl_call_tbl.has_dbus = MwLLDBusFuncSetup(&wl_call_tbl.dbus); @@ -297,37 +195,6 @@ MwInline int wayland_load_funcs() { #define xkb_keymap_key_get_syms_by_level wl_call_tbl.xkb_keymap_key_get_syms_by_level #define xkb_state_key_get_layout wl_call_tbl.xkb_state_key_get_layout -#define cairo_set_line_width wl_call_tbl.cairo_set_line_width -#define cairo_scale wl_call_tbl.cairo_scale -#define cairo_create wl_call_tbl.cairo_create -#define cairo_move_to wl_call_tbl.cairo_move_to -#define cairo_rectangle wl_call_tbl.cairo_rectangle -#define cairo_new_path wl_call_tbl.cairo_new_path -#define cairo_set_line_cap wl_call_tbl.cairo_set_line_cap -#define cairo_set_antialias wl_call_tbl.cairo_set_antialias -#define cairo_set_source_rgba wl_call_tbl.cairo_set_source_rgba -#define cairo_set_source_rgb wl_call_tbl.cairo_set_source_rgb -#define cairo_reset_clip wl_call_tbl.cairo_reset_clip -#define cairo_image_surface_get_data wl_call_tbl.cairo_image_surface_get_data -#define cairo_line_to wl_call_tbl.cairo_line_to -#define cairo_surface_destroy wl_call_tbl.cairo_surface_destroy -#define cairo_image_surface_create_for_data wl_call_tbl.cairo_image_surface_create_for_data -#define cairo_image_surface_create wl_call_tbl.cairo_image_surface_create -#define cairo_destroy wl_call_tbl.cairo_destroy -#define cairo_get_source wl_call_tbl.cairo_get_source -#define cairo_close_path wl_call_tbl.cairo_close_path -#define cairo_paint wl_call_tbl.cairo_paint -#define cairo_surface_flush wl_call_tbl.cairo_surface_flush -#define cairo_clip wl_call_tbl.cairo_clip -#define cairo_save wl_call_tbl.cairo_save -#define cairo_restore wl_call_tbl.cairo_restore -#define cairo_surface_mark_dirty wl_call_tbl.cairo_surface_mark_dirty -#define cairo_stroke wl_call_tbl.cairo_stroke -#define cairo_set_source_surface wl_call_tbl.cairo_set_source_surface -#define cairo_fill wl_call_tbl.cairo_fill -#define cairo_set_operator wl_call_tbl.cairo_set_operator -#define cairo_pattern_set_filter wl_call_tbl.cairo_pattern_set_filter - #ifndef WL_PROTOCOLS_DEFINED #define WL_PROTOCOLS_DEFINED #include "Wayland/wayland-core-protocol.h" @@ -434,6 +301,7 @@ typedef struct wl_clipboard_device_context { struct _MwLLWayland { struct _MwLLCommon common; + struct _MwLLCairo cairo; union { /* Pointer for data that's only loaded if the widget is a toplevel */ @@ -583,24 +451,13 @@ struct _MwLLWayland { MwU64 next_elapsed; long start_time; long end_time; - - cairo_surface_t* front_cs; - cairo_surface_t* back_cs; - cairo_t* front_cairo; - cairo_t* back_cairo; - /* The cairo to actually use for draw operations. Typically is front_cairo, but MwLLBeginDraw can change this to the back_cairo so it can be used to draw window decorations. */ - cairo_t* selected_cairo; }; struct _MwLLWaylandColor { struct _MwLLCommonColor common; }; -struct _MwLLWaylandPixmap { - struct _MwLLCommonPixmap common; - - cairo_surface_t* cs; -}; +#define _MwLLWaylandPixmap _MwLLCairoPixmap /* Setup the framebuffer with the saved width/height */ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland); diff --git a/pl/rules.pl b/pl/rules.pl index 2c8ea1b..bb6fa25 100644 --- a/pl/rules.pl +++ b/pl/rules.pl @@ -46,6 +46,7 @@ if (grep(/^classicmacos$/, @backends)) { if (grep(/^wayland$/, @backends)) { add_cflags("-DUSE_WAYLAND"); + new_object("src/backend/cairo.c"); new_object("src/backend/wayland/wayland.c"); new_object("src/backend/wayland/buffer.c"); new_object("src/backend/wayland/interfaces.c"); diff --git a/src/backend/cairo.c b/src/backend/cairo.c new file mode 100644 index 0000000..3cecc0b --- /dev/null +++ b/src/backend/cairo.c @@ -0,0 +1,266 @@ +#include + +#include "../../external/stb_ds.h" +#include "stb_ds.h" + +cairo_call_table_t cairo_call_tbl; + +void MwLLCairoPolygon(struct _MwLLCairo handle, MwPoint* points, int points_count, MwLLColor color) { + int i; + cairo_set_source_rgba(handle.front_cairo, color->common.red / 255.0, color->common.green / 255.0, color->common.blue / 255.0, 1.0); + cairo_new_path(handle.front_cairo); + for(i = 0; i < points_count; i++) { + if(i == 0) { + cairo_move_to(handle.front_cairo, points[i].x, points[i].y); + } else { + cairo_line_to(handle.front_cairo, points[i].x, points[i].y); + } + } + cairo_close_path(handle.front_cairo); + + cairo_set_operator(handle.front_cairo, CAIRO_OPERATOR_SOURCE); + cairo_fill(handle.front_cairo); + cairo_set_operator(handle.front_cairo, CAIRO_OPERATOR_OVER); +}; + +void MwLLCairoLine(struct _MwLLCairo handle, MwPoint* points, MwLLColor color) { + int i; + + cairo_set_antialias(handle.front_cairo, CAIRO_ANTIALIAS_NONE); + cairo_set_line_cap(handle.front_cairo, CAIRO_LINE_CAP_SQUARE); + cairo_set_source_rgba(handle.front_cairo, color->common.red / 255.0, color->common.green / 255.0, color->common.blue / 255.0, 1.0); + cairo_new_path(handle.front_cairo); + for(i = 0; i < 2; i++) { + if(i == 0) { + cairo_move_to(handle.front_cairo, points[i].x, points[i].y); + } else { + cairo_line_to(handle.front_cairo, points[i].x, points[i].y); + } + } + cairo_close_path(handle.front_cairo); + cairo_stroke(handle.front_cairo); +}; + +MwLLPixmap MwLLCairoCreatePixmap(struct _MwLLCairo handle, unsigned char* data, int width, int height) { + MwLLPixmap r = malloc(sizeof(*r)); + (void)handle; + + if(width >= INT16_MAX) width = INT16_MAX; + if(height >= INT16_MAX) height = INT16_MAX; + + r->common.width = width; + r->common.height = height; + r->common.raw = malloc(4 * width * height); + memcpy(r->common.raw, data, 4 * width * height); + + r->wayland.cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); + + MwLLPixmapUpdate(r); + + return r; +} + +void MwLLCairoPixmapUpdate(MwLLPixmap r) { + int i; + unsigned char* d; + + cairo_surface_flush(r->wayland.cs); + d = cairo_image_surface_get_data(r->wayland.cs); + for(i = 0; i < r->common.width * r->common.height * 4; i += 4) { + MwU32* p = (MwU32*)&d[i]; + *p <<= 8; + *p |= r->common.raw[i + 3]; + *p <<= 8; + *p |= r->common.raw[i + 0]; + *p <<= 8; + *p |= r->common.raw[i + 1]; + *p <<= 8; + *p |= r->common.raw[i + 2]; + } + cairo_surface_mark_dirty(r->wayland.cs); +} + +void MwLLCairoDestroyPixmap(MwLLPixmap pixmap) { + cairo_surface_destroy(pixmap->wayland.cs); + free(pixmap->common.raw); + free(pixmap); +} + +void MwLLCairoDrawPixmap(struct _MwLLCairo handle, MwRect* rect, MwLLPixmap pixmap) { + cairo_t* c; + cairo_surface_t* cs; + cairo_t* selected_cairo = handle.selected_cairo ? handle.selected_cairo : handle.front_cairo; + cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, rect->width, rect->height); + c = cairo_create(cs); + + if(rect->width <= 0 || rect->height <= 0 || pixmap->common.width <= 0 || pixmap->common.height <= 0) return; + if(rect->width >= INT16_MAX) rect->width = INT16_MAX; + if(rect->height >= INT16_MAX) rect->height = INT16_MAX; + + cairo_scale(c, (double)rect->width / pixmap->common.width, (double)rect->height / pixmap->common.height); + + cairo_set_source_surface(c, pixmap->cairo.cs, 0, 0); + cairo_pattern_set_filter(cairo_get_source(c), CAIRO_FILTER_NEAREST); + + cairo_set_operator(handle.front_cairo, CAIRO_OPERATOR_OVER); + + cairo_paint(c); + + cairo_set_source_surface(selected_cairo, cs, rect->x, rect->y); + cairo_paint(selected_cairo); + + cairo_destroy(c); + cairo_surface_destroy(cs); +}; + +void MwLLCairoFrontSetup(struct _MwLLCairo* cairo, MwU8* data, MwU32 width, MwU32 height) { + if(data) { + cairo->front_cs = cairo_image_surface_create_for_data(data, CAIRO_FORMAT_ARGB32, width, height, width * 4); + } else { + cairo->front_cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); + } + cairo->front_cairo = cairo_create(cairo->front_cs); +} + +void MwLLCairoBackSetup(struct _MwLLCairo* cairo, MwU8* data, MwU32 width, MwU32 height) { + if(data) { + cairo->back_cs = cairo_image_surface_create_for_data(data, CAIRO_FORMAT_ARGB32, width, height, width * 4); + } else { + cairo->back_cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); + } + cairo->back_cairo = cairo_create(cairo->back_cs); +} + +void MwLLCairoFrontDestroy(struct _MwLLCairo* cairo) { + cairo_destroy(cairo->front_cairo); + cairo_surface_destroy(cairo->front_cs); +}; +void MwLLCairoBackDestroy(struct _MwLLCairo* cairo) { + cairo_destroy(cairo->back_cairo); + cairo_surface_destroy(cairo->back_cs); +}; + +void MwLLCairoDestroy(struct _MwLLCairo handle) { + // MwLLCairoFrontDestroy(&handle); + // MwLLCairoBackDestroy(&handle); +} + +static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { + MwLL r; + r = malloc(sizeof(*r)); + memset(r, 0, sizeof(*r)); + MwLLCreateCommon(r); + + r->cairo.width = width; + r->cairo.height = height; + r->cairo.x = x; + r->cairo.y = x; + + r->cairo.toplevel = !parent; + r->cairo.parent = parent; + + MwLLCairoFrontSetup(&r->cairo, NULL, r->cairo.width, r->cairo.height); + MwLLCairoBackSetup(&r->cairo, NULL, r->cairo.width, r->cairo.height); + + return r; +} +static void MwLLDestroyImpl(MwLL handle) { + MwLLCairoDestroy(handle->cairo); + free(handle); +} + +static void MwLLBeginDrawImpl(MwLL handle) { + handle->cairo.selected_cairo = handle->cairo.front_cairo; +} +static void MwLLEndDrawImpl(MwLL handle) { +} + +static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLLColor color) { + MwLLCairoPolygon(handle->cairo, points, points_count, color); +} +static void MwLLLineImpl(MwLL handle, MwPoint* points, MwLLColor color) { + MwLLCairoLine(handle->cairo, points, color); +} +static MwLLColor MwLLAllocColorImpl(MwLL handle, int r, int g, int b) { + MwLLColor c = malloc(sizeof(*c)); + MwLLColorUpdate(handle, c, r, g, b); + return c; +} + +static void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) { + (void)handle; + + c->common.red = r; + c->common.green = g; + c->common.blue = b; +} +static void MwLLGetXYWHImpl(MwLL handle, int* x, int* y, unsigned int* w, unsigned int* h) { + (void)handle; + *x = handle->cairo.x; + *y = handle->cairo.y; + *w = handle->cairo.width; + *h = handle->cairo.height; +} +static void MwLLSetXYImpl(MwLL handle, int x, int y) { + handle->cairo.x = x; + handle->cairo.y = y; +} +static void MwLLSetWHImpl(MwLL handle, int w, int h) { + handle->cairo.width = w; + handle->cairo.height = h; +} +static void MwLLFreeColorImpl(MwLLColor color) {} + +static MwBool lmao = MwFALSE; +static int MwLLPendingImpl(MwLL handle) { + lmao = !lmao; + return lmao; +} +static void MwLLNextEventImpl(MwLL handle) { + MwLLDispatch(handle, draw, NULL); +} +static void MwLLSetTitleImpl(MwLL handle, const char* title) {} +static MwLLPixmap MwLLCreatePixmapImpl(MwLL handle, unsigned char* data, int width, int height) { + return MwLLCairoCreatePixmap(handle->cairo, data, width, height); +} +static void MwLLPixmapUpdateImpl(MwLLPixmap r) { + MwLLCairoPixmapUpdate(r); +} +static void MwLLDestroyPixmapImpl(MwLLPixmap pixmap) { + MwLLCairoPixmapUpdate(pixmap); +} + +static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { + MwLLCairoDrawPixmap(handle->cairo, rect, pixmap); +} +static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) {} +static void MwLLForceRenderImpl(MwLL handle) {} +static void MwLLSetCursorImpl(MwLL handle, MwCursor* image, MwCursor* mask) {} +static void MwLLDetachImpl(MwLL handle, MwPoint* point) {} +static void MwLLShowImpl(MwLL handle, int show) {} +static void MwLLMakePopupImpl(MwLL handle, MwLL parent) {} +static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int maxy) {} +static void MwLLMakeBorderlessImpl(MwLL handle, int toggle) {} +static void MwLLFocusImpl(MwLL handle) {} +static void MwLLGrabPointerImpl(MwLL handle, int toggle) {} +static void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_type) {} +static void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) {} +static void MwLLMakeToolWindowImpl(MwLL handle) {} +static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) {} +static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) {} +static void MwLLBeginStateChangeImpl(MwLL handle) {} +static void MwLLEndStateChangeImpl(MwLL handle) {} +static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) {} +static MwBool MwLLDoModernImpl(MwLL handle) { + return MwFALSE; +} +static void MwLLRaiseImpl(MwLL handle) {} +static void MwLLClipImpl(MwLL handle, MwRect* rect) {} +static int MwLLCairoCallInitImpl(void) { + if(cairo_load_funcs() != 0) { + return 1; + } + return 0; +} +#include "call.c" +CALL(Cairo); diff --git a/src/backend/wayland/buffer.c b/src/backend/wayland/buffer.c index 39a31dd..15e7e4e 100644 --- a/src/backend/wayland/buffer.c +++ b/src/backend/wayland/buffer.c @@ -4,8 +4,7 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) { MwLLWaylandBufferSetup(&wayland->framebuffer, wayland->ww, wayland->wh); - wayland->front_cs = cairo_image_surface_create_for_data(wayland->framebuffer.buf_back, CAIRO_FORMAT_ARGB32, wayland->ww, wayland->wh, 4 * wayland->ww); - wayland->front_cairo = cairo_create(wayland->front_cs); + MwLLCairoFrontSetup(&wayland->cairo, wayland->framebuffer.buf_back, wayland->ww, wayland->wh); memset(wayland->framebuffer.buf_back, 0, wayland->framebuffer.buf_size); if(wayland->configured) @@ -17,8 +16,7 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) { }; void MwLLWaylandFramebufferDestroy(struct _MwLLWayland* wayland) { MwLLWaylandBufferDestroy(&wayland->framebuffer); - cairo_destroy(wayland->front_cairo); - cairo_surface_destroy(wayland->front_cs); + MwLLCairoFrontDestroy(&wayland->cairo); }; void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { @@ -33,8 +31,7 @@ void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { } MwLLWaylandBufferSetup(&wayland->backbuffer, w, h); - wayland->back_cs = cairo_image_surface_create_for_data(wayland->backbuffer.buf_back, CAIRO_FORMAT_ARGB32, w, h, 4 * w); - wayland->back_cairo = cairo_create(wayland->back_cs); + MwLLCairoBackSetup(&wayland->cairo, wayland->backbuffer.buf_back, wayland->ww, wayland->wh); memset(wayland->backbuffer.buf_back, 255, wayland->backbuffer.buf_size); if(wayland->configured) @@ -45,8 +42,7 @@ void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { }; void MwLLWaylandBackbufferDestroy(struct _MwLLWayland* wayland) { MwLLWaylandBufferDestroy(&wayland->backbuffer); - cairo_destroy(wayland->back_cairo); - cairo_surface_destroy(wayland->back_cs); + MwLLCairoBackDestroy(&wayland->cairo); }; void MwLLWaylandBufferSetup(struct _MwLLWaylandShmBuffer* buffer, MwU32 width, MwU32 height) { diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 2ffa1c6..5faa2c6 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -10,6 +10,8 @@ wayland_call_table_t wl_call_tbl; MwBool MwWaylandVulkan = MwFALSE; #endif +MwBool MwWaylandCairoOnly = MwFALSE; + static pthread_mutex_t destroyedWidgetsTableMutex; /* * So Wayland, bless its soul; it keeps using callbacks LONG after they should not only be destroyed but the widget doesn't even exist anymore. Naturally, this causes use after free. so we fight fire with fire in the worst code i've ever written: by storing the freed pointers here, we disallow wayland from ever using them again. if something else is created that takes this slot, we remove it from the table. @@ -705,6 +707,7 @@ static void clip(MwLL handle) { toplevel = toplevel->wayland.parent; } if(toplevel) { + #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX(a, b) ((a) > (b) ? (a) : (b)) /* i seriously have no fucking idea how this works, do not ask me how this really works (nishi) */ @@ -752,15 +755,15 @@ static void clip(MwLL handle) { handle->wayland.clipping_rect.height = my - cy; MwLLWaylandRegionSetup(handle); - cairo_reset_clip(handle->wayland.front_cairo); + cairo_reset_clip(handle->wayland.cairo.front_cairo); if(handle->wayland.type == MwLL_WAYLAND_SUBLEVEL && !handle->wayland.is_toplevel) { - cairo_rectangle(handle->wayland.front_cairo, cx - x, cy - y, mx - cx, my - cy); - cairo_clip(handle->wayland.front_cairo); + cairo_rectangle(handle->wayland.cairo.front_cairo, cx - x, cy - y, mx - cx, my - cy); + cairo_clip(handle->wayland.cairo.front_cairo); } if(handle->wayland.is_clipping) { - cairo_rectangle(handle->wayland.front_cairo, handle->wayland.clip.x, handle->wayland.clip.y, handle->wayland.clip.width, handle->wayland.clip.height); - cairo_clip(handle->wayland.front_cairo); + cairo_rectangle(handle->wayland.cairo.front_cairo, handle->wayland.clip.x, handle->wayland.clip.y, handle->wayland.clip.width, handle->wayland.clip.height); + cairo_clip(handle->wayland.cairo.front_cairo); } } } @@ -1088,15 +1091,15 @@ const float_color two = {.05490196, .17254902, .30588235}; static void MwLLBeginDrawImpl(MwLL handle) { WIDGET_CHECK(handle); - cairo_save(handle->wayland.front_cairo); - cairo_set_source_rgba(handle->wayland.front_cairo, 0, 0, 0, 0); - cairo_set_operator(handle->wayland.front_cairo, CAIRO_OPERATOR_SOURCE); - cairo_rectangle(handle->wayland.front_cairo, 0, 0, handle->wayland.ww, handle->wayland.wh); - cairo_fill(handle->wayland.front_cairo); - cairo_restore(handle->wayland.front_cairo); + cairo_save(handle->wayland.cairo.front_cairo); + cairo_set_source_rgba(handle->wayland.cairo.front_cairo, 0, 0, 0, 0); + cairo_set_operator(handle->wayland.cairo.front_cairo, CAIRO_OPERATOR_SOURCE); + cairo_rectangle(handle->wayland.cairo.front_cairo, 0, 0, handle->wayland.ww, handle->wayland.wh); + cairo_fill(handle->wayland.cairo.front_cairo); + cairo_restore(handle->wayland.cairo.front_cairo); if(handle->wayland.type != MwLL_WAYLAND_TOPLEVEL) { - handle->wayland.selected_cairo = handle->wayland.front_cairo; + handle->wayland.cairo.selected_cairo = handle->wayland.cairo.front_cairo; return; } @@ -1105,25 +1108,25 @@ static void MwLLBeginDrawImpl(MwLL handle) { MwU32 w = handle->wayland.ww + CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT; MwU32 h = handle->wayland.wh + CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM; MwRect r; - handle->wayland.selected_cairo = handle->wayland.back_cairo; + handle->wayland.cairo.selected_cairo = handle->wayland.cairo.back_cairo; #define DO_BOX(x, y, col, w, h) \ - cairo_rectangle(handle->wayland.back_cairo, x, y, w, h); \ - cairo_set_source_rgb(handle->wayland.back_cairo, col, col, col); \ - cairo_fill(handle->wayland.back_cairo); + cairo_rectangle(handle->wayland.cairo.back_cairo, x, y, w, h); \ + cairo_set_source_rgb(handle->wayland.cairo.back_cairo, col, col, col); \ + cairo_fill(handle->wayland.cairo.back_cairo); #define DO_LINE(off, col) \ - cairo_move_to(handle->wayland.back_cairo, off, off); \ - cairo_line_to(handle->wayland.back_cairo, off, h - (off)); \ - cairo_set_source_rgb(handle->wayland.back_cairo, col, col, col); \ - cairo_stroke(handle->wayland.back_cairo); \ - cairo_move_to(handle->wayland.back_cairo, off, off); \ - cairo_line_to(handle->wayland.back_cairo, w - (off), off); \ - cairo_set_source_rgb(handle->wayland.back_cairo, col, col, col); \ - cairo_stroke(handle->wayland.back_cairo); + cairo_move_to(handle->wayland.cairo.back_cairo, off, off); \ + cairo_line_to(handle->wayland.cairo.back_cairo, off, h - (off)); \ + cairo_set_source_rgb(handle->wayland.cairo.back_cairo, col, col, col); \ + cairo_stroke(handle->wayland.cairo.back_cairo); \ + cairo_move_to(handle->wayland.cairo.back_cairo, off, off); \ + cairo_line_to(handle->wayland.cairo.back_cairo, w - (off), off); \ + cairo_set_source_rgb(handle->wayland.cairo.back_cairo, col, col, col); \ + cairo_stroke(handle->wayland.cairo.back_cairo); /* border */ - cairo_set_antialias(handle->wayland.back_cairo, CAIRO_ANTIALIAS_NONE); + cairo_set_antialias(handle->wayland.cairo.back_cairo, CAIRO_ANTIALIAS_NONE); DO_BOX(0, 0, 0.14901961, w, h); DO_BOX(1, 1, 0.55686275, w - 2, h - 2); @@ -1131,7 +1134,7 @@ static void MwLLBeginDrawImpl(MwLL handle) { DO_BOX(3, 3, 0.93333333, w - 6, h - 6); DO_BOX(4, 4, 1, w - 8, h - 8); DO_BOX(4, 4, 0.14901961, w - CSD_BORDER_FRAME_LEFT - 4, h - CSD_BORDER_FRAME_BOTTOM - 4); - cairo_set_line_width(handle->wayland.back_cairo, 1.0); + cairo_set_line_width(handle->wayland.cairo.back_cairo, 1.0); DO_LINE(1, 1) DO_LINE(2, 0.93333333) @@ -1139,15 +1142,15 @@ static void MwLLBeginDrawImpl(MwLL handle) { DO_LINE(4, 0.55686275) DO_LINE(5, 0.14901961) - cairo_set_line_width(handle->wayland.back_cairo, 2.0); + cairo_set_line_width(handle->wayland.cairo.back_cairo, 2.0); for(y = 1; y < CSD_BORDER_FRAME_TOP - CSD_BORDER_FRAME_LEFT; y++) { float_color c = lerp_color(one, two, (double)y / (double)(CSD_BORDER_FRAME_TOP - CSD_BORDER_FRAME_LEFT)); - cairo_set_source_rgb(handle->wayland.back_cairo, c.r, c.g, c.b); + cairo_set_source_rgb(handle->wayland.cairo.back_cairo, c.r, c.g, c.b); - cairo_move_to(handle->wayland.back_cairo, CSD_BORDER_FRAME_LEFT, y + CSD_BORDER_FRAME_LEFT); - cairo_line_to(handle->wayland.back_cairo, w - CSD_BORDER_FRAME_RIGHT, y + CSD_BORDER_FRAME_LEFT); - cairo_stroke(handle->wayland.back_cairo); + cairo_move_to(handle->wayland.cairo.back_cairo, CSD_BORDER_FRAME_LEFT, y + CSD_BORDER_FRAME_LEFT); + cairo_line_to(handle->wayland.cairo.back_cairo, w - CSD_BORDER_FRAME_RIGHT, y + CSD_BORDER_FRAME_LEFT); + cairo_stroke(handle->wayland.cairo.back_cairo); } /* icon */ @@ -1158,7 +1161,7 @@ static void MwLLBeginDrawImpl(MwLL handle) { DO_BOX(5, 5, 1, 18, 18); DO_BOX(6, 6, 0.35294118, 17, 17); DO_BOX(6, 6, 0.82352941, 16, 16); - handle->wayland.selected_cairo = handle->wayland.back_cairo; + handle->wayland.cairo.selected_cairo = handle->wayland.cairo.back_cairo; if(handle->wayland.icon_pixmap) { MwLLDrawPixmap(handle, &r, handle->wayland.icon_pixmap); } @@ -1226,7 +1229,7 @@ static void MwLLBeginDrawImpl(MwLL handle) { } MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer); } - handle->wayland.selected_cairo = handle->wayland.front_cairo; + handle->wayland.cairo.selected_cairo = handle->wayland.cairo.front_cairo; } static void MwLLEndDrawImpl(MwLL handle) { @@ -1239,25 +1242,11 @@ static void MwLLEndDrawImpl(MwLL handle) { } static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLLColor color) { - int i; WIDGET_CHECK(handle); clip(handle); - cairo_set_source_rgba(handle->wayland.front_cairo, color->common.red / 255.0, color->common.green / 255.0, color->common.blue / 255.0, 1.0); - cairo_new_path(handle->wayland.front_cairo); - for(i = 0; i < points_count; i++) { - if(i == 0) { - cairo_move_to(handle->wayland.front_cairo, points[i].x, points[i].y); - } else { - cairo_line_to(handle->wayland.front_cairo, points[i].x, points[i].y); - } - } - cairo_close_path(handle->wayland.front_cairo); - - cairo_set_operator(handle->wayland.front_cairo, CAIRO_OPERATOR_SOURCE); - cairo_fill(handle->wayland.front_cairo); - cairo_set_operator(handle->wayland.front_cairo, CAIRO_OPERATOR_OVER); + MwLLCairoPolygon(handle->wayland.cairo, points, points_count, color); handle->wayland.events_pending = 1; } @@ -1268,19 +1257,7 @@ static void MwLLLineImpl(MwLL handle, MwPoint* points, MwLLColor color) { clip(handle); - cairo_set_antialias(handle->wayland.front_cairo, CAIRO_ANTIALIAS_NONE); - cairo_set_line_cap(handle->wayland.front_cairo, CAIRO_LINE_CAP_SQUARE); - cairo_set_source_rgba(handle->wayland.front_cairo, color->common.red / 255.0, color->common.green / 255.0, color->common.blue / 255.0, 1.0); - cairo_new_path(handle->wayland.front_cairo); - for(i = 0; i < 2; i++) { - if(i == 0) { - cairo_move_to(handle->wayland.front_cairo, points[i].x, points[i].y); - } else { - cairo_line_to(handle->wayland.front_cairo, points[i].x, points[i].y); - } - } - cairo_close_path(handle->wayland.front_cairo); - cairo_stroke(handle->wayland.front_cairo); + MwLLCairoLine(handle->wayland.cairo, points, color); handle->wayland.events_pending = 1; } @@ -1421,80 +1398,23 @@ static void MwLLSetTitleImpl(MwLL handle, const char* title) { } static MwLLPixmap MwLLCreatePixmapImpl(MwLL handle, unsigned char* data, int width, int height) { - MwLLPixmap r = malloc(sizeof(*r)); - (void)handle; - - if(width >= INT16_MAX) width = INT16_MAX; - if(height >= INT16_MAX) height = INT16_MAX; - - r->common.width = width; - r->common.height = height; - r->common.raw = malloc(4 * width * height); - memcpy(r->common.raw, data, 4 * width * height); - - r->wayland.cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); - - MwLLPixmapUpdate(r); - - return r; + return MwLLCairoCreatePixmap(handle->wayland.cairo, data, width, height); } static void MwLLPixmapUpdateImpl(MwLLPixmap r) { - int i; - unsigned char* d; - - cairo_surface_flush(r->wayland.cs); - d = cairo_image_surface_get_data(r->wayland.cs); - for(i = 0; i < r->common.width * r->common.height * 4; i += 4) { - MwU32* p = (MwU32*)&d[i]; - *p <<= 8; - *p |= r->common.raw[i + 3]; - *p <<= 8; - *p |= r->common.raw[i + 0]; - *p <<= 8; - *p |= r->common.raw[i + 1]; - *p <<= 8; - *p |= r->common.raw[i + 2]; - } - cairo_surface_mark_dirty(r->wayland.cs); + MwLLCairoPixmapUpdate(r); } static void MwLLDestroyPixmapImpl(MwLLPixmap pixmap) { - cairo_surface_destroy(pixmap->wayland.cs); - free(pixmap->common.raw); - free(pixmap); + MwLLCairoDestroyPixmap(pixmap); } static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { - cairo_t* c; - cairo_surface_t* cs; - cairo_t* selected_cairo = handle->wayland.selected_cairo ? handle->wayland.selected_cairo : handle->wayland.front_cairo; - - if(rect->width <= 0 || rect->height <= 0 || pixmap->common.width <= 0 || pixmap->common.height <= 0) return; - if(rect->width >= INT16_MAX) rect->width = INT16_MAX; - if(rect->height >= INT16_MAX) rect->height = INT16_MAX; - WIDGET_CHECK(handle); - cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, rect->width, rect->height); - c = cairo_create(cs); - clip(handle); - cairo_scale(c, (double)rect->width / pixmap->common.width, (double)rect->height / pixmap->common.height); - - cairo_set_source_surface(c, pixmap->wayland.cs, 0, 0); - cairo_pattern_set_filter(cairo_get_source(c), CAIRO_FILTER_NEAREST); - - cairo_set_operator(handle->wayland.front_cairo, CAIRO_OPERATOR_OVER); - - cairo_paint(c); - - cairo_set_source_surface(selected_cairo, cs, rect->x, rect->y); - cairo_paint(selected_cairo); - - cairo_destroy(c); - cairo_surface_destroy(cs); + MwLLCairoDrawPixmap(handle->wayland.cairo, rect, pixmap); MwLLForceRender(handle); wl_surface_damage(handle->wayland.framebuffer.surface, 0, 0, handle->wayland.ww, handle->wayland.wh); diff --git a/src/core.c b/src/core.c index f649a62..2eeb401 100644 --- a/src/core.c +++ b/src/core.c @@ -1040,7 +1040,7 @@ typedef int (*call_t)(void); int MwLibraryInit(void) { call_t calls[] = { #ifdef USE_WAYLAND - MwLLWaylandCallInit, + NULL, /* set in a bit */ #endif #ifdef USE_X11 MwLLX11CallInit, @@ -1060,6 +1060,12 @@ int MwLibraryInit(void) { NULL}; int i; + if(MwWaylandCairoOnly) { + calls[0] = MwLLCairoCallInit; + } else { + calls[0] = MwLLWaylandCallInit; + } + MwColorTableInit(); MwFLSetup(); From 82b68c9c539cb34eaec866d655fb4ab6122ad739 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 21:51:21 -0700 Subject: [PATCH 048/119] only do MwLibraryInit wayland/cairo if USE_WAYLAND --- src/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core.c b/src/core.c index 2eeb401..0366443 100644 --- a/src/core.c +++ b/src/core.c @@ -1060,11 +1060,13 @@ int MwLibraryInit(void) { NULL}; int i; +#ifdef USE_WAYLAND if(MwWaylandCairoOnly) { calls[0] = MwLLCairoCallInit; } else { calls[0] = MwLLWaylandCallInit; } +#endif MwColorTableInit(); From 1a75d6cea113fd02d4e97f27c9a4352164c5c2e1 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 9 Jul 2026 21:54:46 -0700 Subject: [PATCH 049/119] wrongful stb_ds include --- src/backend/cairo.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/backend/cairo.c b/src/backend/cairo.c index 3cecc0b..7b92d00 100644 --- a/src/backend/cairo.c +++ b/src/backend/cairo.c @@ -1,7 +1,6 @@ #include #include "../../external/stb_ds.h" -#include "stb_ds.h" cairo_call_table_t cairo_call_tbl; From a4d095cabfbfd07d257f1bbed3311089537570ef Mon Sep 17 00:00:00 2001 From: IoIxD Date: Mon, 13 Jul 2026 14:00:32 -0700 Subject: [PATCH 050/119] wayland: fix popup positioning when CSD is active. fix CSD stride --- include/Mw/LowLevel/Wayland.h | 2 ++ include/Mw/TypeDefs.h | 2 ++ src/backend/wayland/buffer.c | 2 +- src/backend/wayland/wayland.c | 34 ++++++++++++++++++++++------------ src/widget/menu.c | 1 + 5 files changed, 28 insertions(+), 13 deletions(-) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 21bbc28..1de48b3 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -428,6 +428,8 @@ struct _MwLLWayland { MwBool dispatching_resize; + MwBool is_toplevel_menu; + struct _MwLLWaylandShmBuffer framebuffer; struct _MwLLWaylandShmBuffer backbuffer; struct _MwLLWaylandShmBuffer cursor; diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index d31aeac..b31c4b4 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -119,6 +119,8 @@ struct _MwWidget { int berserk; long last_tick; + + MwBool is_menu; }; #endif diff --git a/src/backend/wayland/buffer.c b/src/backend/wayland/buffer.c index 15e7e4e..ce56599 100644 --- a/src/backend/wayland/buffer.c +++ b/src/backend/wayland/buffer.c @@ -31,7 +31,7 @@ void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { } MwLLWaylandBufferSetup(&wayland->backbuffer, w, h); - MwLLCairoBackSetup(&wayland->cairo, wayland->backbuffer.buf_back, wayland->ww, wayland->wh); + MwLLCairoBackSetup(&wayland->cairo, wayland->backbuffer.buf_back, w, h); memset(wayland->backbuffer.buf_back, 255, wayland->backbuffer.buf_size); if(wayland->configured) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 5faa2c6..c156e04 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -451,7 +451,6 @@ static void popup_configure(void* data, int32_t height) { MwLL self = data; (void)xdg_popup; - self->wayland.x = x; self->wayland.y = y; self->wayland.ww = width; @@ -483,18 +482,23 @@ struct xdg_popup_listener popup_listener = { /* Popup setup function */ static void setup_popup(MwLL r, int x, int y, MwLL parent) { MwLL topmost_parent = r->wayland.parent; + r->wayland.type = MwLL_WAYLAND_POPUP; + r->wayland.x = x; + r->wayland.y = y; + r->wayland.popup = malloc(sizeof(struct _MwLLWaylandPopup)); - r->wayland.type = MwLL_WAYLAND_POPUP; - r->wayland.x = x; - r->wayland.y = y; - r->wayland.popup = malloc(sizeof(struct _MwLLWaylandPopup)); + if(parent) { + MwWidget p = parent->common.user; + while(topmost_parent->wayland.parent) { + topmost_parent = topmost_parent->wayland.parent; + } - while(topmost_parent->wayland.type != MwLL_WAYLAND_TOPLEVEL && topmost_parent->wayland.type != MwLL_WAYLAND_LAYER_SURFACE) { - topmost_parent = topmost_parent->wayland.parent; - } - if(!topmost_parent->wayland.has_decorations && topmost_parent->wayland.do_csd) { - r->wayland.x += ceil((float)CSD_BORDER_FRAME_LEFT / 2.); - r->wayland.y += ceil((float)CSD_BORDER_FRAME_TOP / 2.); + if(!topmost_parent->wayland.has_decorations && topmost_parent->wayland.do_csd) { + if(p->is_menu) { + r->wayland.x += round((float)CSD_BORDER_FRAME_LEFT / 2.); + r->wayland.y += ceil((float)CSD_BORDER_FRAME_TOP / 2.); + } + } } MwLLWaylandSetupCallbacks(&r->wayland); @@ -525,7 +529,13 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { xdg_positioner_set_size(r->wayland.popup->xdg_positioner, r->wayland.ww, r->wayland.wh); xdg_positioner_set_anchor_rect( r->wayland.popup->xdg_positioner, - r->wayland.x, r->wayland.y, r->wayland.ww, r->wayland.wh); + topmost_parent->wayland.x, topmost_parent->wayland.y, r->wayland.ww, r->wayland.wh); + xdg_positioner_set_offset( + r->wayland.popup->xdg_positioner, + r->wayland.x, r->wayland.y); + + xdg_positioner_set_anchor(r->wayland.popup->xdg_positioner, XDG_POSITIONER_ANCHOR_NONE); + xdg_positioner_set_gravity(r->wayland.popup->xdg_positioner, XDG_POSITIONER_GRAVITY_NONE); r->wayland.xkb_keymap = topmost_parent->wayland.xkb_keymap; r->wayland.xkb_state = topmost_parent->wayland.xkb_state; diff --git a/src/widget/menu.c b/src/widget/menu.c index 7df61f2..8dd3d7a 100644 --- a/src/widget/menu.c +++ b/src/widget/menu.c @@ -24,6 +24,7 @@ static int wcreate(MwWidget handle) { m->wsub = NULL; m->sub = NULL; handle->internal = m; + handle->is_menu = MwTRUE; MwSetDefault(handle); From 4b6eae99dcfcfd6475618add720c59948eee4637 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Mon, 13 Jul 2026 15:54:42 -0700 Subject: [PATCH 051/119] fixed some memleaks while also trying to fix popups not being destroyed correctly --- src/backend/wayland/buffer.c | 2 + src/backend/wayland/interfaces.c | 24 +++++++- src/backend/wayland/wayland.c | 95 +++++++++++++++++++------------- 3 files changed, 80 insertions(+), 41 deletions(-) diff --git a/src/backend/wayland/buffer.c b/src/backend/wayland/buffer.c index ce56599..df1de79 100644 --- a/src/backend/wayland/buffer.c +++ b/src/backend/wayland/buffer.c @@ -15,6 +15,7 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) { MwLLWaylandBufferUpdate((MwLL)wayland, &wayland->framebuffer); }; void MwLLWaylandFramebufferDestroy(struct _MwLLWayland* wayland) { + wl_surface_attach(wayland->framebuffer.surface, NULL, 0, 0); MwLLWaylandBufferDestroy(&wayland->framebuffer); MwLLCairoFrontDestroy(&wayland->cairo); }; @@ -41,6 +42,7 @@ void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) { MwLLWaylandBufferUpdate((MwLL)wayland, &wayland->backbuffer); }; void MwLLWaylandBackbufferDestroy(struct _MwLLWayland* wayland) { + // wl_surface_attach(wayland->backbuffer.surface, NULL, 0, 0); MwLLWaylandBufferDestroy(&wayland->backbuffer); MwLLCairoBackDestroy(&wayland->cairo); }; diff --git a/src/backend/wayland/interfaces.c b/src/backend/wayland/interfaces.c index 57c30e3..84ed492 100644 --- a/src/backend/wayland/interfaces.c +++ b/src/backend/wayland/interfaces.c @@ -16,6 +16,9 @@ static void setup_clipboard(MwLL self, struct wl_seat* wl_seat); static void setup_zwp_clipboard(MwLL self, struct wl_seat* wl_seat); +static void destroy_clipboard(MwLL self, struct wl_seat* wl_seat); +static void destroy_zwp_clipboard(MwLL self, struct wl_seat* wl_seat); + /* Recursively dispatch a move event to a widget and its children */ static void recursive_dispatch_move(MwLL handle, MwMouse* p) { MwWidget h = (MwWidget)handle->common.user; @@ -1017,6 +1020,7 @@ static wayland_protocol_t* wl_seat_setup(MwU32 name, MwLL ll, MwU32 version) { static void wl_seat_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { (void)wayland; free(data->listener); + free(data); } /* wl_output setup function */ @@ -1060,7 +1064,11 @@ static wayland_protocol_t* wl_subcompositor_setup(MwU32 name, struct _MwLLWaylan static void wl_subcompositor_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { (void)data; - wl_subcompositor_destroy(wayland->sublevel->subcompositor); + if(wayland->type == MwLL_WAYLAND_TOPLEVEL) { + wl_subcompositor_destroy(wayland->toplevel->scompositor); + } else { + wl_subcompositor_destroy(wayland->sublevel->subcompositor); + } } /* xdg_wm_base setup function */ @@ -1080,6 +1088,7 @@ static wayland_protocol_t* xdg_wm_base_setup(MwU32 name, struct _MwLLWayland* wa static void xdg_wm_base_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { (void)wayland; free(data->listener); + free(data); } /* xdg_wm_base setup function */ @@ -1145,6 +1154,7 @@ static wayland_protocol_t* xdg_toplevel_icon_manager_v1_setup(MwU32 name, struct static void xdg_toplevel_icon_manager_v1_interface_destroy(struct _MwLLWayland* wayland, wayland_protocol_t* data) { (void)wayland; free(data->listener); + free(data); } static wayland_protocol_t* zwlr_layer_shell_v1_setup(MwU32 name, struct _MwLLWayland* wayland, MwU32 version) { @@ -1175,8 +1185,16 @@ void MwLLWaylandSetupCallbacks(struct _MwLLWayland* wayland) { wayland->registry_listener.global = new_protocol; wayland->registry_listener.global_remove = protocol_removed; - wayland->wl_protocol_setup_map = NULL; - wayland->wl_protocol_map = NULL; + + if(wayland->wl_protocol_map) { + shfree(wayland->wl_protocol_map); + } + if(wayland->wl_protocol_setup_map) { + shfree(wayland->wl_protocol_setup_map); + } + + wayland->wl_protocol_setup_map = NULL; + wayland->wl_protocol_map = NULL; sh_new_arena(wayland->wl_protocol_map); sh_new_arena(wayland->wl_protocol_setup_map); diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index c156e04..278b453 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -573,16 +573,22 @@ static void setup_popup(MwLL r, int x, int y, MwLL parent) { /* Popup destroy function */ static void destroy_popup(MwLL r) { - xdg_popup_destroy(r->wayland.popup->xdg_popup); + + MwLLWaylandBackbufferDestroy(&r->wayland); + MwLLWaylandFramebufferDestroy(&r->wayland); xdg_surface_destroy(r->wayland.popup->xdg_surface); + xdg_popup_destroy(r->wayland.popup->xdg_popup); + xdg_positioner_destroy(r->wayland.popup->xdg_positioner); wl_surface_destroy(r->wayland.framebuffer.surface); wl_registry_destroy(r->wayland.registry); + free(r->wayland.popup); + r->wayland.configured = MwFALSE; } @@ -702,6 +708,51 @@ static void destroy_layer_surface(MwLL r) { r->wayland.configured = MwFALSE; } +static void destroy_widget(MwLL handle) { + int i; + + MwLLShow(handle, MwFALSE); + + switch(handle->wayland.type) { + case MwLL_WAYLAND_TOPLEVEL: + destroy_toplevel(handle); + break; + case MwLL_WAYLAND_SUBLEVEL: + destroy_sublevel(handle); + break; + case MwLL_WAYLAND_POPUP: + destroy_popup(handle); + break; + case MwLL_WAYLAND_LAYER_SURFACE: + destroy_layer_surface(handle); + break; + default: + printf("Handle with unknown type(%d) tried to be destroyed (%p)\n", handle->wayland.type, handle); + break; + } + + if(wl_display_roundtrip(handle->wayland.display) == -1) { + printf("roundtrip failed\n"); + raise(SIGTRAP); + return; + } + + for(i = 0; i < shlen(handle->wayland.wl_protocol_setup_map); i++) { + void* ctx = shget(handle->wayland.wl_protocol_map, handle->wayland.wl_protocol_setup_map[i].key); + + if(ctx != NULL) { + handle->wayland.wl_protocol_setup_map[i].value->destroy(&handle->wayland, ctx); + } + shdel(handle->wayland.wl_protocol_map, handle->wayland.wl_protocol_setup_map[i].value); + free(handle->wayland.wl_protocol_setup_map[i].value); + } + + shfree(handle->wayland.wl_protocol_map); + shfree(handle->wayland.wl_protocol_setup_map); + + MwLLWaylandFlush(handle); +} + static void clip(MwLL handle) { int i; int x, y, cx, cy, mx, my; @@ -955,28 +1006,11 @@ static void MwLLDestroyImpl(MwLL handle) { wl_surface_destroy(handle->wayland.icon->surface); } - if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { - destroy_toplevel(handle); - } else if(handle->wayland.type == MwLL_WAYLAND_SUBLEVEL) { - destroy_sublevel(handle); - } else if(handle->wayland.type == MwLL_WAYLAND_POPUP) { - destroy_popup(handle); - } + destroy_widget(handle); + } else { + printf("widget invalid\n"); } - for(i = 0; i < shlen(handle->wayland.wl_protocol_setup_map); i++) { - void* ctx = shget(handle->wayland.wl_protocol_map, handle->wayland.wl_protocol_setup_map[i].key); - - if(ctx != NULL) { - handle->wayland.wl_protocol_setup_map[i].value->destroy(&handle->wayland, ctx); - } - shdel(handle->wayland.wl_protocol_map, handle->wayland.wl_protocol_setup_map[i].value); - } - shfree(handle->wayland.wl_protocol_map); - shfree(handle->wayland.wl_protocol_setup_map); - - MwLLWaylandFlush(handle); - pthread_mutex_lock(&destroyedWidgetsTableMutex); arrput(destroyedWidgetsTable, handle); pthread_mutex_unlock(&destroyedWidgetsTableMutex); @@ -1049,7 +1083,7 @@ static void actually_set_wh(MwLL handle) { } if(handle->wayland.type == MwLL_WAYLAND_POPUP) { - destroy_popup(handle); + destroy_widget(handle); MwLLWaylandFlush(handle); setup_popup(handle, handle->wayland.x, handle->wayland.y, handle->wayland.parent); } @@ -1751,22 +1785,7 @@ static void MwLLEndStateChangeImpl(MwLL handle) { } } - switch(handle->wayland.type) { - case MwLL_WAYLAND_UNKNOWN: - break; - case MwLL_WAYLAND_TOPLEVEL: - destroy_toplevel(handle); - break; - case MwLL_WAYLAND_SUBLEVEL: - destroy_sublevel(handle); - break; - case MwLL_WAYLAND_POPUP: - destroy_popup(handle); - break; - case MwLL_WAYLAND_LAYER_SURFACE: - destroy_layer_surface(handle); - break; - } + destroy_widget(handle); if(wl_display_roundtrip(handle->wayland.display) == -1) { printf("roundtrip failed\n"); From 610c63228e7b2868cbe8c7b12da1191e7bdfd786 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Fri, 17 Jul 2026 07:48:06 +0900 Subject: [PATCH 052/119] have CMakeLists.txt install a pkgconfig file (+ other fixes for building with MSYS) (#27) Reviewed-on: https://forgejo.nishi.boats/pyrite-dev/milsko/pulls/27 --- CMakeLists.txt | 43 ++++++++++++++++++++++++++++++------------- resource/milsko.pc.in | 10 ++++++++++ 2 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 resource/milsko.pc.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f6d830..0cb5e14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -296,7 +296,8 @@ if(MW_CLASSIC_THEME) ) endif() -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") +message("Building Milsko for ${CMAKE_SYSTEM_NAME}") +if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MSYS") target_sources( Mw PRIVATE @@ -336,6 +337,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") -framework Cocoa ) elseif(CMAKE_SYSTEM_NAME MATCHES "Retro") + target_sources( Mw PRIVATE @@ -354,6 +356,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Retro") CLASSIC_MAC_OS ) else() + find_package(PkgConfig) find_package(X11) pkg_check_modules(DBUS dbus-1) @@ -386,23 +389,26 @@ else() if(CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND LIBRARIES dl) endif() + + find_package(DBus1) + + if(${DBus1_FOUND}) + list(APPEND INCLUDE_DIRS ${DBUS_INCLUDE_DIRS}) + list(APPEND LIBRARY_DIRS ${DBUS_LIBRARY_DIRS}) + target_compile_definitions( + Mw + PRIVATE + USE_DBUS + ) + endif() endif() -find_package(DBus1) -if(${DBus1_FOUND}) - list(APPEND INCLUDE_DIRS ${DBUS_INCLUDE_DIRS}) - list(APPEND LIBRARY_DIRS ${DBUS_LIBRARY_DIRS}) - target_compile_definitions( - Mw - PRIVATE - USE_DBUS - ) + +if(UNIX) + list(APPEND LIBRARIES m) endif() -list(APPEND LIBRARIES m) - - target_include_directories( Mw PRIVATE @@ -457,6 +463,17 @@ install( ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/resource/${PROJECT_NAME}.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc + @ONLY + ) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc + DESTINATION $ENV{MINGW_PREFIX}/${CMAKE_INSTALL_DATADIR}/pkgconfig + ) + if(MW_INSTALL_HEADERS) install( DIRECTORY include/ diff --git a/resource/milsko.pc.in b/resource/milsko.pc.in new file mode 100644 index 0000000..9cdc61e --- /dev/null +++ b/resource/milsko.pc.in @@ -0,0 +1,10 @@ +prefix="@CMAKE_INSTALL_PREFIX@" +includedir="@CMAKE_INSTALL_PREFIX@/include" +libdir="@CMAKE_INSTALL_PREFIX@/bin" + +Name: @PROJECT_NAME@ +Description: @PROJECT_DESCRIPTION@ +URL: @PROJECT_HOMEPAGE_URL@ +Version: @PROJECT_VERSION@ +Cflags: -I"${includedir}"/ +Libs: -L"${libdir}" -lMw From 575b8eaee1e00e45b046289f383952b227ee5fb8 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sat, 18 Jul 2026 11:39:52 +0900 Subject: [PATCH 053/119] DirectWrite support (#28) Reviewed-on: https://forgejo.nishi.boats/pyrite-dev/milsko/pulls/28 --- CMakeLists.txt | 41 +- WatMakefile | 2 +- configure | 33 +- examples/vkdemos/CMakeLists.txt | 50 +- examples/vkdemos/vulkan.c | 11 +- include/Mw/LowLevel.h | 4 + pl/rules.pl | 4 + src/core.c | 15 +- src/text/directwrite.c | 588 ++ src/text/dwrite.h | 5517 +++++++++++ src/text/dwrite_2.h | 3297 +++++++ src/text/dwrite_3.h | 15191 ++++++++++++++++++++++++++++++ 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 | 8 +- 17 files changed, 24715 insertions(+), 54 deletions(-) create mode 100644 src/text/directwrite.c create mode 100644 src/text/dwrite.h create mode 100644 src/text/dwrite_2.h create mode 100644 src/text/dwrite_3.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0cb5e14..148c5f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,7 @@ include(GNUInstallDirs) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) option(MW_CLASSIC_THEME "Use classic theme" OFF) option(MW_BUILD_EXAMPLES "Build examples" OFF) @@ -29,12 +30,30 @@ endif() option(MW_INSTALL_HEADERS "Install headers" ON) -if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin OR ${CMAKE_SYSTEM_NAME} MATCHES Retro) +if( ${CMAKE_SYSTEM_NAME} STREQUAL Darwin + OR ${CMAKE_SYSTEM_NAME} MATCHES Retro + OR ${CMAKE_SYSTEM_NAME} MATCHES Windows) option(MW_USE_FREETYPE2 "Use FreeType 2" OFF) else() option(MW_USE_FREETYPE2 "Use FreeType 2" ON) 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() +endif() + if(${CMAKE_SYSTEM_NAME} STREQUAL Linux OR ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD) option(MW_USE_WAYLAND "Enable Wayland backend" ON) endif() @@ -69,8 +88,8 @@ if(MW_TRY_OPENGL) endif() if(MW_TRY_VULKAN) - check_include_files(vulkan/vulkan.h HAVE_VULKAN_VULKAN_H) - if(HAVE_VULKAN_VULKAN_H) + find_package(Vulkan OPTIONAL VULKAN) + if(${Vulkan_FOUND}) set(MW_BUILD_VULKAN ON) message(STATUS "Vulkan widget has been enabled") else() @@ -132,10 +151,10 @@ if(MW_USE_FREETYPE2) if(Freetype_FOUND) message(STATUS "FreeType2 found") target_compile_definitions( - Mw - PRIVATE - USE_FREETYPE2 - ) + Mw + PRIVATE + USE_FREETYPE2 + ) list(APPEND INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS}) list(APPEND LIBRARY_DIRS ${FREETYPE_LIBRARY_DIRS}) @@ -144,6 +163,14 @@ if(MW_USE_FREETYPE2) endif() endif() +if(MW_USE_DIRECTWRITE) + target_compile_definitions( + Mw + PRIVATE + USE_DIRECTWRITE + ) +endif() + if(MW_USE_WAYLAND) function(scan_wayland_protocol_core) execute_process( diff --git a/WatMakefile b/WatMakefile index bd32d9b..7e32bba 100644 --- a/WatMakefile +++ b/WatMakefile @@ -319,7 +319,7 @@ examples/gldemos/tripaint.obj: 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/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/stbtt.obj src/text/text.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/stbtt.obj file src/text/text.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 user32.lib library advapi32.lib - + external/libz/src/adler32.obj: external/libz/src/adler32.c diff --git a/configure b/configure index 0192a22..f24e3ab 100755 --- a/configure +++ b/configure @@ -2,6 +2,11 @@ our $target = `uname -s`; $target =~ s/\r?\n$//; +# MSYS with MinGW gives us some other shit idk +if (index($target, "MINGW") != -1) { + $target = "Windows"; +} + foreach my $l (@ARGV) { if ($l =~ /^--.+$/) { } @@ -39,14 +44,12 @@ require("./pl/utils.pl"); param_set("classic-theme", 0); param_set("stb-image", 1); -param_set("xrender", 1); param_set("opengl", 0); param_set("vulkan", 0); param_set("vulkan-string-helper", 1); param_set("shared", 1); param_set("static", 1); param_set("examples", 1); -param_set("dbus", 1); # (option that only makes sense on x11) param_set("allow-sloppy-focus", 0); @@ -56,7 +59,8 @@ my %features = ( "stb-image" => "use stb_image, instead use libjpeg/libpng", "stb-truetype" => "use stb_truetype", "freetype2" => "use FreeType2", - "xrender" => "use XRender", + "directwrite" => "(Windows only) use DirectWrite", + "xrender" => "(X11 only) use XRender", "opengl" => "build OpenGL widget", "vulkan" => "build Vulkan widget", "vulkan-string-helper" => "use Vulkan string helper", @@ -69,7 +73,7 @@ my %features = ( ); my @features_keys = ( "1classic-theme", "1stb-image", - "1stb-truetype", "1freetype2", + "1stb-truetype", "1freetype2", "1directwrite", "1opengl", "2xrender", "1vulkan", "2vulkan-string-helper", "1shared", "1static", @@ -87,13 +91,34 @@ sub def_platform { } if($target eq "Linux" || $target eq "FreeBSD") { param_set("x11", 1); + param_set("xrender", 1); if(!param_get("tiny")){ param_set("wayland", 1); } + param_set("dbus", 1); } if($target eq "NetBSD" || $target eq "OpenBSD") { 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); + } + } else { + param_set("directwrite", 0); + } } foreach my $l (@ARGV) { diff --git a/examples/vkdemos/CMakeLists.txt b/examples/vkdemos/CMakeLists.txt index 41f832c..9f37e0f 100644 --- a/examples/vkdemos/CMakeLists.txt +++ b/examples/vkdemos/CMakeLists.txt @@ -1,28 +1,30 @@ file( - GLOB - EXAMPLES_VULKAN_SOURCES - *.c + GLOB + EXAMPLES_VULKAN_SOURCES + *.c ) find_package(Vulkan) -foreach(PATH IN LISTS EXAMPLES_VULKAN_SOURCES) - get_filename_component(TARGET ${PATH} NAME_WE) - add_executable(${TARGET} MACOSX_BUNDLE ${PATH}) - target_include_directories( - ${TARGET} - PRIVATE - ${Vulkan_INCLUDE_DIR} - ) - target_link_libraries( - ${TARGET} - PRIVATE - Mw - ) - if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") - target_link_libraries( - ${TARGET} - PRIVATE - m - ) - endif() -endforeach() +if(${Vulkan_FOUND}) + foreach(PATH IN LISTS EXAMPLES_VULKAN_SOURCES) + get_filename_component(TARGET ${PATH} NAME_WE) + add_executable(${TARGET} MACOSX_BUNDLE ${PATH}) + target_include_directories( + ${TARGET} + PRIVATE + ${Vulkan_INCLUDE_DIR} + ) + target_link_libraries( + ${TARGET} + PRIVATE + Mw + ) + if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") + target_link_libraries( + ${TARGET} + PRIVATE + m + ) + endif() + endforeach() +endif() diff --git a/examples/vkdemos/vulkan.c b/examples/vkdemos/vulkan.c index 2d03030..6015415 100644 --- a/examples/vkdemos/vulkan.c +++ b/examples/vkdemos/vulkan.c @@ -1,10 +1,3 @@ - -/** - * this example is quite minimal, you may need to modify it if your graphics card is more esoteric - * - * ioixd maintains this file. nishi doesn't know vulkan at all - */ - #include #include @@ -264,8 +257,8 @@ void vulkan_setup(MwWidget handle) { swapchainCreateInfo.imageExtent = (VkExtent2D){.width = ow, .height = oh}, swapchainCreateInfo.imageArrayLayers = 1, swapchainCreateInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | - VK_IMAGE_USAGE_TRANSFER_DST_BIT | - VK_IMAGE_USAGE_SAMPLED_BIT; + VK_IMAGE_USAGE_TRANSFER_DST_BIT | + VK_IMAGE_USAGE_SAMPLED_BIT; // th is how we specify no transformation. swapchainCreateInfo.preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR; swapchainCreateInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 54f1b89..3ecd065 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -344,10 +344,14 @@ MWDECL int MWFL_FT2Setup(void); #ifdef USE_STB_TRUETYPE MWDECL int MwFL_STBTTSetup(void); #endif +#ifdef USE_DIRECTWRITE +MWDECL int MWFL_DWSetup(void); +#endif MWDECL int (*MwFLDrawText)(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, MwLLColor color); MWDECL int (*MwFLTextWidth)(MwFLFont ttf, const char* text); MWDECL int (*MwFLTextHeight)(MwFLFont ttf, int count); +MWDECL int (*MwFLTextHeightWithText)(MwFLFont ttf, const char * text); MWDECL void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px); MWDECL void (*MwFLFontFree)(void* handle); diff --git a/pl/rules.pl b/pl/rules.pl index bb6fa25..6f37482 100644 --- a/pl/rules.pl +++ b/pl/rules.pl @@ -134,6 +134,10 @@ if (param_get("freetype2")) { } } +if (param_get("directwrite")) { + add_cflags("-DUSE_DIRECTWRITE"); +} + if (param_get("vulkan") && param_get("vulkan-string-helper")) { add_cflags("-DHAS_VK_ENUM_STRING_HELPER"); } diff --git a/src/core.c b/src/core.c index 0366443..c77d450 100644 --- a/src/core.c +++ b/src/core.c @@ -310,12 +310,19 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, MwAddTickList(h); } -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) if(IsFirstVisible(h)) { + font_setup: h->root_font = MwFontLoad(MwTTFData, MwTTFDataSize); h->root_boldfont = MwFontLoad(MwBoldTTFData, MwBoldTTFDataSize); h->root_monofont = MwFontLoad(MwMonospaceTTFData, MwMonospaceTTFDataSize); h->root_boldmonofont = MwFontLoad(MwBoldMonospaceTTFData, MwBoldMonospaceTTFDataSize); + if(!h->root_font) { +#ifdef USE_STB_TRUETYPE + MwFL_STBTTSetup(); + goto font_setup; +#endif + } } else #endif { @@ -732,7 +739,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) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) if(strcmp(key, MwNbitmapFont) == 0) return inherit_integer(handle, key, 0); #else if(strcmp(key, MwNbitmapFont) == 0) return inherit_integer(handle, key, 1); @@ -783,7 +790,7 @@ const char* MwGetText(MwWidget handle, const char* key) { return shget(handle->text, key); } -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) static void* inherit_void(MwWidget handle, const char* key) { void* v; @@ -799,7 +806,7 @@ void* MwGetVoid(MwWidget handle, const char* key) { if(v != NULL) return v; -#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) 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 new file mode 100644 index 0000000..df584ac --- /dev/null +++ b/src/text/directwrite.c @@ -0,0 +1,588 @@ +/* + * 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 new file mode 100644 index 0000000..4872ded --- /dev/null +++ b/src/text/dwrite.h @@ -0,0 +1,5517 @@ +/*** 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 new file mode 100644 index 0000000..75cbd7e --- /dev/null +++ b/src/text/dwrite_2.h @@ -0,0 +1,3297 @@ +/*** 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 new file mode 100644 index 0000000..c2b6f85 --- /dev/null +++ b/src/text/dwrite_3.h @@ -0,0 +1,15191 @@ +/*** 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 7945831..6d54436 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) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) 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 14b2599..5b02578 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) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) 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 8332c4a..549e158 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) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) 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 c5d03b9..6dd1418 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) +#if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_DIRECTWRITE) 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 786089b..e43de8c 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -3,10 +3,11 @@ int (*MwFLDrawText)(MwWidget handle, MwFLFont font, MwPoint* point, const char* text, MwLLColor color) = NULL; int (*MwFLTextWidth)(MwFLFont font, const char* text) = NULL; int (*MwFLTextHeight)(MwFLFont font, int count) = NULL; +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) +#if defined(USE_FREETYPE2) || defined(USE_STB_TRUETYPE) || defined(USE_DIRECTWRITE) #define TTF #endif @@ -220,6 +221,8 @@ int MwTextHeight(MwWidget handle, MwFLFont ttf, const char* text) { #ifdef TTF if(MwFLTextHeight) if(!MwGetInteger(handle, MwNbitmapFont) && ttf != NULL && (st = MwFLTextHeight(ttf, c)) != -1) return st; + if(MwFLTextHeightWithText) + if(!MwGetInteger(handle, MwNbitmapFont) && ttf != NULL && (st = MwFLTextHeightWithText(ttf, text)) != -1) return st; #endif return FontHeight * c; } @@ -297,6 +300,9 @@ static void bitmap_MwDrawText(MwWidget handle, MwPoint* point, const char* text, typedef int (*call_t)(void); void MwFLSetup(void) { call_t calls[] = { +#ifdef USE_DIRECTWRITE + MWFL_DWSetup, +#endif #ifdef USE_FREETYPE2 MWFL_FT2Setup, #endif From 42802313cb3a5eb052f1119ad51f216be5731d9a Mon Sep 17 00:00:00 2001 From: IoIxD Date: Fri, 17 Jul 2026 20:45:50 -0700 Subject: [PATCH 054/119] win32: migrate if/else chain to switch case --- src/backend/gdi.c | 147 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 117 insertions(+), 30 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index bbab256..53a3476 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -67,7 +67,9 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { if(u == NULL) return DefWindowProc(hWnd, msg, wp, lp); - if(msg == WM_PAINT) { + switch(msg) { + case WM_PAINT: + { PAINTSTRUCT ps; RECT rc; HBITMAP hbmp; @@ -98,7 +100,12 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { MwLLDispatch(u->ll, draw, NULL); EndPaint(hWnd, &ps); } - } else if(msg == WM_LBUTTONDOWN || msg == WM_MBUTTONDOWN || msg == WM_RBUTTONDOWN) { + break; + } + case WM_LBUTTONDOWN: + case WM_MBUTTONDOWN: + case WM_RBUTTONDOWN: + { MwMouse p; p.point.x = LOWORD(lp); p.point.y = HIWORD(lp); @@ -113,7 +120,12 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { SetCapture(hWnd); SetFocus(hWnd); MwLLDispatch(u->ll, down, &p); - } else if(msg == WM_LBUTTONUP || msg == WM_MBUTTONUP || msg == WM_RBUTTONUP) { + break; + } + case WM_LBUTTONUP: + case WM_MBUTTONUP: + case WM_RBUTTONUP: + { MwMouse p; p.point.x = LOWORD(lp); p.point.y = HIWORD(lp); @@ -127,7 +139,10 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { SetCapture(NULL); MwLLDispatch(u->ll, up, &p); - } else if(msg == WM_MOUSEWHEEL) { + break; + } + case WM_MOUSEWHEEL: + { int d = GET_WHEEL_DELTA_WPARAM(wp); MwMouse p; p.point.x = LOWORD(lp); @@ -141,7 +156,10 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { MwLLDispatch(u->ll, down, &p); MwLLDispatch(u->ll, up, &p); - } else if(msg == WM_MOUSEMOVE) { + break; + } + case WM_MOUSEMOVE: + { MwPoint p; p.x = LOWORD(lp); p.y = HIWORD(lp); @@ -169,19 +187,35 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { SetCursorPos(p.x, p.y); } - } else if(msg == WM_SIZE) { + break; + } + case WM_SIZE: + { MwLLDispatch(u->ll, resize, NULL); - } else if(msg == WM_ERASEBKGND) { + break; + } + case WM_ERASEBKGND: + { return 1; - } else if(msg == WM_NCHITTEST) { + } + case WM_NCHITTEST: + { LPARAM style = GetWindowLongPtr(hWnd, GWL_STYLE); if(style & WS_CHILD) return HTCLIENT; return DefWindowProc(hWnd, msg, wp, lp); - } else if(msg == WM_DESTROY) { + } + case WM_DESTROY: + { PostQuitMessage(0); - } else if(msg == WM_CLOSE) { + break; + } + case WM_CLOSE: + { MwLLDispatch(u->ll, close, NULL); - } else if(msg == WM_CHAR || msg == WM_SYSCHAR) { + } + case WM_CHAR: + case WM_SYSCHAR: + { int n = wp; const int base = 'A' - 1; @@ -193,24 +227,61 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { if(msg == WM_SYSCHAR) n |= MwKEY_ALT_FLAG; if((0x20 <= n && n <= 0x7f) || (n & MwKEY_FLAG)) MwLLDispatch(u->ll, key, &n); - } else if(msg == WM_SETFOCUS) { + break; + } + case WM_SETFOCUS: + { MwLLDispatch(u->ll, focus_in, NULL); - } else if(msg == WM_KILLFOCUS) { + break; + } + case WM_KILLFOCUS: + { MwLLDispatch(u->ll, focus_out, NULL); - } else if(msg == WM_KEYDOWN || msg == WM_KEYUP || msg == WM_SYSKEYDOWN || msg == WM_SYSKEYUP) { + break; + } + case WM_KEYDOWN: + case WM_KEYUP: + case WM_SYSKEYDOWN: + case WM_SYSKEYUP: + { int n = -1; + if(wp == VK_MENU && msg == WM_KEYUP) return 0; - if(wp == VK_LEFT) n = MwKEY_LEFT; - if(wp == VK_RIGHT) n = MwKEY_RIGHT; - if(wp == VK_UP) n = MwKEY_UP; - if(wp == VK_DOWN) n = MwKEY_DOWN; - if(wp == VK_RETURN) n = MwKEY_ENTER; - if(wp == VK_BACK) n = MwKEY_BACKSPACE; - if(wp == VK_ESCAPE) n = MwKEY_ESCAPE; - if(wp == VK_LSHIFT) n = MwKEY_LEFTSHIFT; - if(wp == VK_RSHIFT) n = MwKEY_RIGHTSHIFT; - if(wp == VK_MENU) n = MwKEY_ALT; - if(wp == VK_CONTROL) n = MwKEY_CONTROL; + switch(wp) { + case VK_LEFT: + n = MwKEY_LEFT; + break; + case VK_RIGHT: + n = MwKEY_RIGHT; + break; + case VK_UP: + n = MwKEY_UP; + break; + case VK_DOWN: + n = MwKEY_DOWN; + break; + case VK_RETURN: + n = MwKEY_ENTER; + break; + case VK_BACK: + n = MwKEY_BACKSPACE; + break; + case VK_ESCAPE: + n = MwKEY_ESCAPE; + break; + case VK_LSHIFT: + n = MwKEY_LEFTSHIFT; + break; + case VK_RSHIFT: + n = MwKEY_RIGHTSHIFT; + break; + case VK_MENU: + n = MwKEY_ALT; + break; + case VK_CONTROL: + n = MwKEY_CONTROL; + break; + } if((msg == WM_SYSKEYDOWN || msg == WM_SYSKEYUP) && n != -1 && wp != VK_MENU) { n |= MwKEY_ALT_FLAG; @@ -222,7 +293,10 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { MwLLDispatch(u->ll, key_released, &n); } } - } else if(msg == WM_GETMINMAXINFO) { + break; + } + case WM_GETMINMAXINFO: + { if(u->min_set || u->max_set) { LPARAM style = GetWindowLongPtr(hWnd, GWL_STYLE); MINMAXINFO* mmi = (MINMAXINFO*)lp; @@ -253,22 +327,35 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { } else { return DefWindowProc(hWnd, msg, wp, lp); } - } else if(msg == WM_SETCURSOR) { + break; + } + case WM_SETCURSOR: + { if(LOWORD(lp) != HTCLIENT) return DefWindowProc(hWnd, msg, wp, lp); if(u->ll->gdi.cursor != NULL) SetCursor(u->ll->gdi.cursor); - } else if(msg == WM_USER) { + break; + } + case WM_USER: + { InvalidateRect(hWnd, NULL, FALSE); UpdateWindow(hWnd); - } else if(msg == WM_WININICHANGE) { + break; + } + case WM_WININICHANGE: + { char* s = (char*)lp; LPARAM style = GetWindowLongPtr(hWnd, GWL_STYLE); if(!(style & WS_CHILD)) { if(s != NULL && strcmp(s, "ImmersiveColorSet") == 0) detect_darktheme(u->ll); } - } else { + break; + } + default: + { return DefWindowProc(hWnd, msg, wp, lp); } + } return 0; } From f260c3c11ed89db1e2fd214ad25971bfe6677cfb Mon Sep 17 00:00:00 2001 From: IoIxD Date: Fri, 17 Jul 2026 20:47:28 -0700 Subject: [PATCH 055/119] win32: missed a break under WM_CLOSE --- src/backend/gdi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 53a3476..62a1a1b 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -212,6 +212,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { case WM_CLOSE: { MwLLDispatch(u->ll, close, NULL); + break; } case WM_CHAR: case WM_SYSCHAR: From b20a54fb76635a25859fee1002cb0e126dd49530 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Fri, 17 Jul 2026 21:55:16 -0700 Subject: [PATCH 056/119] new function MwWindowShouldClose --- include/Mw/Widget/Window.h | 13 +++++++++++++ src/widget/window.c | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/include/Mw/Widget/Window.h b/include/Mw/Widget/Window.h index 24b7153..e5826c1 100644 --- a/include/Mw/Widget/Window.h +++ b/include/Mw/Widget/Window.h @@ -27,6 +27,19 @@ MwInline void MwWindowMakeBorderless(MwWidget handle, int toggle) { MwVaWidgetExecute(handle, "mwWindowMakeBorderless", NULL, toggle); } + +/*! + * @brief Whether the window should close + * @param handle Widget + * @return bool + */ +MwInline MwBool MwWindowShouldClose(MwWidget handle) { + MwBool res = MwFALSE; + MwVaWidgetExecute(handle, "mwWindowShouldClose", NULL, &res); + return res; +} + + #ifdef __cplusplus } #endif diff --git a/src/widget/window.c b/src/widget/window.c index 7178d3f..930b092 100644 --- a/src/widget/window.c +++ b/src/widget/window.c @@ -35,6 +35,10 @@ static void mwWindowMakeBorderlessImpl(MwWidget handle, int toggle) { MwLLEndStateChange(handle->lowlevel); } +static void mwWindowShouldCloseImpl(MwWidget handle, MwBool* out) { + *out = handle->close; +} + static void func_handler(MwWidget handle, const char* name, void* out, va_list va) { (void)out; @@ -42,6 +46,10 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v int toggle = va_arg(va, int); mwWindowMakeBorderlessImpl(handle, toggle); } + if(strcmp(name, "mwWindowShouldClose") == 0) { + MwBool *out = va_arg(va, MwBool*); + mwWindowShouldCloseImpl(handle, out); + } } MwClassRec MwWindowClassRec = { wcreate, /* create */ From 2c9d0c78e43599b286861885952e502eeb76a268 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Fri, 17 Jul 2026 22:15:33 -0700 Subject: [PATCH 057/119] allow null for name --- src/core.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/core.c b/src/core.c index c77d450..b984bb7 100644 --- a/src/core.c +++ b/src/core.c @@ -225,14 +225,19 @@ static void lldarkthemehandler(MwLL handle, void* data) { static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, MwWidget parent, int x, int y, unsigned int width, unsigned int height, int do_prop, va_list prop) { MwWidget h = malloc(sizeof(*h)); - h->name = MwStringDuplicate(name); + if(name) + h->name = MwStringDuplicate(name); + else + h->name = NULL; h->parent = parent; h->children = NULL; if(widget_class != NULL) { if((h->lowlevel = MwLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height)) == NULL) { - free(h->name); + if(h->name) { + free(h->name); + } free(h); return NULL; } @@ -411,7 +416,7 @@ void MwFreeWidget(MwWidget handle) { } } - free(handle->name); + if(handle->name) free(handle->name); if(handle->lowlevel != NULL) MwLLDestroy(handle->lowlevel); From 9a29682915110cb7c2121e983156b93ac4ccefba Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 19 Jul 2026 17:53:30 +0900 Subject: [PATCH 058/119] fix cmake --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 148c5f3..56d5b1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.25) +cmake_minimum_required(VERSION 3.13) project( milsko ) @@ -88,7 +88,7 @@ if(MW_TRY_OPENGL) endif() if(MW_TRY_VULKAN) - find_package(Vulkan OPTIONAL VULKAN) + find_package(Vulkan) if(${Vulkan_FOUND}) set(MW_BUILD_VULKAN ON) message(STATUS "Vulkan widget has been enabled") From 8ebc8108ed143abfe88bb49933f6c207b95ef656 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 19 Jul 2026 20:37:04 +0900 Subject: [PATCH 059/119] implement gdi text renderer --- CMakeLists.txt | 9 + examples/vkdemos/vulkan.c | 4 +- include/Mw/LowLevel.h | 9 +- include/Mw/Milsko.h | 1 + include/Mw/TrueType.h | 33 + include/Mw/TypeDefs.h | 6 + include/Mw/Widget/Window.h | 8 +- src/abstract/charset.c | 2 +- src/backend/cairo.c | 12 +- src/core.c | 6 +- src/text/directwrite.c | 4 +- src/text/dwrite.h | 6535 ++++++------ src/text/dwrite_2.h | 4283 ++++---- src/text/dwrite_3.h | 19600 +++++++++++++++++------------------ src/text/ft2.c | 2 +- src/text/gdi.c | 148 + src/text/text.c | 11 +- src/ttf.c | 142 + src/widget/label.c | 6 +- src/widget/window.c | 4 +- 20 files changed, 15411 insertions(+), 15414 deletions(-) create mode 100644 include/Mw/TrueType.h create mode 100644 src/text/gdi.c create mode 100644 src/ttf.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 56d5b1e..e1fbb2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,6 +52,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) option(MW_USE_DIRECTWRITE "Use DirectWrite" OFF) endif() endif() + option(MW_USE_GDI_TEXT "Use GDI for text rendering" ON) endif() if(${CMAKE_SYSTEM_NAME} STREQUAL Linux OR ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD) @@ -171,6 +172,14 @@ if(MW_USE_DIRECTWRITE) ) endif() +if(MW_USE_GDI_TEXT) + target_compile_definitions( + Mw + PRIVATE + USE_GDI_TEXT + ) +endif() + if(MW_USE_WAYLAND) function(scan_wayland_protocol_core) execute_process( diff --git a/examples/vkdemos/vulkan.c b/examples/vkdemos/vulkan.c index 6015415..9060a97 100644 --- a/examples/vkdemos/vulkan.c +++ b/examples/vkdemos/vulkan.c @@ -257,8 +257,8 @@ void vulkan_setup(MwWidget handle) { swapchainCreateInfo.imageExtent = (VkExtent2D){.width = ow, .height = oh}, swapchainCreateInfo.imageArrayLayers = 1, swapchainCreateInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | - VK_IMAGE_USAGE_TRANSFER_DST_BIT | - VK_IMAGE_USAGE_SAMPLED_BIT; + VK_IMAGE_USAGE_TRANSFER_DST_BIT | + VK_IMAGE_USAGE_SAMPLED_BIT; // th is how we specify no transformation. swapchainCreateInfo.preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR; swapchainCreateInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 3ecd065..efbc015 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -339,19 +339,22 @@ MWDECL void (*MwLLClip)(MwLL handle, MwRect* rect); MWDECL void MwFLSetup(void); #ifdef USE_FREETYPE2 -MWDECL int MWFL_FT2Setup(void); +MWDECL int MwFL_FT2Setup(void); #endif #ifdef USE_STB_TRUETYPE MWDECL int MwFL_STBTTSetup(void); #endif #ifdef USE_DIRECTWRITE -MWDECL int MWFL_DWSetup(void); +MWDECL int MwFL_DWSetup(void); +#endif +#ifdef USE_GDI_TEXT +MWDECL int MwFL_GDISetup(void); #endif MWDECL int (*MwFLDrawText)(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, MwLLColor color); MWDECL int (*MwFLTextWidth)(MwFLFont ttf, const char* text); MWDECL int (*MwFLTextHeight)(MwFLFont ttf, int count); -MWDECL int (*MwFLTextHeightWithText)(MwFLFont ttf, const char * text); +MWDECL int (*MwFLTextHeightWithText)(MwFLFont ttf, const char* text); MWDECL void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px); MWDECL void (*MwFLFontFree)(void* handle); diff --git a/include/Mw/Milsko.h b/include/Mw/Milsko.h index f7b4b49..9860990 100644 --- a/include/Mw/Milsko.h +++ b/include/Mw/Milsko.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/include/Mw/TrueType.h b/include/Mw/TrueType.h new file mode 100644 index 0000000..7204c31 --- /dev/null +++ b/include/Mw/TrueType.h @@ -0,0 +1,33 @@ +/*! + * @file Mw/TrueType.h + * @brief TrueType utilities + */ +#ifndef __MW_TRUETYPE_H__ +#define __MW_TRUETYPE_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + * @brief Get the TrueType font information + * @param data Font data + * @param size Font size + * @return Information + */ +MWDECL MwTTFInfo MwTTFGetInfo(unsigned char* data, int size); + +/*! + * @brief Free the TrueType font information + * @brief info Information + */ +MWDECL void MwTTFFreeInfo(MwTTFInfo info); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index b31c4b4..4944105 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -31,6 +31,7 @@ typedef struct _MwSubWindow* MwSubWindow; typedef struct _MwTab* MwTab; typedef struct _MwTable* MwTable; typedef struct _MwMouse MwMouse; +typedef struct _MwTTFInfo* MwTTFInfo; #ifdef _MILSKO typedef struct _MwWidget* MwWidget; #else @@ -247,6 +248,11 @@ struct _MwMouse { int button; }; +struct _MwTTFInfo { + char* family; + int weight; +}; + struct _MwClass { MwHandlerWithStatus create; MwHandler destroy; diff --git a/include/Mw/Widget/Window.h b/include/Mw/Widget/Window.h index e5826c1..6a98b68 100644 --- a/include/Mw/Widget/Window.h +++ b/include/Mw/Widget/Window.h @@ -27,19 +27,17 @@ MwInline void MwWindowMakeBorderless(MwWidget handle, int toggle) { MwVaWidgetExecute(handle, "mwWindowMakeBorderless", NULL, toggle); } - /*! * @brief Whether the window should close * @param handle Widget * @return bool */ MwInline MwBool MwWindowShouldClose(MwWidget handle) { - MwBool res = MwFALSE; - MwVaWidgetExecute(handle, "mwWindowShouldClose", NULL, &res); - return res; + MwBool res = MwFALSE; + MwVaWidgetExecute(handle, "mwWindowShouldClose", NULL, &res); + return res; } - #ifdef __cplusplus } #endif diff --git a/src/abstract/charset.c b/src/abstract/charset.c index 47cc9a2..3bd7625 100644 --- a/src/abstract/charset.c +++ b/src/abstract/charset.c @@ -64,7 +64,7 @@ char* MwUTF8ToACP(const char* input) { return MwStringDuplicate(input); } - wout = malloc(wbytes); + wout = malloc(wbytes + sizeof(wchar_t)); len = wbytes / sizeof(wchar_t); memset(wout, 0, wbytes); diff --git a/src/backend/cairo.c b/src/backend/cairo.c index 7b92d00..0c26ff3 100644 --- a/src/backend/cairo.c +++ b/src/backend/cairo.c @@ -212,8 +212,8 @@ static void MwLLFreeColorImpl(MwLLColor color) {} static MwBool lmao = MwFALSE; static int MwLLPendingImpl(MwLL handle) { - lmao = !lmao; - return lmao; + lmao = !lmao; + return lmao; } static void MwLLNextEventImpl(MwLL handle) { MwLLDispatch(handle, draw, NULL); @@ -256,10 +256,10 @@ static MwBool MwLLDoModernImpl(MwLL handle) { static void MwLLRaiseImpl(MwLL handle) {} static void MwLLClipImpl(MwLL handle, MwRect* rect) {} static int MwLLCairoCallInitImpl(void) { - if(cairo_load_funcs() != 0) { - return 1; - } - return 0; + if(cairo_load_funcs() != 0) { + return 1; + } + return 0; } #include "call.c" CALL(Cairo); diff --git a/src/core.c b/src/core.c index b984bb7..c72b868 100644 --- a/src/core.c +++ b/src/core.c @@ -226,16 +226,16 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, MwWidget h = malloc(sizeof(*h)); if(name) - h->name = MwStringDuplicate(name); + h->name = MwStringDuplicate(name); else - h->name = NULL; + h->name = NULL; h->parent = parent; h->children = NULL; if(widget_class != NULL) { if((h->lowlevel = MwLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height)) == NULL) { - if(h->name) { + if(h->name) { free(h->name); } free(h); diff --git a/src/text/directwrite.c b/src/text/directwrite.c index df584ac..75c707c 100644 --- a/src/text/directwrite.c +++ b/src/text/directwrite.c @@ -530,7 +530,7 @@ static CustomTextRenderer* CustomTextRenderer_Create(IDWriteFactory6* write_fact return obj; } -int MWFL_DWSetup(void) { +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. */ @@ -541,7 +541,7 @@ int MWFL_DWSetup(void) { printf("ole32lib not found, cannot use DirectWrite\n"); return 1; } - CoInitialize = (HRESULT (*)(LPVOID pvReserved))GetProcAddress(ole32lib, "CoInitialize"); + CoInitialize = (HRESULT(*)(LPVOID pvReserved))GetProcAddress(ole32lib, "CoInitialize"); if(!CoInitialize) { printf("CoInitialize not found, cannot use DirectWrite\n"); return 1; diff --git a/src/text/dwrite.h b/src/text/dwrite.h index 4872ded..81f87aa 100644 --- a/src/text/dwrite.h +++ b/src/text/dwrite.h @@ -15,7 +15,6 @@ #include #endif - #ifndef __dwrite_h__ #define __dwrite_h__ @@ -296,443 +295,443 @@ interface ID2D1SimplifiedGeometrySink; typedef ID2D1SimplifiedGeometrySink IDWriteGeometrySink; #ifndef _WINDEF_ -typedef void *HMONITOR; +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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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) ( \ +#define DWRITE_MAKE_OPENTYPE_TAG(a, b, c, d) ( \ ((UINT32)(UINT8)(d) << 24) | \ ((UINT32)(UINT8)(c) << 16) | \ - ((UINT32)(UINT8)(b) << 8) | \ - (UINT32)(UINT8)(a)) + ((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_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_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_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_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; + 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; + 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; + FLOAT advanceOffset; + FLOAT ascenderOffset; } DWRITE_GLYPH_OFFSET; typedef struct DWRITE_MATRIX { - FLOAT m11; - FLOAT m12; - FLOAT m21; - FLOAT m22; - FLOAT dx; - FLOAT dy; + 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_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; + 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; + 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; + 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; + 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; + 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; + 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_TAG nameTag; + UINT32 parameter; } DWRITE_FONT_FEATURE; typedef struct DWRITE_TEXT_RANGE { - UINT32 startPosition; - UINT32 length; + UINT32 startPosition; + UINT32 length; } DWRITE_TEXT_RANGE; typedef struct DWRITE_LINE_METRICS { - UINT32 length; - UINT32 trailingWhitespaceLength; - UINT32 newlineLength; - FLOAT height; - FLOAT baseline; - WINBOOL isTrimmed; + 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; + 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; + 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; + 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; + 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; + 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_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; + 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; + UINT16 justification : 4; + UINT16 isClusterStart : 1; + UINT16 isDiacritic : 1; + UINT16 isZeroWidthSpace : 1; + UINT16 reserved : 9; } DWRITE_SHAPING_GLYPH_PROPERTIES; /***************************************************************************** * IDWriteFontFileStream interface @@ -740,115 +739,112 @@ typedef struct DWRITE_SHAPING_GLYPH_PROPERTIES { #ifndef __IDWriteFontFileStream_INTERFACE_DEFINED__ #define __IDWriteFontFileStream_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFileStream, 0x6d4865fe, 0x0ab8, 0x4d91, 0x8f,0x62, 0x5d,0xd6,0xbe,0x34,0xa3,0xe0); +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; +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 void STDMETHODCALLTYPE ReleaseFileFragment( + void* fragment_context) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFileSize( - UINT64 *size) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLastWriteTime( - UINT64 *last_writetime) = 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) +__CRT_UUID_DECL(IDWriteFontFileStream, 0x6d4865fe, 0x0ab8, 0x4d91, 0x8f, 0x62, 0x5d, 0xd6, 0xbe, 0x34, 0xa3, 0xe0) #endif #else typedef struct IDWriteFontFileStreamVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFileStream *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFileStream* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFileStream *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFileStream* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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); + void(STDMETHODCALLTYPE* ReleaseFileFragment)( + IDWriteFontFileStream* This, + void* fragment_context); - HRESULT (STDMETHODCALLTYPE *GetFileSize)( - IDWriteFontFileStream *This, - UINT64 *size); + HRESULT(STDMETHODCALLTYPE* GetFileSize)( + IDWriteFontFileStream* This, + UINT64* size); - HRESULT (STDMETHODCALLTYPE *GetLastWriteTime)( - IDWriteFontFileStream *This, - UINT64 *last_writetime); + HRESULT(STDMETHODCALLTYPE* GetLastWriteTime)( + IDWriteFontFileStream* This, + UINT64* last_writetime); - END_INTERFACE + END_INTERFACE } IDWriteFontFileStreamVtbl; interface IDWriteFontFileStream { - CONST_VTBL IDWriteFontFileStreamVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFileStream_Release(IDWriteFontFileStream* This) { - return This->lpVtbl->Release(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 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 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_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); +static inline HRESULT IDWriteFontFileStream_GetLastWriteTime(IDWriteFontFileStream* This, UINT64* last_writetime) { + return This->lpVtbl->GetLastWriteTime(This, last_writetime); } #endif #endif #endif - -#endif /* __IDWriteFontFileStream_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontFileStream_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFileLoader interface @@ -856,80 +852,77 @@ static inline HRESULT IDWriteFontFileStream_GetLastWriteTime(IDWriteFontFileStre #ifndef __IDWriteFontFileLoader_INTERFACE_DEFINED__ #define __IDWriteFontFileLoader_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFileLoader, 0x727cad4e, 0xd6af, 0x4c9e, 0x8a,0x08, 0xd6,0x95,0xb1,0x1c,0xaa,0x49); +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; - +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) +__CRT_UUID_DECL(IDWriteFontFileLoader, 0x727cad4e, 0xd6af, 0x4c9e, 0x8a, 0x08, 0xd6, 0x95, 0xb1, 0x1c, 0xaa, 0x49) #endif #else typedef struct IDWriteFontFileLoaderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFileLoader *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFileLoader* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFileLoader* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFileLoader* This); - /*** IDWriteFontFileLoader methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( - IDWriteFontFileLoader *This, - const void *key, - UINT32 key_size, - IDWriteFontFileStream **stream); + /*** IDWriteFontFileLoader methods ***/ + HRESULT(STDMETHODCALLTYPE* CreateStreamFromKey)( + IDWriteFontFileLoader* This, + const void* key, + UINT32 key_size, + IDWriteFontFileStream** stream); - END_INTERFACE + END_INTERFACE } IDWriteFontFileLoaderVtbl; interface IDWriteFontFileLoader { - CONST_VTBL IDWriteFontFileLoaderVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFileLoader_Release(IDWriteFontFileLoader* This) { - return This->lpVtbl->Release(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); +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__ */ +#endif /* __IDWriteFontFileLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteLocalFontFileLoader interface @@ -937,125 +930,122 @@ static inline HRESULT IDWriteFontFileLoader_CreateStreamFromKey(IDWriteFontFileL #ifndef __IDWriteLocalFontFileLoader_INTERFACE_DEFINED__ #define __IDWriteLocalFontFileLoader_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteLocalFontFileLoader, 0xb2d9f3ec, 0xc9fe, 0x4a11, 0xa2,0xec, 0xd8,0x62,0x08,0xf7,0xc0,0xa2); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteLocalFontFileLoader, 0xb2d9f3ec, 0xc9fe, 0x4a11, 0xa2, 0xec, 0xd8, 0x62, 0x08, 0xf7, 0xc0, 0xa2) #endif #else typedef struct IDWriteLocalFontFileLoaderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteLocalFontFileLoader *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteLocalFontFileLoader* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteLocalFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteLocalFontFileLoader* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteLocalFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteLocalFontFileLoader* This); - /*** IDWriteFontFileLoader methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( - IDWriteLocalFontFileLoader *This, - const void *key, - UINT32 key_size, - IDWriteFontFileStream **stream); + /*** 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); + /*** 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* 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); + HRESULT(STDMETHODCALLTYPE* GetLastWriteTimeFromKey)( + IDWriteLocalFontFileLoader* This, + const void* key, + UINT32 key_size, + FILETIME* writetime); - END_INTERFACE + END_INTERFACE } IDWriteLocalFontFileLoaderVtbl; interface IDWriteLocalFontFileLoader { - CONST_VTBL IDWriteLocalFontFileLoaderVtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteLocalFontFileLoader_Release(IDWriteLocalFontFileLoader* This) { - return This->lpVtbl->Release(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); +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_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_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); +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__ */ +#endif /* __IDWriteLocalFontFileLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFile interface @@ -1063,106 +1053,103 @@ static inline HRESULT IDWriteLocalFontFileLoader_GetLastWriteTimeFromKey(IDWrite #ifndef __IDWriteFontFile_INTERFACE_DEFINED__ #define __IDWriteFontFile_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFile, 0x739d886a, 0xcef5, 0x47dc, 0x87,0x69, 0x1a,0x8b,0x41,0xbe,0xbb,0xb0); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontFile, 0x739d886a, 0xcef5, 0x47dc, 0x87, 0x69, 0x1a, 0x8b, 0x41, 0xbe, 0xbb, 0xb0) #endif #else typedef struct IDWriteFontFileVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFile *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFile* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFile *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFile* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFile *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFile* This); - /*** IDWriteFontFile methods ***/ - HRESULT (STDMETHODCALLTYPE *GetReferenceKey)( - IDWriteFontFile *This, - const void **key, - UINT32 *key_size); + /*** IDWriteFontFile methods ***/ + HRESULT(STDMETHODCALLTYPE* GetReferenceKey)( + IDWriteFontFile* This, + const void** key, + UINT32* key_size); - HRESULT (STDMETHODCALLTYPE *GetLoader)( - IDWriteFontFile *This, - IDWriteFontFileLoader **loader); + 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); + 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 + END_INTERFACE } IDWriteFontFileVtbl; interface IDWriteFontFile { - CONST_VTBL IDWriteFontFileVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFile_Release(IDWriteFontFile* This) { - return This->lpVtbl->Release(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_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_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); +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__ */ +#endif /* __IDWriteFontFile_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFileEnumerator interface @@ -1170,87 +1157,84 @@ static inline HRESULT IDWriteFontFile_Analyze(IDWriteFontFile* This,WINBOOL *is_ #ifndef __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ #define __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFileEnumerator, 0x72755049, 0x5ff7, 0x435d, 0x83,0x48, 0x4b,0xe9,0x7c,0xfa,0x6c,0x7c); +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; +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) +__CRT_UUID_DECL(IDWriteFontFileEnumerator, 0x72755049, 0x5ff7, 0x435d, 0x83, 0x48, 0x4b, 0xe9, 0x7c, 0xfa, 0x6c, 0x7c) #endif #else typedef struct IDWriteFontFileEnumeratorVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFileEnumerator *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFileEnumerator* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFileEnumerator *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFileEnumerator* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFileEnumerator *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFileEnumerator* This); - /*** IDWriteFontFileEnumerator methods ***/ - HRESULT (STDMETHODCALLTYPE *MoveNext)( - IDWriteFontFileEnumerator *This, - WINBOOL *has_current_file); + /*** IDWriteFontFileEnumerator methods ***/ + HRESULT(STDMETHODCALLTYPE* MoveNext)( + IDWriteFontFileEnumerator* This, + WINBOOL* has_current_file); - HRESULT (STDMETHODCALLTYPE *GetCurrentFontFile)( - IDWriteFontFileEnumerator *This, - IDWriteFontFile **font_file); + HRESULT(STDMETHODCALLTYPE* GetCurrentFontFile)( + IDWriteFontFileEnumerator* This, + IDWriteFontFile** font_file); - END_INTERFACE + END_INTERFACE } IDWriteFontFileEnumeratorVtbl; interface IDWriteFontFileEnumerator { - CONST_VTBL IDWriteFontFileEnumeratorVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFileEnumerator_Release(IDWriteFontFileEnumerator* This) { - return This->lpVtbl->Release(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_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); +static inline HRESULT IDWriteFontFileEnumerator_GetCurrentFontFile(IDWriteFontFileEnumerator* This, IDWriteFontFile** font_file) { + return This->lpVtbl->GetCurrentFontFile(This, font_file); } #endif #endif #endif - -#endif /* __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontFileEnumerator_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollectionLoader interface @@ -1258,82 +1242,79 @@ static inline HRESULT IDWriteFontFileEnumerator_GetCurrentFontFile(IDWriteFontFi #ifndef __IDWriteFontCollectionLoader_INTERFACE_DEFINED__ #define __IDWriteFontCollectionLoader_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontCollectionLoader, 0xcca920e4, 0x52f0, 0x492b, 0xbf,0xa8, 0x29,0xc7,0x2e,0xe0,0xa4,0x68); +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; - +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) +__CRT_UUID_DECL(IDWriteFontCollectionLoader, 0xcca920e4, 0x52f0, 0x492b, 0xbf, 0xa8, 0x29, 0xc7, 0x2e, 0xe0, 0xa4, 0x68) #endif #else typedef struct IDWriteFontCollectionLoaderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontCollectionLoader *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontCollectionLoader* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontCollectionLoader *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontCollectionLoader* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontCollectionLoader *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontCollectionLoader* This); - /*** IDWriteFontCollectionLoader methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateEnumeratorFromKey)( - IDWriteFontCollectionLoader *This, - IDWriteFactory *factory, - const void *key, - UINT32 key_size, - IDWriteFontFileEnumerator **enumerator); + /*** IDWriteFontCollectionLoader methods ***/ + HRESULT(STDMETHODCALLTYPE* CreateEnumeratorFromKey)( + IDWriteFontCollectionLoader* This, + IDWriteFactory* factory, + const void* key, + UINT32 key_size, + IDWriteFontFileEnumerator** enumerator); - END_INTERFACE + END_INTERFACE } IDWriteFontCollectionLoaderVtbl; interface IDWriteFontCollectionLoader { - CONST_VTBL IDWriteFontCollectionLoaderVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontCollectionLoader_Release(IDWriteFontCollectionLoader* This) { - return This->lpVtbl->Release(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); +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__ */ +#endif /* __IDWriteFontCollectionLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteLocalizedStrings interface @@ -1341,146 +1322,142 @@ static inline HRESULT IDWriteFontCollectionLoader_CreateEnumeratorFromKey(IDWrit #ifndef __IDWriteLocalizedStrings_INTERFACE_DEFINED__ #define __IDWriteLocalizedStrings_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteLocalizedStrings, 0x08256209, 0x099a, 0x4b34, 0xb8,0x6d, 0xc2,0x2b,0x11,0x0e,0x77,0x71); +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; +IDWriteLocalizedStrings : public IUnknown { + virtual UINT32 STDMETHODCALLTYPE GetCount() = 0; - virtual HRESULT STDMETHODCALLTYPE FindLocaleName( - const WCHAR *locale_name, - UINT32 *index, - WINBOOL *exists) = 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 GetLocaleNameLength( + UINT32 index, + UINT32 * length) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - UINT32 index, - WCHAR *locale_name, - UINT32 size) = 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; + 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) +__CRT_UUID_DECL(IDWriteLocalizedStrings, 0x08256209, 0x099a, 0x4b34, 0xb8, 0x6d, 0xc2, 0x2b, 0x11, 0x0e, 0x77, 0x71) #endif #else typedef struct IDWriteLocalizedStringsVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteLocalizedStrings *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteLocalizedStrings* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteLocalizedStrings *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteLocalizedStrings* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteLocalizedStrings *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteLocalizedStrings* This); - /*** IDWriteLocalizedStrings methods ***/ - UINT32 (STDMETHODCALLTYPE *GetCount)( - IDWriteLocalizedStrings *This); + /*** IDWriteLocalizedStrings methods ***/ + UINT32(STDMETHODCALLTYPE* GetCount)( + IDWriteLocalizedStrings* This); - HRESULT (STDMETHODCALLTYPE *FindLocaleName)( - IDWriteLocalizedStrings *This, - const WCHAR *locale_name, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindLocaleName)( + IDWriteLocalizedStrings* This, + const WCHAR* locale_name, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *GetLocaleNameLength)( - IDWriteLocalizedStrings *This, - UINT32 index, - UINT32 *length); + HRESULT(STDMETHODCALLTYPE* GetLocaleNameLength)( + IDWriteLocalizedStrings* This, + UINT32 index, + UINT32* length); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteLocalizedStrings *This, - UINT32 index, - WCHAR *locale_name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetLocaleName)( + IDWriteLocalizedStrings* This, + UINT32 index, + WCHAR* locale_name, + UINT32 size); - HRESULT (STDMETHODCALLTYPE *GetStringLength)( - IDWriteLocalizedStrings *This, - UINT32 index, - UINT32 *length); + HRESULT(STDMETHODCALLTYPE* GetStringLength)( + IDWriteLocalizedStrings* This, + UINT32 index, + UINT32* length); - HRESULT (STDMETHODCALLTYPE *GetString)( - IDWriteLocalizedStrings *This, - UINT32 index, - WCHAR *buffer, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetString)( + IDWriteLocalizedStrings* This, + UINT32 index, + WCHAR* buffer, + UINT32 size); - END_INTERFACE + END_INTERFACE } IDWriteLocalizedStringsVtbl; interface IDWriteLocalizedStrings { - CONST_VTBL IDWriteLocalizedStringsVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteLocalizedStrings_Release(IDWriteLocalizedStrings* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteLocalizedStrings methods ***/ static inline UINT32 IDWriteLocalizedStrings_GetCount(IDWriteLocalizedStrings* This) { - return This->lpVtbl->GetCount(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_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_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_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_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); +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__ */ +#endif /* __IDWriteLocalizedStrings_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteRenderingParams interface @@ -1488,73 +1465,66 @@ static inline HRESULT IDWriteLocalizedStrings_GetString(IDWriteLocalizedStrings* #ifndef __IDWriteRenderingParams_INTERFACE_DEFINED__ #define __IDWriteRenderingParams_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteRenderingParams, 0x2f0da53a, 0x2add, 0x47cd, 0x82,0xee, 0xd9,0xec,0x34,0x68,0x8e,0x75); +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; +IDWriteRenderingParams : public IUnknown { + virtual FLOAT STDMETHODCALLTYPE GetGamma() = 0; - virtual FLOAT STDMETHODCALLTYPE GetEnhancedContrast( - ) = 0; + virtual FLOAT STDMETHODCALLTYPE GetEnhancedContrast() = 0; - virtual FLOAT STDMETHODCALLTYPE GetClearTypeLevel( - ) = 0; + virtual FLOAT STDMETHODCALLTYPE GetClearTypeLevel() = 0; - virtual DWRITE_PIXEL_GEOMETRY STDMETHODCALLTYPE GetPixelGeometry( - ) = 0; - - virtual DWRITE_RENDERING_MODE STDMETHODCALLTYPE GetRenderingMode( - ) = 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) +__CRT_UUID_DECL(IDWriteRenderingParams, 0x2f0da53a, 0x2add, 0x47cd, 0x82, 0xee, 0xd9, 0xec, 0x34, 0x68, 0x8e, 0x75) #endif #else typedef struct IDWriteRenderingParamsVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteRenderingParams *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteRenderingParams* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteRenderingParams *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteRenderingParams* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteRenderingParams *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteRenderingParams* This); - /*** IDWriteRenderingParams methods ***/ - FLOAT (STDMETHODCALLTYPE *GetGamma)( - IDWriteRenderingParams *This); + /*** IDWriteRenderingParams methods ***/ + FLOAT(STDMETHODCALLTYPE* GetGamma)( + IDWriteRenderingParams* This); - FLOAT (STDMETHODCALLTYPE *GetEnhancedContrast)( - IDWriteRenderingParams *This); + FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)( + IDWriteRenderingParams* This); - FLOAT (STDMETHODCALLTYPE *GetClearTypeLevel)( - IDWriteRenderingParams *This); + FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)( + IDWriteRenderingParams* This); - DWRITE_PIXEL_GEOMETRY (STDMETHODCALLTYPE *GetPixelGeometry)( - IDWriteRenderingParams *This); + DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)( + IDWriteRenderingParams* This); - DWRITE_RENDERING_MODE (STDMETHODCALLTYPE *GetRenderingMode)( - IDWriteRenderingParams *This); + DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)( + IDWriteRenderingParams* This); - END_INTERFACE + END_INTERFACE } IDWriteRenderingParamsVtbl; interface IDWriteRenderingParams { - CONST_VTBL IDWriteRenderingParamsVtbl* lpVtbl; + 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_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 ***/ @@ -1565,38 +1535,37 @@ interface IDWriteRenderingParams { #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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteRenderingParams_Release(IDWriteRenderingParams* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteRenderingParams methods ***/ static inline FLOAT IDWriteRenderingParams_GetGamma(IDWriteRenderingParams* This) { - return This->lpVtbl->GetGamma(This); + return This->lpVtbl->GetGamma(This); } static inline FLOAT IDWriteRenderingParams_GetEnhancedContrast(IDWriteRenderingParams* This) { - return This->lpVtbl->GetEnhancedContrast(This); + return This->lpVtbl->GetEnhancedContrast(This); } static inline FLOAT IDWriteRenderingParams_GetClearTypeLevel(IDWriteRenderingParams* This) { - return This->lpVtbl->GetClearTypeLevel(This); + return This->lpVtbl->GetClearTypeLevel(This); } static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams_GetPixelGeometry(IDWriteRenderingParams* This) { - return This->lpVtbl->GetPixelGeometry(This); + return This->lpVtbl->GetPixelGeometry(This); } static inline DWRITE_RENDERING_MODE IDWriteRenderingParams_GetRenderingMode(IDWriteRenderingParams* This) { - return This->lpVtbl->GetRenderingMode(This); + return This->lpVtbl->GetRenderingMode(This); } #endif #endif #endif - -#endif /* __IDWriteRenderingParams_INTERFACE_DEFINED__ */ +#endif /* __IDWriteRenderingParams_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace interface @@ -1604,287 +1573,279 @@ static inline DWRITE_RENDERING_MODE IDWriteRenderingParams_GetRenderingMode(IDWr #ifndef __IDWriteFontFace_INTERFACE_DEFINED__ #define __IDWriteFontFace_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace, 0x5f49804d, 0x7024, 0x4d43, 0xbf,0xa9, 0xd2,0x59,0x84,0xf5,0x38,0x49); +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; +IDWriteFontFace : public IUnknown { + virtual DWRITE_FONT_FACE_TYPE STDMETHODCALLTYPE GetType() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFiles( - UINT32 *number_of_files, - IDWriteFontFile **fontfiles) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFiles( + UINT32 * number_of_files, + IDWriteFontFile * *fontfiles) = 0; - virtual UINT32 STDMETHODCALLTYPE GetIndex( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetIndex() = 0; - virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations( - ) = 0; + virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations() = 0; - virtual WINBOOL STDMETHODCALLTYPE IsSymbolFont( - ) = 0; + virtual WINBOOL STDMETHODCALLTYPE IsSymbolFont() = 0; - virtual void STDMETHODCALLTYPE GetMetrics( - DWRITE_FONT_METRICS *metrics) = 0; + virtual void STDMETHODCALLTYPE GetMetrics( + DWRITE_FONT_METRICS * metrics) = 0; - virtual UINT16 STDMETHODCALLTYPE GetGlyphCount( - ) = 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 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 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 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 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 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 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; + 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) +__CRT_UUID_DECL(IDWriteFontFace, 0x5f49804d, 0x7024, 0x4d43, 0xbf, 0xa9, 0xd2, 0x59, 0x84, 0xf5, 0x38, 0x49) #endif #else typedef struct IDWriteFontFaceVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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 + END_INTERFACE } IDWriteFontFaceVtbl; interface IDWriteFontFace { - CONST_VTBL IDWriteFontFaceVtbl* lpVtbl; + 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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace_Release(IDWriteFontFace* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace_GetType(IDWriteFontFace* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace_GetSimulations(IDWriteFontFace* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace_IsSymbolFont(IDWriteFontFace* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } -static inline void IDWriteFontFace_GetMetrics(IDWriteFontFace* This,DWRITE_FONT_METRICS *metrics) { - This->lpVtbl->GetMetrics(This,metrics); +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); + 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_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_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 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 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_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_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_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); +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__ */ +#endif /* __IDWriteFontFace_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFont interface @@ -1892,187 +1853,179 @@ static inline HRESULT IDWriteFontFace_GetGdiCompatibleGlyphMetrics(IDWriteFontFa #ifndef __IDWriteFont_INTERFACE_DEFINED__ #define __IDWriteFont_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFont, 0xacd16696, 0x8c14, 0x4f5d, 0x87,0x7e, 0xfe,0x3f,0xc1,0xd3,0x27,0x37); +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; +IDWriteFont : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE GetFontFamily( + IDWriteFontFamily * *family) = 0; - virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight( - ) = 0; + virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight() = 0; - virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch( - ) = 0; + virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch() = 0; - virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle( - ) = 0; + virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle() = 0; - virtual WINBOOL STDMETHODCALLTYPE IsSymbolFont( - ) = 0; + virtual WINBOOL STDMETHODCALLTYPE IsSymbolFont() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFaceNames( - 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 HRESULT STDMETHODCALLTYPE GetInformationalStrings( + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings * *strings, + WINBOOL * exists) = 0; - virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations( - ) = 0; + virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations() = 0; - virtual void STDMETHODCALLTYPE GetMetrics( - DWRITE_FONT_METRICS *metrics) = 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; + 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) +__CRT_UUID_DECL(IDWriteFont, 0xacd16696, 0x8c14, 0x4f5d, 0x87, 0x7e, 0xfe, 0x3f, 0xc1, 0xd3, 0x27, 0x37) #endif #else typedef struct IDWriteFontVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFont *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFont* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFont *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFont* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFont *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFont* This); - /*** IDWriteFont methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFont *This, - IDWriteFontFamily **family); + /*** IDWriteFont methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFont* This, + IDWriteFontFamily** family); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFont *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFont* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFont *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFont* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFont *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFont* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFont *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFont* This); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - IDWriteFont *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFaceNames)( + IDWriteFont* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( - IDWriteFont *This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings **strings, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFont* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFont *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFont* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFont *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFont* This, + DWRITE_FONT_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFont *This, - UINT32 value, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* HasCharacter)( + IDWriteFont* This, + UINT32 value, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFont *This, - IDWriteFontFace **face); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFont* This, + IDWriteFontFace** face); - END_INTERFACE + END_INTERFACE } IDWriteFontVtbl; interface IDWriteFont { - CONST_VTBL IDWriteFontVtbl* lpVtbl; + 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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFont_Release(IDWriteFont* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFont_GetStretch(IDWriteFont* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFont_GetStyle(IDWriteFont* This) { - return This->lpVtbl->GetStyle(This); + return This->lpVtbl->GetStyle(This); } static inline WINBOOL IDWriteFont_IsSymbolFont(IDWriteFont* This) { - return This->lpVtbl->IsSymbolFont(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_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 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); + return This->lpVtbl->GetSimulations(This); } -static inline void IDWriteFont_GetMetrics(IDWriteFont* This,DWRITE_FONT_METRICS *metrics) { - This->lpVtbl->GetMetrics(This,metrics); +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_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); +static inline HRESULT IDWriteFont_CreateFontFace(IDWriteFont* This, IDWriteFontFace** face) { + return This->lpVtbl->CreateFontFace(This, face); } #endif #endif #endif - -#endif /* __IDWriteFont_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFont_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontList interface @@ -2080,99 +2033,95 @@ static inline HRESULT IDWriteFont_CreateFontFace(IDWriteFont* This,IDWriteFontFa #ifndef __IDWriteFontList_INTERFACE_DEFINED__ #define __IDWriteFontList_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontList, 0x1a0d8438, 0x1d97, 0x4ec1, 0xae,0xf9, 0xa2,0xfb,0x86,0xed,0x6a,0xcb); +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; +IDWriteFontList : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE GetFontCollection( + IDWriteFontCollection * *collection) = 0; - virtual UINT32 STDMETHODCALLTYPE GetFontCount( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFont( - UINT32 index, - IDWriteFont **font) = 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) +__CRT_UUID_DECL(IDWriteFontList, 0x1a0d8438, 0x1d97, 0x4ec1, 0xae, 0xf9, 0xa2, 0xfb, 0x86, 0xed, 0x6a, 0xcb) #endif #else typedef struct IDWriteFontListVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontList *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontList* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontList *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontList* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontList *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontList* This); - /*** IDWriteFontList methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteFontList *This, - IDWriteFontCollection **collection); + /*** IDWriteFontList methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteFontList* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontList *This); + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontList* This); - HRESULT (STDMETHODCALLTYPE *GetFont)( - IDWriteFontList *This, - UINT32 index, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFont)( + IDWriteFontList* This, + UINT32 index, + IDWriteFont** font); - END_INTERFACE + END_INTERFACE } IDWriteFontListVtbl; interface IDWriteFontList { - CONST_VTBL IDWriteFontListVtbl* lpVtbl; + 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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontList_Release(IDWriteFontList* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetFontCount(This); } -static inline HRESULT IDWriteFontList_GetFont(IDWriteFontList* This,UINT32 index,IDWriteFont **font) { - return This->lpVtbl->GetFont(This,index,font); +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__ */ +#endif /* __IDWriteFontList_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFamily interface @@ -2180,137 +2129,134 @@ static inline HRESULT IDWriteFontList_GetFont(IDWriteFontList* This,UINT32 index #ifndef __IDWriteFontFamily_INTERFACE_DEFINED__ #define __IDWriteFontFamily_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFamily, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdd); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontFamily, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdd) #endif #else typedef struct IDWriteFontFamilyVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFamily *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFamily* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFamily *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFamily* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFamily *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFamily* This); - /*** IDWriteFontList methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteFontFamily *This, - IDWriteFontCollection **collection); + /*** IDWriteFontList methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteFontFamily* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontFamily *This); + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontFamily* This); - HRESULT (STDMETHODCALLTYPE *GetFont)( - IDWriteFontFamily *This, - UINT32 index, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFont)( + IDWriteFontFamily* This, + UINT32 index, + IDWriteFont** font); - /*** IDWriteFontFamily methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFamily *This, - IDWriteLocalizedStrings **names); + /*** 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* 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); + HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( + IDWriteFontFamily* This, + DWRITE_FONT_WEIGHT weight, + DWRITE_FONT_STRETCH stretch, + DWRITE_FONT_STYLE style, + IDWriteFontList** fonts); - END_INTERFACE + END_INTERFACE } IDWriteFontFamilyVtbl; interface IDWriteFontFamily { - CONST_VTBL IDWriteFontFamilyVtbl* lpVtbl; + 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_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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFamily_Release(IDWriteFontFamily* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetFontCount(This); } -static inline HRESULT IDWriteFontFamily_GetFont(IDWriteFontFamily* This,UINT32 index,IDWriteFont **font) { - return This->lpVtbl->GetFont(This,index,font); +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_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_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); +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__ */ +#endif /* __IDWriteFontFamily_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection interface @@ -2318,116 +2264,112 @@ static inline HRESULT IDWriteFontFamily_GetMatchingFonts(IDWriteFontFamily* This #ifndef __IDWriteFontCollection_INTERFACE_DEFINED__ #define __IDWriteFontCollection_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontCollection, 0xa84cee02, 0x3eea, 0x4eee, 0xa8,0x27, 0x87,0xc1,0xa0,0x2a,0x0f,0xcc); +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; +IDWriteFontCollection : public IUnknown { + virtual UINT32 STDMETHODCALLTYPE GetFontFamilyCount() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontFamily( - UINT32 index, - IDWriteFontFamily **family) = 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; + 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) +__CRT_UUID_DECL(IDWriteFontCollection, 0xa84cee02, 0x3eea, 0x4eee, 0xa8, 0x27, 0x87, 0xc1, 0xa0, 0x2a, 0x0f, 0xcc) #endif #else typedef struct IDWriteFontCollectionVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontCollection *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontCollection* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontCollection *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontCollection* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontCollection *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontCollection* This); - /*** IDWriteFontCollection methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( - IDWriteFontCollection *This); + /*** IDWriteFontCollection methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( + IDWriteFontCollection* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFontCollection *This, - UINT32 index, - IDWriteFontFamily **family); + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFontCollection* This, + UINT32 index, + IDWriteFontFamily** family); - HRESULT (STDMETHODCALLTYPE *FindFamilyName)( - IDWriteFontCollection *This, - const WCHAR *name, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFamilyName)( + IDWriteFontCollection* This, + const WCHAR* name, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( - IDWriteFontCollection *This, - IDWriteFontFace *face, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( + IDWriteFontCollection* This, + IDWriteFontFace* face, + IDWriteFont** font); - END_INTERFACE + END_INTERFACE } IDWriteFontCollectionVtbl; interface IDWriteFontCollection { - CONST_VTBL IDWriteFontCollectionVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontCollection_Release(IDWriteFontCollection* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static inline UINT32 IDWriteFontCollection_GetFontFamilyCount(IDWriteFontCollection* This) { - return This->lpVtbl->GetFontFamilyCount(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_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_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); +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__ */ +#endif /* __IDWriteFontCollection_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWritePixelSnapping interface @@ -2435,104 +2377,101 @@ static inline HRESULT IDWriteFontCollection_GetFontFromFontFace(IDWriteFontColle #ifndef __IDWritePixelSnapping_INTERFACE_DEFINED__ #define __IDWritePixelSnapping_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWritePixelSnapping, 0xeaf3a2da, 0xecf4, 0x4d24, 0xb6,0x44, 0xb3,0x4f,0x68,0x42,0x02,0x4b); +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; +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; + 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) +__CRT_UUID_DECL(IDWritePixelSnapping, 0xeaf3a2da, 0xecf4, 0x4d24, 0xb6, 0x44, 0xb3, 0x4f, 0x68, 0x42, 0x02, 0x4b) #endif #else typedef struct IDWritePixelSnappingVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWritePixelSnapping *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWritePixelSnapping* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWritePixelSnapping *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWritePixelSnapping* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWritePixelSnapping *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWritePixelSnapping* This); - /*** IDWritePixelSnapping methods ***/ - HRESULT (STDMETHODCALLTYPE *IsPixelSnappingDisabled)( - IDWritePixelSnapping *This, - void *client_drawingcontext, - WINBOOL *disabled); + /*** 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* GetCurrentTransform)( + IDWritePixelSnapping* This, + void* client_drawingcontext, + DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *GetPixelsPerDip)( - IDWritePixelSnapping *This, - void *client_drawingcontext, - FLOAT *pixels_per_dip); + HRESULT(STDMETHODCALLTYPE* GetPixelsPerDip)( + IDWritePixelSnapping* This, + void* client_drawingcontext, + FLOAT* pixels_per_dip); - END_INTERFACE + END_INTERFACE } IDWritePixelSnappingVtbl; interface IDWritePixelSnapping { - CONST_VTBL IDWritePixelSnappingVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWritePixelSnapping_Release(IDWritePixelSnapping* This) { - return This->lpVtbl->Release(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_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_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); +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__ */ +#endif /* __IDWritePixelSnapping_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextRenderer interface @@ -2540,179 +2479,176 @@ static inline HRESULT IDWritePixelSnapping_GetPixelsPerDip(IDWritePixelSnapping* #ifndef __IDWriteTextRenderer_INTERFACE_DEFINED__ #define __IDWriteTextRenderer_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextRenderer, 0xef8a8135, 0x5cc6, 0x45fe, 0x88,0x25, 0xc5,0xa0,0x72,0x4e,0xb8,0x19); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteTextRenderer, 0xef8a8135, 0x5cc6, 0x45fe, 0x88, 0x25, 0xc5, 0xa0, 0x72, 0x4e, 0xb8, 0x19) #endif #else typedef struct IDWriteTextRendererVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextRenderer *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextRenderer* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextRenderer *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextRenderer* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextRenderer *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextRenderer* This); - /*** IDWritePixelSnapping methods ***/ - HRESULT (STDMETHODCALLTYPE *IsPixelSnappingDisabled)( - IDWriteTextRenderer *This, - void *client_drawingcontext, - WINBOOL *disabled); + /*** 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* GetCurrentTransform)( + IDWriteTextRenderer* This, + void* client_drawingcontext, + DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *GetPixelsPerDip)( - IDWriteTextRenderer *This, - void *client_drawingcontext, - FLOAT *pixels_per_dip); + 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); + /*** 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* 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* 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); + 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 + END_INTERFACE } IDWriteTextRendererVtbl; interface IDWriteTextRenderer { - CONST_VTBL IDWriteTextRendererVtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextRenderer_Release(IDWriteTextRenderer* This) { - return This->lpVtbl->Release(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_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_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); +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_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_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_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); +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__ */ +#endif /* __IDWriteTextRenderer_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteInlineObject interface @@ -2720,123 +2656,120 @@ static inline HRESULT IDWriteTextRenderer_DrawInlineObject(IDWriteTextRenderer* #ifndef __IDWriteInlineObject_INTERFACE_DEFINED__ #define __IDWriteInlineObject_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteInlineObject, 0x8339fde3, 0x106f, 0x47ab, 0x83,0x73, 0x1c,0x62,0x95,0xeb,0x10,0xb3); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteInlineObject, 0x8339fde3, 0x106f, 0x47ab, 0x83, 0x73, 0x1c, 0x62, 0x95, 0xeb, 0x10, 0xb3) #endif #else typedef struct IDWriteInlineObjectVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteInlineObject *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteInlineObject* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteInlineObject *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteInlineObject* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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* GetMetrics)( + IDWriteInlineObject* This, + DWRITE_INLINE_OBJECT_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetOverhangMetrics)( - IDWriteInlineObject *This, - DWRITE_OVERHANG_METRICS *overhangs); + HRESULT(STDMETHODCALLTYPE* GetOverhangMetrics)( + IDWriteInlineObject* This, + DWRITE_OVERHANG_METRICS* overhangs); - HRESULT (STDMETHODCALLTYPE *GetBreakConditions)( - IDWriteInlineObject *This, - DWRITE_BREAK_CONDITION *condition_before, - DWRITE_BREAK_CONDITION *condition_after); + HRESULT(STDMETHODCALLTYPE* GetBreakConditions)( + IDWriteInlineObject* This, + DWRITE_BREAK_CONDITION* condition_before, + DWRITE_BREAK_CONDITION* condition_after); - END_INTERFACE + END_INTERFACE } IDWriteInlineObjectVtbl; interface IDWriteInlineObject { - CONST_VTBL IDWriteInlineObjectVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteInlineObject_Release(IDWriteInlineObject* This) { - return This->lpVtbl->Release(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_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_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_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); +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__ */ +#endif /* __IDWriteInlineObject_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextFormat interface @@ -2844,344 +2777,329 @@ static inline HRESULT IDWriteInlineObject_GetBreakConditions(IDWriteInlineObject #ifndef __IDWriteTextFormat_INTERFACE_DEFINED__ #define __IDWriteTextFormat_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextFormat, 0x9c906818, 0x31d7, 0x4fd3, 0xa1,0x51, 0x7c,0x5e,0x22,0x5d,0xb5,0x5a); +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; +IDWriteTextFormat : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE SetTextAlignment( + DWRITE_TEXT_ALIGNMENT alignment) = 0; - virtual HRESULT STDMETHODCALLTYPE SetParagraphAlignment( - DWRITE_PARAGRAPH_ALIGNMENT alignment) = 0; + virtual HRESULT STDMETHODCALLTYPE SetParagraphAlignment( + DWRITE_PARAGRAPH_ALIGNMENT alignment) = 0; - virtual HRESULT STDMETHODCALLTYPE SetWordWrapping( - DWRITE_WORD_WRAPPING wrapping) = 0; + virtual HRESULT STDMETHODCALLTYPE SetWordWrapping( + DWRITE_WORD_WRAPPING wrapping) = 0; - virtual HRESULT STDMETHODCALLTYPE SetReadingDirection( - DWRITE_READING_DIRECTION direction) = 0; + virtual HRESULT STDMETHODCALLTYPE SetReadingDirection( + DWRITE_READING_DIRECTION direction) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFlowDirection( - DWRITE_FLOW_DIRECTION direction) = 0; + virtual HRESULT STDMETHODCALLTYPE SetFlowDirection( + DWRITE_FLOW_DIRECTION direction) = 0; - virtual HRESULT STDMETHODCALLTYPE SetIncrementalTabStop( - FLOAT tabstop) = 0; + virtual HRESULT STDMETHODCALLTYPE SetIncrementalTabStop( + FLOAT tabstop) = 0; - virtual HRESULT STDMETHODCALLTYPE SetTrimming( - const DWRITE_TRIMMING *trimming, - IDWriteInlineObject *trimming_sign) = 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 HRESULT STDMETHODCALLTYPE SetLineSpacing( + DWRITE_LINE_SPACING_METHOD spacing, + FLOAT line_spacing, + FLOAT baseline) = 0; - virtual DWRITE_TEXT_ALIGNMENT STDMETHODCALLTYPE GetTextAlignment( - ) = 0; + virtual DWRITE_TEXT_ALIGNMENT STDMETHODCALLTYPE GetTextAlignment() = 0; - virtual DWRITE_PARAGRAPH_ALIGNMENT STDMETHODCALLTYPE GetParagraphAlignment( - ) = 0; + virtual DWRITE_PARAGRAPH_ALIGNMENT STDMETHODCALLTYPE GetParagraphAlignment() = 0; - virtual DWRITE_WORD_WRAPPING STDMETHODCALLTYPE GetWordWrapping( - ) = 0; + virtual DWRITE_WORD_WRAPPING STDMETHODCALLTYPE GetWordWrapping() = 0; - virtual DWRITE_READING_DIRECTION STDMETHODCALLTYPE GetReadingDirection( - ) = 0; + virtual DWRITE_READING_DIRECTION STDMETHODCALLTYPE GetReadingDirection() = 0; - virtual DWRITE_FLOW_DIRECTION STDMETHODCALLTYPE GetFlowDirection( - ) = 0; + virtual DWRITE_FLOW_DIRECTION STDMETHODCALLTYPE GetFlowDirection() = 0; - virtual FLOAT STDMETHODCALLTYPE GetIncrementalTabStop( - ) = 0; + virtual FLOAT STDMETHODCALLTYPE GetIncrementalTabStop() = 0; - virtual HRESULT STDMETHODCALLTYPE GetTrimming( - DWRITE_TRIMMING *options, - IDWriteInlineObject **trimming_sign) = 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 GetLineSpacing( + DWRITE_LINE_SPACING_METHOD * method, + FLOAT * spacing, + FLOAT * baseline) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontCollection( - IDWriteFontCollection **collection) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFontCollection( + IDWriteFontCollection * *collection) = 0; - virtual UINT32 STDMETHODCALLTYPE GetFontFamilyNameLength( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetFontFamilyNameLength() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontFamilyName( - WCHAR *name, - UINT32 size) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFontFamilyName( + WCHAR * name, + UINT32 size) = 0; - virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetFontWeight( - ) = 0; + virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetFontWeight() = 0; - virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetFontStyle( - ) = 0; + virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetFontStyle() = 0; - virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetFontStretch( - ) = 0; + virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetFontStretch() = 0; - virtual FLOAT STDMETHODCALLTYPE GetFontSize( - ) = 0; + virtual FLOAT STDMETHODCALLTYPE GetFontSize() = 0; - virtual UINT32 STDMETHODCALLTYPE GetLocaleNameLength( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - WCHAR *name, - UINT32 size) = 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) +__CRT_UUID_DECL(IDWriteTextFormat, 0x9c906818, 0x31d7, 0x4fd3, 0xa1, 0x51, 0x7c, 0x5e, 0x22, 0x5d, 0xb5, 0x5a) #endif #else typedef struct IDWriteTextFormatVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextFormat *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextFormat* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextFormat *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextFormat* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextFormat *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextFormat* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextFormat *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextFormat* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextFormat *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextFormat* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextFormat *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextFormat* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextFormat *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextFormat* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextFormat *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextFormat* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextFormat *This, - FLOAT tabstop); + HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( + IDWriteTextFormat* This, + FLOAT tabstop); - HRESULT (STDMETHODCALLTYPE *SetTrimming)( - IDWriteTextFormat *This, - const DWRITE_TRIMMING *trimming, - IDWriteInlineObject *trimming_sign); + 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); + HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( + IDWriteTextFormat* This, + DWRITE_LINE_SPACING_METHOD spacing, + FLOAT line_spacing, + FLOAT baseline); - DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( - IDWriteTextFormat *This); + DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( + IDWriteTextFormat* This); - DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( - IDWriteTextFormat *This); + DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( + IDWriteTextFormat* This); - DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( - IDWriteTextFormat *This); + DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( + IDWriteTextFormat* This); - DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( - IDWriteTextFormat *This); + DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( + IDWriteTextFormat* This); - DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( - IDWriteTextFormat *This); + DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( + IDWriteTextFormat* This); - FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( - IDWriteTextFormat *This); + FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( + IDWriteTextFormat* This); - HRESULT (STDMETHODCALLTYPE *GetTrimming)( - IDWriteTextFormat *This, - DWRITE_TRIMMING *options, - IDWriteInlineObject **trimming_sign); + 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* GetLineSpacing)( + IDWriteTextFormat* This, + DWRITE_LINE_SPACING_METHOD* method, + FLOAT* spacing, + FLOAT* baseline); - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteTextFormat *This, - IDWriteFontCollection **collection); + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteTextFormat* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( - IDWriteTextFormat *This); + UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( + IDWriteTextFormat* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( - IDWriteTextFormat *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( + IDWriteTextFormat* This, + WCHAR* name, + UINT32 size); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( - IDWriteTextFormat *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( + IDWriteTextFormat* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( - IDWriteTextFormat *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( + IDWriteTextFormat* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( - IDWriteTextFormat *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( + IDWriteTextFormat* This); - FLOAT (STDMETHODCALLTYPE *GetFontSize)( - IDWriteTextFormat *This); + FLOAT(STDMETHODCALLTYPE* GetFontSize)( + IDWriteTextFormat* This); - UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( - IDWriteTextFormat *This); + UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( + IDWriteTextFormat* This); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteTextFormat *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetLocaleName)( + IDWriteTextFormat* This, + WCHAR* name, + UINT32 size); - END_INTERFACE + END_INTERFACE } IDWriteTextFormatVtbl; interface IDWriteTextFormat { - CONST_VTBL IDWriteTextFormatVtbl* lpVtbl; + 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_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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextFormat_Release(IDWriteTextFormat* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat_GetParagraphAlignment(IDWriteTextFormat* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextFormat_GetWordWrapping(IDWriteTextFormat* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextFormat_GetReadingDirection(IDWriteTextFormat* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat_GetFlowDirection(IDWriteTextFormat* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextFormat_GetIncrementalTabStop(IDWriteTextFormat* This) { - return This->lpVtbl->GetIncrementalTabStop(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_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_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 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); + 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 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); + return This->lpVtbl->GetFontWeight(This); } static inline DWRITE_FONT_STYLE IDWriteTextFormat_GetFontStyle(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontStyle(This); + return This->lpVtbl->GetFontStyle(This); } static inline DWRITE_FONT_STRETCH IDWriteTextFormat_GetFontStretch(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontStretch(This); + return This->lpVtbl->GetFontStretch(This); } static inline FLOAT IDWriteTextFormat_GetFontSize(IDWriteTextFormat* This) { - return This->lpVtbl->GetFontSize(This); + return This->lpVtbl->GetFontSize(This); } static inline UINT32 IDWriteTextFormat_GetLocaleNameLength(IDWriteTextFormat* This) { - return This->lpVtbl->GetLocaleNameLength(This); + return This->lpVtbl->GetLocaleNameLength(This); } -static inline HRESULT IDWriteTextFormat_GetLocaleName(IDWriteTextFormat* This,WCHAR *name,UINT32 size) { - return This->lpVtbl->GetLocaleName(This,name,size); +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__ */ +#endif /* __IDWriteTextFormat_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTypography interface @@ -3189,99 +3107,95 @@ static inline HRESULT IDWriteTextFormat_GetLocaleName(IDWriteTextFormat* This,WC #ifndef __IDWriteTypography_INTERFACE_DEFINED__ #define __IDWriteTypography_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTypography, 0x55f1112b, 0x1dc2, 0x4b3c, 0x95,0x41, 0xf4,0x68,0x94,0xed,0x85,0xb6); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteTypography, 0x55f1112b, 0x1dc2, 0x4b3c, 0x95, 0x41, 0xf4, 0x68, 0x94, 0xed, 0x85, 0xb6) #endif #else typedef struct IDWriteTypographyVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTypography *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTypography* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTypography *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTypography* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTypography *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTypography* This); - /*** IDWriteTypography methods ***/ - HRESULT (STDMETHODCALLTYPE *AddFontFeature)( - IDWriteTypography *This, - DWRITE_FONT_FEATURE feature); + /*** IDWriteTypography methods ***/ + HRESULT(STDMETHODCALLTYPE* AddFontFeature)( + IDWriteTypography* This, + DWRITE_FONT_FEATURE feature); - UINT32 (STDMETHODCALLTYPE *GetFontFeatureCount)( - IDWriteTypography *This); + UINT32(STDMETHODCALLTYPE* GetFontFeatureCount)( + IDWriteTypography* This); - HRESULT (STDMETHODCALLTYPE *GetFontFeature)( - IDWriteTypography *This, - UINT32 index, - DWRITE_FONT_FEATURE *feature); + HRESULT(STDMETHODCALLTYPE* GetFontFeature)( + IDWriteTypography* This, + UINT32 index, + DWRITE_FONT_FEATURE* feature); - END_INTERFACE + END_INTERFACE } IDWriteTypographyVtbl; interface IDWriteTypography { - CONST_VTBL IDWriteTypographyVtbl* lpVtbl; + 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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTypography_Release(IDWriteTypography* This) { - return This->lpVtbl->Release(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 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); + 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); +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__ */ +#endif /* __IDWriteTypography_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteBitmapRenderTarget interface @@ -3289,185 +3203,180 @@ static inline HRESULT IDWriteTypography_GetFontFeature(IDWriteTypography* This,U #ifndef __IDWriteBitmapRenderTarget_INTERFACE_DEFINED__ #define __IDWriteBitmapRenderTarget_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteBitmapRenderTarget, 0x5e5a32a3, 0x8dff, 0x4773, 0x9f,0xf6, 0x06,0x96,0xea,0xb7,0x72,0x67); +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; +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 HDC STDMETHODCALLTYPE GetMemoryDC() = 0; - virtual FLOAT STDMETHODCALLTYPE GetPixelsPerDip( - ) = 0; + virtual FLOAT STDMETHODCALLTYPE GetPixelsPerDip() = 0; - virtual HRESULT STDMETHODCALLTYPE SetPixelsPerDip( - FLOAT pixels_per_dip) = 0; + virtual HRESULT STDMETHODCALLTYPE SetPixelsPerDip( + FLOAT pixels_per_dip) = 0; - virtual HRESULT STDMETHODCALLTYPE GetCurrentTransform( - DWRITE_MATRIX *transform) = 0; + virtual HRESULT STDMETHODCALLTYPE GetCurrentTransform( + DWRITE_MATRIX * transform) = 0; - virtual HRESULT STDMETHODCALLTYPE SetCurrentTransform( - const 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; + 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) +__CRT_UUID_DECL(IDWriteBitmapRenderTarget, 0x5e5a32a3, 0x8dff, 0x4773, 0x9f, 0xf6, 0x06, 0x96, 0xea, 0xb7, 0x72, 0x67) #endif #else typedef struct IDWriteBitmapRenderTargetVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteBitmapRenderTarget *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteBitmapRenderTarget* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteBitmapRenderTarget *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteBitmapRenderTarget* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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); + HDC(STDMETHODCALLTYPE* GetMemoryDC)( + IDWriteBitmapRenderTarget* This); - FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( - IDWriteBitmapRenderTarget *This); + FLOAT(STDMETHODCALLTYPE* GetPixelsPerDip)( + IDWriteBitmapRenderTarget* This); - HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( - IDWriteBitmapRenderTarget *This, - FLOAT pixels_per_dip); + HRESULT(STDMETHODCALLTYPE* SetPixelsPerDip)( + IDWriteBitmapRenderTarget* This, + FLOAT pixels_per_dip); - HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( - IDWriteBitmapRenderTarget *This, - DWRITE_MATRIX *transform); + HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( + IDWriteBitmapRenderTarget* This, + DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( - IDWriteBitmapRenderTarget *This, - const DWRITE_MATRIX *transform); + HRESULT(STDMETHODCALLTYPE* SetCurrentTransform)( + IDWriteBitmapRenderTarget* This, + const DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *GetSize)( - IDWriteBitmapRenderTarget *This, - SIZE *size); + HRESULT(STDMETHODCALLTYPE* GetSize)( + IDWriteBitmapRenderTarget* This, + SIZE* size); - HRESULT (STDMETHODCALLTYPE *Resize)( - IDWriteBitmapRenderTarget *This, - UINT32 width, - UINT32 height); + HRESULT(STDMETHODCALLTYPE* Resize)( + IDWriteBitmapRenderTarget* This, + UINT32 width, + UINT32 height); - END_INTERFACE + END_INTERFACE } IDWriteBitmapRenderTargetVtbl; interface IDWriteBitmapRenderTarget { - CONST_VTBL IDWriteBitmapRenderTargetVtbl* lpVtbl; + 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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteBitmapRenderTarget_Release(IDWriteBitmapRenderTarget* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetMemoryDC(This); } static inline FLOAT IDWriteBitmapRenderTarget_GetPixelsPerDip(IDWriteBitmapRenderTarget* This) { - return This->lpVtbl->GetPixelsPerDip(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_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_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_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_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); +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__ */ +#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]; + 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; +typedef struct tagLOGFONTW* PLOGFONTW; +typedef struct tagLOGFONTW* LPLOGFONTW; #endif /* _WINGDI_ */ /***************************************************************************** * IDWriteGdiInterop interface @@ -3475,136 +3384,133 @@ typedef struct tagLOGFONTW *LPLOGFONTW; #ifndef __IDWriteGdiInterop_INTERFACE_DEFINED__ #define __IDWriteGdiInterop_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteGdiInterop, 0x1edd9491, 0x9853, 0x4299, 0x89,0x8f, 0x64,0x32,0x98,0x3b,0x6f,0x3a); +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; +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 ConvertFontToLOGFONT( + IDWriteFont * font, + LOGFONTW * logfont, + WINBOOL * is_systemfont) = 0; - virtual HRESULT STDMETHODCALLTYPE ConvertFontFaceToLOGFONT( - IDWriteFontFace *font, - LOGFONTW *logfont) = 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; + 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) +__CRT_UUID_DECL(IDWriteGdiInterop, 0x1edd9491, 0x9853, 0x4299, 0x89, 0x8f, 0x64, 0x32, 0x98, 0x3b, 0x6f, 0x3a) #endif #else typedef struct IDWriteGdiInteropVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteGdiInterop *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteGdiInterop* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteGdiInterop *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteGdiInterop* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteGdiInterop *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteGdiInterop* This); - /*** IDWriteGdiInterop methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT)( - IDWriteGdiInterop *This, - const LOGFONTW *logfont, - IDWriteFont **font); + /*** 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* ConvertFontToLOGFONT)( + IDWriteGdiInterop* This, + IDWriteFont* font, + LOGFONTW* logfont, + WINBOOL* is_systemfont); - HRESULT (STDMETHODCALLTYPE *ConvertFontFaceToLOGFONT)( - IDWriteGdiInterop *This, - IDWriteFontFace *font, - LOGFONTW *logfont); + HRESULT(STDMETHODCALLTYPE* ConvertFontFaceToLOGFONT)( + IDWriteGdiInterop* This, + IDWriteFontFace* font, + LOGFONTW* logfont); - HRESULT (STDMETHODCALLTYPE *CreateFontFaceFromHdc)( - IDWriteGdiInterop *This, - HDC hdc, - IDWriteFontFace **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFaceFromHdc)( + IDWriteGdiInterop* This, + HDC hdc, + IDWriteFontFace** fontface); - HRESULT (STDMETHODCALLTYPE *CreateBitmapRenderTarget)( - IDWriteGdiInterop *This, - HDC hdc, - UINT32 width, - UINT32 height, - IDWriteBitmapRenderTarget **target); + HRESULT(STDMETHODCALLTYPE* CreateBitmapRenderTarget)( + IDWriteGdiInterop* This, + HDC hdc, + UINT32 width, + UINT32 height, + IDWriteBitmapRenderTarget** target); - END_INTERFACE + END_INTERFACE } IDWriteGdiInteropVtbl; interface IDWriteGdiInterop { - CONST_VTBL IDWriteGdiInteropVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteGdiInterop_Release(IDWriteGdiInterop* This) { - return This->lpVtbl->Release(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_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_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_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_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); +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__ */ +#endif /* __IDWriteGdiInterop_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextLayout interface @@ -3612,781 +3518,776 @@ static inline HRESULT IDWriteGdiInterop_CreateBitmapRenderTarget(IDWriteGdiInter #ifndef __IDWriteTextLayout_INTERFACE_DEFINED__ #define __IDWriteTextLayout_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextLayout, 0x53737037, 0x6d14, 0x410b, 0x9b,0xfe, 0x0b,0x18,0x2b,0xb7,0x09,0x61); +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; +IDWriteTextLayout : public IDWriteTextFormat { + virtual HRESULT STDMETHODCALLTYPE SetMaxWidth( + FLOAT maxWidth) = 0; - virtual HRESULT STDMETHODCALLTYPE SetMaxHeight( - FLOAT maxHeight) = 0; + virtual HRESULT STDMETHODCALLTYPE SetMaxHeight( + FLOAT maxHeight) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFontCollection( - IDWriteFontCollection *collection, - DWRITE_TEXT_RANGE range) = 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 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 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 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 SetFontStretch( + DWRITE_FONT_STRETCH stretch, + DWRITE_TEXT_RANGE range) = 0; - virtual HRESULT STDMETHODCALLTYPE SetFontSize( - FLOAT size, - 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 SetUnderline( + WINBOOL underline, + DWRITE_TEXT_RANGE range) = 0; - virtual HRESULT STDMETHODCALLTYPE SetStrikethrough( - WINBOOL strikethrough, - 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 SetDrawingEffect( + IUnknown * effect, + DWRITE_TEXT_RANGE range) = 0; - virtual HRESULT STDMETHODCALLTYPE SetInlineObject( - IDWriteInlineObject *object, - 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 SetTypography( + IDWriteTypography * typography, + DWRITE_TEXT_RANGE range) = 0; - virtual HRESULT STDMETHODCALLTYPE SetLocaleName( - const WCHAR *locale, - 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 GetMaxWidth() = 0; - virtual FLOAT STDMETHODCALLTYPE GetMaxHeight( - ) = 0; + virtual FLOAT STDMETHODCALLTYPE GetMaxHeight() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontCollection( - UINT32 pos, - IDWriteFontCollection **collection, - DWRITE_TEXT_RANGE *range = 0) = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 GetLineMetrics( + DWRITE_LINE_METRICS * metrics, + UINT32 max_count, + UINT32 * actual_count) = 0; - virtual HRESULT STDMETHODCALLTYPE GetMetrics( - DWRITE_TEXT_METRICS *metrics) = 0; + virtual HRESULT STDMETHODCALLTYPE GetMetrics( + DWRITE_TEXT_METRICS * metrics) = 0; - virtual HRESULT STDMETHODCALLTYPE GetOverhangMetrics( - DWRITE_OVERHANG_METRICS *overhangs) = 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 GetClusterMetrics( + DWRITE_CLUSTER_METRICS * metrics, + UINT32 max_count, + UINT32 * act_count) = 0; - virtual HRESULT STDMETHODCALLTYPE DetermineMinWidth( - FLOAT *min_width) = 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 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; + 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) +__CRT_UUID_DECL(IDWriteTextLayout, 0x53737037, 0x6d14, 0x410b, 0x9b, 0xfe, 0x0b, 0x18, 0x2b, 0xb7, 0x09, 0x61) #endif #else typedef struct IDWriteTextLayoutVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextLayout *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextLayout* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextLayout *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextLayout* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextLayout *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextLayout* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextLayout *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextLayout* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextLayout *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextLayout* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextLayout *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextLayout* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextLayout *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextLayout* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextLayout *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextLayout* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextLayout *This, - FLOAT tabstop); + 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); + 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 + 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; + 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_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_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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextLayout_Release(IDWriteTextLayout* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout_GetParagraphAlignment(IDWriteTextLayout* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextLayout_GetWordWrapping(IDWriteTextLayout* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextLayout_GetReadingDirection(IDWriteTextLayout* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout_GetFlowDirection(IDWriteTextLayout* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextLayout_GetIncrementalTabStop(IDWriteTextLayout* This) { - return This->lpVtbl->GetIncrementalTabStop(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_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); +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_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_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_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_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_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_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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetMaxWidth(This); } static inline FLOAT IDWriteTextLayout_GetMaxHeight(IDWriteTextLayout* This) { - return This->lpVtbl->GetMaxHeight(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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__ */ +#endif /* __IDWriteTextLayout_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteNumberSubstitution interface @@ -4394,62 +4295,59 @@ static inline HRESULT IDWriteTextLayout_HitTestTextRange(IDWriteTextLayout* This #ifndef __IDWriteNumberSubstitution_INTERFACE_DEFINED__ #define __IDWriteNumberSubstitution_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteNumberSubstitution, 0x14885cc9, 0xbab0, 0x4f90, 0xb6,0xed, 0x5c,0x36,0x6a,0x2c,0xd0,0x3d); +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 -{ -}; +IDWriteNumberSubstitution : public IUnknown{}; #ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(IDWriteNumberSubstitution, 0x14885cc9, 0xbab0, 0x4f90, 0xb6,0xed, 0x5c,0x36,0x6a,0x2c,0xd0,0x3d) +__CRT_UUID_DECL(IDWriteNumberSubstitution, 0x14885cc9, 0xbab0, 0x4f90, 0xb6, 0xed, 0x5c, 0x36, 0x6a, 0x2c, 0xd0, 0x3d) #endif #else typedef struct IDWriteNumberSubstitutionVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteNumberSubstitution *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteNumberSubstitution* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteNumberSubstitution *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteNumberSubstitution* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteNumberSubstitution *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteNumberSubstitution* This); - END_INTERFACE + END_INTERFACE } IDWriteNumberSubstitutionVtbl; interface IDWriteNumberSubstitution { - CONST_VTBL IDWriteNumberSubstitutionVtbl* lpVtbl; + 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_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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteNumberSubstitution_Release(IDWriteNumberSubstitution* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } #endif #endif #endif - -#endif /* __IDWriteNumberSubstitution_INTERFACE_DEFINED__ */ +#endif /* __IDWriteNumberSubstitution_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextAnalysisSource interface @@ -4457,135 +4355,131 @@ static inline ULONG IDWriteNumberSubstitution_Release(IDWriteNumberSubstitution* #ifndef __IDWriteTextAnalysisSource_INTERFACE_DEFINED__ #define __IDWriteTextAnalysisSource_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextAnalysisSource, 0x688e1a58, 0x5094, 0x47c8, 0xad,0xc8, 0xfb,0xce,0xa6,0x0a,0xe9,0x2b); +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; +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 HRESULT STDMETHODCALLTYPE GetTextBeforePosition( + UINT32 position, + const WCHAR** text, + UINT32* text_len) = 0; - virtual DWRITE_READING_DIRECTION STDMETHODCALLTYPE GetParagraphReadingDirection( - ) = 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; + 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) +__CRT_UUID_DECL(IDWriteTextAnalysisSource, 0x688e1a58, 0x5094, 0x47c8, 0xad, 0xc8, 0xfb, 0xce, 0xa6, 0x0a, 0xe9, 0x2b) #endif #else typedef struct IDWriteTextAnalysisSourceVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextAnalysisSource *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextAnalysisSource* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextAnalysisSource *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextAnalysisSource* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextAnalysisSource *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextAnalysisSource* This); - /*** IDWriteTextAnalysisSource methods ***/ - HRESULT (STDMETHODCALLTYPE *GetTextAtPosition)( - IDWriteTextAnalysisSource *This, - UINT32 position, - const WCHAR **text, - UINT32 *text_len); + /*** 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); + HRESULT(STDMETHODCALLTYPE* GetTextBeforePosition)( + IDWriteTextAnalysisSource* This, + UINT32 position, + const WCHAR** text, + UINT32* text_len); - DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetParagraphReadingDirection)( - IDWriteTextAnalysisSource *This); + DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetParagraphReadingDirection)( + IDWriteTextAnalysisSource* This); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteTextAnalysisSource *This, - UINT32 position, - UINT32 *text_len, - const WCHAR **locale); + 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); + HRESULT(STDMETHODCALLTYPE* GetNumberSubstitution)( + IDWriteTextAnalysisSource* This, + UINT32 position, + UINT32* text_len, + IDWriteNumberSubstitution** substitution); - END_INTERFACE + END_INTERFACE } IDWriteTextAnalysisSourceVtbl; interface IDWriteTextAnalysisSource { - CONST_VTBL IDWriteTextAnalysisSourceVtbl* lpVtbl; + 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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextAnalysisSource_Release(IDWriteTextAnalysisSource* This) { - return This->lpVtbl->Release(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_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 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); + 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_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); +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__ */ +#endif /* __IDWriteTextAnalysisSource_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextAnalysisSink interface @@ -4593,127 +4487,124 @@ static inline HRESULT IDWriteTextAnalysisSource_GetNumberSubstitution(IDWriteTex #ifndef __IDWriteTextAnalysisSink_INTERFACE_DEFINED__ #define __IDWriteTextAnalysisSink_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextAnalysisSink, 0x5810cd44, 0x0ca0, 0x4701, 0xb3,0xfa, 0xbe,0xc5,0x18,0x2a,0xe4,0xf6); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteTextAnalysisSink, 0x5810cd44, 0x0ca0, 0x4701, 0xb3, 0xfa, 0xbe, 0xc5, 0x18, 0x2a, 0xe4, 0xf6) #endif #else typedef struct IDWriteTextAnalysisSinkVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextAnalysisSink *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextAnalysisSink* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextAnalysisSink *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextAnalysisSink* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextAnalysisSink *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextAnalysisSink* This); - /*** IDWriteTextAnalysisSink methods ***/ - HRESULT (STDMETHODCALLTYPE *SetScriptAnalysis)( - IDWriteTextAnalysisSink *This, - UINT32 position, - UINT32 length, - const DWRITE_SCRIPT_ANALYSIS *scriptanalysis); + /*** 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* 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* SetBidiLevel)( + IDWriteTextAnalysisSink* This, + UINT32 position, + UINT32 length, + UINT8 explicitLevel, + UINT8 resolvedLevel); - HRESULT (STDMETHODCALLTYPE *SetNumberSubstitution)( - IDWriteTextAnalysisSink *This, - UINT32 position, - UINT32 length, - IDWriteNumberSubstitution *substitution); + HRESULT(STDMETHODCALLTYPE* SetNumberSubstitution)( + IDWriteTextAnalysisSink* This, + UINT32 position, + UINT32 length, + IDWriteNumberSubstitution* substitution); - END_INTERFACE + END_INTERFACE } IDWriteTextAnalysisSinkVtbl; interface IDWriteTextAnalysisSink { - CONST_VTBL IDWriteTextAnalysisSinkVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextAnalysisSink_Release(IDWriteTextAnalysisSink* This) { - return This->lpVtbl->Release(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_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_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_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); +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__ */ +#endif /* __IDWriteTextAnalysisSink_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextAnalyzer interface @@ -4721,272 +4612,269 @@ static inline HRESULT IDWriteTextAnalysisSink_SetNumberSubstitution(IDWriteTextA #ifndef __IDWriteTextAnalyzer_INTERFACE_DEFINED__ #define __IDWriteTextAnalyzer_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextAnalyzer, 0xb7e6163e, 0x7f46, 0x43b4, 0x84,0xb3, 0xe4,0xe6,0x24,0x9c,0x36,0x5d); +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; +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 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 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 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 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; + 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) +__CRT_UUID_DECL(IDWriteTextAnalyzer, 0xb7e6163e, 0x7f46, 0x43b4, 0x84, 0xb3, 0xe4, 0xe6, 0x24, 0x9c, 0x36, 0x5d) #endif #else typedef struct IDWriteTextAnalyzerVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextAnalyzer *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextAnalyzer* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextAnalyzer *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextAnalyzer* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextAnalyzer *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextAnalyzer* This); - /*** IDWriteTextAnalyzer methods ***/ - HRESULT (STDMETHODCALLTYPE *AnalyzeScript)( - IDWriteTextAnalyzer *This, - IDWriteTextAnalysisSource *source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink *sink); + /*** 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* 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* 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* 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* 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* 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); + 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 + END_INTERFACE } IDWriteTextAnalyzerVtbl; interface IDWriteTextAnalyzer { - CONST_VTBL IDWriteTextAnalyzerVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextAnalyzer_Release(IDWriteTextAnalyzer* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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); +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__ */ +#endif /* __IDWriteTextAnalyzer_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteGlyphRunAnalysis interface @@ -4994,112 +4882,109 @@ static inline HRESULT IDWriteTextAnalyzer_GetGdiCompatibleGlyphPlacements(IDWrit #ifndef __IDWriteGlyphRunAnalysis_INTERFACE_DEFINED__ #define __IDWriteGlyphRunAnalysis_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteGlyphRunAnalysis, 0x7d97dbf7, 0xe085, 0x42d4, 0x81,0xe3, 0x6a,0x88,0x3b,0xde,0xd1,0x18); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteGlyphRunAnalysis, 0x7d97dbf7, 0xe085, 0x42d4, 0x81, 0xe3, 0x6a, 0x88, 0x3b, 0xde, 0xd1, 0x18) #endif #else typedef struct IDWriteGlyphRunAnalysisVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteGlyphRunAnalysis *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteGlyphRunAnalysis* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteGlyphRunAnalysis *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteGlyphRunAnalysis* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteGlyphRunAnalysis *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteGlyphRunAnalysis* This); - /*** IDWriteGlyphRunAnalysis methods ***/ - HRESULT (STDMETHODCALLTYPE *GetAlphaTextureBounds)( - IDWriteGlyphRunAnalysis *This, - DWRITE_TEXTURE_TYPE type, - RECT *bounds); + /*** 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* 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); + HRESULT(STDMETHODCALLTYPE* GetAlphaBlendParams)( + IDWriteGlyphRunAnalysis* This, + IDWriteRenderingParams* renderingParams, + FLOAT* blendGamma, + FLOAT* blendEnhancedContrast, + FLOAT* blendClearTypeLevel); - END_INTERFACE + END_INTERFACE } IDWriteGlyphRunAnalysisVtbl; interface IDWriteGlyphRunAnalysis { - CONST_VTBL IDWriteGlyphRunAnalysisVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteGlyphRunAnalysis_Release(IDWriteGlyphRunAnalysis* This) { - return This->lpVtbl->Release(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_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_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); +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__ */ +#endif /* __IDWriteGlyphRunAnalysis_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory interface @@ -5107,407 +4992,403 @@ static inline HRESULT IDWriteGlyphRunAnalysis_GetAlphaBlendParams(IDWriteGlyphRu #ifndef __IDWriteFactory_INTERFACE_DEFINED__ #define __IDWriteFactory_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory, 0xb859ee5a, 0xd838, 0x4b5b, 0xa2,0xe8, 0x1a,0xdc,0x7d,0x93,0xdb,0x48); +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; +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 CreateCustomFontCollection( + IDWriteFontCollectionLoader * loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection) = 0; - virtual HRESULT STDMETHODCALLTYPE RegisterFontCollectionLoader( - IDWriteFontCollectionLoader *loader) = 0; + virtual HRESULT STDMETHODCALLTYPE RegisterFontCollectionLoader( + IDWriteFontCollectionLoader * loader) = 0; - virtual HRESULT STDMETHODCALLTYPE UnregisterFontCollectionLoader( - 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 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 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 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 CreateRenderingParams( + IDWriteRenderingParams * *params) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateMonitorRenderingParams( - HMONITOR monitor, - 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 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 RegisterFontFileLoader( + IDWriteFontFileLoader * loader) = 0; - virtual HRESULT STDMETHODCALLTYPE UnregisterFontFileLoader( - 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 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 CreateTypography( + IDWriteTypography * *typography) = 0; - virtual HRESULT STDMETHODCALLTYPE GetGdiInterop( - IDWriteGdiInterop **gdi_interop) = 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 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 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 CreateEllipsisTrimmingSign( + IDWriteTextFormat * format, + IDWriteInlineObject * *trimming_sign) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateTextAnalyzer( - IDWriteTextAnalyzer **analyzer) = 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; + 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) +__CRT_UUID_DECL(IDWriteFactory, 0xb859ee5a, 0xd838, 0x4b5b, 0xa2, 0xe8, 0x1a, 0xdc, 0x7d, 0x93, 0xdb, 0x48) #endif #else typedef struct IDWriteFactoryVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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 + END_INTERFACE } IDWriteFactoryVtbl; interface IDWriteFactory { - CONST_VTBL IDWriteFactoryVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory_Release(IDWriteFactory* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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__ */ -#endif /* __IDWriteFactory_INTERFACE_DEFINED__ */ - -HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE,REFIID,IUnknown**); +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 diff --git a/src/text/dwrite_2.h b/src/text/dwrite_2.h index 75cbd7e..049da56 100644 --- a/src/text/dwrite_2.h +++ b/src/text/dwrite_2.h @@ -117,55 +117,55 @@ extern "C" { #endif typedef enum DWRITE_OPTICAL_ALIGNMENT { - DWRITE_OPTICAL_ALIGNMENT_NONE = 0, - DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS = 1 + 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_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; + 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; + __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_GLYPH_RUN glyphRun; + DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription; + FLOAT baselineOriginX; + FLOAT baselineOriginY; + DWRITE_COLOR_F runColor; + UINT16 paletteIndex; } DWRITE_COLOR_GLYPH_RUN; /***************************************************************************** * IDWriteTextRenderer1 interface @@ -173,226 +173,223 @@ typedef struct DWRITE_COLOR_GLYPH_RUN { #ifndef __IDWriteTextRenderer1_INTERFACE_DEFINED__ #define __IDWriteTextRenderer1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextRenderer1, 0xd3e0e934, 0x22a0, 0x427e, 0xaa,0xe4, 0x7d,0x95,0x74,0xb5,0x9d,0xb1); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteTextRenderer1, 0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1) #endif #else typedef struct IDWriteTextRenderer1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextRenderer1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextRenderer1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextRenderer1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextRenderer1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextRenderer1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextRenderer1* This); - /*** IDWritePixelSnapping methods ***/ - HRESULT (STDMETHODCALLTYPE *IsPixelSnappingDisabled)( - IDWriteTextRenderer1 *This, - void *client_drawingcontext, - WINBOOL *disabled); + /*** 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* GetCurrentTransform)( + IDWriteTextRenderer1* This, + void* client_drawingcontext, + DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *GetPixelsPerDip)( - IDWriteTextRenderer1 *This, - void *client_drawingcontext, - FLOAT *pixels_per_dip); + 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); + /*** 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* 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* 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); + 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); + /*** 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_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_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); + 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 + END_INTERFACE } IDWriteTextRenderer1Vtbl; interface IDWriteTextRenderer1 { - CONST_VTBL IDWriteTextRenderer1Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextRenderer1_Release(IDWriteTextRenderer1* This) { - return This->lpVtbl->Release(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_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_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); +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_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_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_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); +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__ */ +#endif /* __IDWriteTextRenderer1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFallback interface @@ -400,96 +397,93 @@ static inline HRESULT IDWriteTextRenderer1_DrawInlineObject(IDWriteTextRenderer1 #ifndef __IDWriteFontFallback_INTERFACE_DEFINED__ #define __IDWriteFontFallback_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFallback, 0xefa008f9, 0xf7a1, 0x48bf, 0xb0,0x5c, 0xf2,0x24,0x71,0x3c,0xc0,0xff); +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; - +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) +__CRT_UUID_DECL(IDWriteFontFallback, 0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff) #endif #else typedef struct IDWriteFontFallbackVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFallback *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFallback* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFallback *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFallback* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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 + END_INTERFACE } IDWriteFontFallbackVtbl; interface IDWriteFontFallback { - CONST_VTBL IDWriteFontFallbackVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFallback_Release(IDWriteFontFallback* This) { - return This->lpVtbl->Release(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); +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__ */ +#endif /* __IDWriteFontFallback_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextFormat1 interface @@ -497,349 +491,343 @@ static inline HRESULT IDWriteFontFallback_MapCharacters(IDWriteFontFallback* Thi #ifndef __IDWriteTextFormat1_INTERFACE_DEFINED__ #define __IDWriteTextFormat1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextFormat1, 0x5f174b49, 0x0d8b, 0x4cfb, 0x8b,0xca, 0xf1,0xcc,0xe9,0xd0,0x6c,0x67); +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; +IDWriteTextFormat1 : public IDWriteTextFormat { + virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation( + DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0; - virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation( - ) = 0; + virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation() = 0; - virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping( - WINBOOL lastline_wrapping_enabled) = 0; + virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping( + WINBOOL lastline_wrapping_enabled) = 0; - virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping( - ) = 0; + virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping() = 0; - virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment( - DWRITE_OPTICAL_ALIGNMENT alignment) = 0; + virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment( + DWRITE_OPTICAL_ALIGNMENT alignment) = 0; - virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment( - ) = 0; + virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment() = 0; - virtual HRESULT STDMETHODCALLTYPE SetFontFallback( - IDWriteFontFallback *fallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFallback( - IDWriteFontFallback **fallback) = 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) +__CRT_UUID_DECL(IDWriteTextFormat1, 0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67) #endif #else typedef struct IDWriteTextFormat1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextFormat1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextFormat1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextFormat1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextFormat1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextFormat1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextFormat1* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextFormat1 *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextFormat1* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextFormat1 *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextFormat1* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextFormat1 *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextFormat1* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextFormat1 *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextFormat1* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextFormat1 *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextFormat1* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextFormat1 *This, - FLOAT tabstop); + HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( + IDWriteTextFormat1* This, + FLOAT tabstop); - HRESULT (STDMETHODCALLTYPE *SetTrimming)( - IDWriteTextFormat1 *This, - const DWRITE_TRIMMING *trimming, - IDWriteInlineObject *trimming_sign); + 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); + HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( + IDWriteTextFormat1* This, + DWRITE_LINE_SPACING_METHOD spacing, + FLOAT line_spacing, + FLOAT baseline); - DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( - IDWriteTextFormat1 *This); + DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( + IDWriteTextFormat1* This); - DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( - IDWriteTextFormat1 *This); + DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( + IDWriteTextFormat1* This); - DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( - IDWriteTextFormat1 *This); + DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( + IDWriteTextFormat1* This); - DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( - IDWriteTextFormat1 *This); + DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( + IDWriteTextFormat1* This); - DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( - IDWriteTextFormat1 *This); + DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( + IDWriteTextFormat1* This); - FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( - IDWriteTextFormat1 *This); + FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( + IDWriteTextFormat1* This); - HRESULT (STDMETHODCALLTYPE *GetTrimming)( - IDWriteTextFormat1 *This, - DWRITE_TRIMMING *options, - IDWriteInlineObject **trimming_sign); + 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* GetLineSpacing)( + IDWriteTextFormat1* This, + DWRITE_LINE_SPACING_METHOD* method, + FLOAT* spacing, + FLOAT* baseline); - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteTextFormat1 *This, - IDWriteFontCollection **collection); + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteTextFormat1* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( - IDWriteTextFormat1 *This); + UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( + IDWriteTextFormat1* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( - IDWriteTextFormat1 *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( + IDWriteTextFormat1* This, + WCHAR* name, + UINT32 size); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( - IDWriteTextFormat1 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( + IDWriteTextFormat1* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( - IDWriteTextFormat1 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( + IDWriteTextFormat1* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( - IDWriteTextFormat1 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( + IDWriteTextFormat1* This); - FLOAT (STDMETHODCALLTYPE *GetFontSize)( - IDWriteTextFormat1 *This); + FLOAT(STDMETHODCALLTYPE* GetFontSize)( + IDWriteTextFormat1* This); - UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( - IDWriteTextFormat1 *This); + UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( + IDWriteTextFormat1* This); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteTextFormat1 *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetLocaleName)( + IDWriteTextFormat1* This, + WCHAR* name, + UINT32 size); - /*** IDWriteTextFormat1 methods ***/ - HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( - IDWriteTextFormat1 *This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); + /*** IDWriteTextFormat1 methods ***/ + HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( + IDWriteTextFormat1* This, + DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( - IDWriteTextFormat1 *This); + DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( + IDWriteTextFormat1* This); - HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( - IDWriteTextFormat1 *This, - WINBOOL lastline_wrapping_enabled); + HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( + IDWriteTextFormat1* This, + WINBOOL lastline_wrapping_enabled); - WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( - IDWriteTextFormat1 *This); + WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( + IDWriteTextFormat1* This); - HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( - IDWriteTextFormat1 *This, - DWRITE_OPTICAL_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( + IDWriteTextFormat1* This, + DWRITE_OPTICAL_ALIGNMENT alignment); - DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( - IDWriteTextFormat1 *This); + DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( + IDWriteTextFormat1* This); - HRESULT (STDMETHODCALLTYPE *SetFontFallback)( - IDWriteTextFormat1 *This, - IDWriteFontFallback *fallback); + HRESULT(STDMETHODCALLTYPE* SetFontFallback)( + IDWriteTextFormat1* This, + IDWriteFontFallback* fallback); - HRESULT (STDMETHODCALLTYPE *GetFontFallback)( - IDWriteTextFormat1 *This, - IDWriteFontFallback **fallback); + HRESULT(STDMETHODCALLTYPE* GetFontFallback)( + IDWriteTextFormat1* This, + IDWriteFontFallback** fallback); - END_INTERFACE + END_INTERFACE } IDWriteTextFormat1Vtbl; interface IDWriteTextFormat1 { - CONST_VTBL IDWriteTextFormat1Vtbl* lpVtbl; + 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_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_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_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_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) +#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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextFormat1_Release(IDWriteTextFormat1* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat1_GetParagraphAlignment(IDWriteTextFormat1* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextFormat1_GetWordWrapping(IDWriteTextFormat1* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextFormat1_GetReadingDirection(IDWriteTextFormat1* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat1_GetFlowDirection(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextFormat1_GetIncrementalTabStop(IDWriteTextFormat1* This) { - return This->lpVtbl->GetIncrementalTabStop(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_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_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 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); + 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 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); + return This->lpVtbl->GetFontWeight(This); } static inline DWRITE_FONT_STYLE IDWriteTextFormat1_GetFontStyle(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontStyle(This); + return This->lpVtbl->GetFontStyle(This); } static inline DWRITE_FONT_STRETCH IDWriteTextFormat1_GetFontStretch(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontStretch(This); + return This->lpVtbl->GetFontStretch(This); } static inline FLOAT IDWriteTextFormat1_GetFontSize(IDWriteTextFormat1* This) { - return This->lpVtbl->GetFontSize(This); + return This->lpVtbl->GetFontSize(This); } static inline UINT32 IDWriteTextFormat1_GetLocaleNameLength(IDWriteTextFormat1* This) { - return This->lpVtbl->GetLocaleNameLength(This); + return This->lpVtbl->GetLocaleNameLength(This); } -static inline HRESULT IDWriteTextFormat1_GetLocaleName(IDWriteTextFormat1* This,WCHAR *name,UINT32 size) { - return This->lpVtbl->GetLocaleName(This,name,size); +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 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); + 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 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); + return This->lpVtbl->GetLastLineWrapping(This); } -static inline HRESULT IDWriteTextFormat1_SetOpticalAlignment(IDWriteTextFormat1* This,DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This,alignment); +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); + return This->lpVtbl->GetOpticalAlignment(This); } -static inline HRESULT IDWriteTextFormat1_SetFontFallback(IDWriteTextFormat1* This,IDWriteFontFallback *fallback) { - return This->lpVtbl->SetFontFallback(This,fallback); +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); +static inline HRESULT IDWriteTextFormat1_GetFontFallback(IDWriteTextFormat1* This, IDWriteFontFallback** fallback) { + return This->lpVtbl->GetFontFallback(This, fallback); } #endif #endif #endif - -#endif /* __IDWriteTextFormat1_INTERFACE_DEFINED__ */ +#endif /* __IDWriteTextFormat1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextLayout2 interface @@ -847,741 +835,735 @@ static inline HRESULT IDWriteTextFormat1_GetFontFallback(IDWriteTextFormat1* Thi #ifndef __IDWriteTextLayout2_INTERFACE_DEFINED__ #define __IDWriteTextLayout2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextLayout2, 0x1093c18f, 0x8d5e, 0x43f0, 0xb0,0x64, 0x09,0x17,0x31,0x1b,0x52,0x5e); +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; +IDWriteTextLayout2 : public IDWriteTextLayout1 { + virtual HRESULT STDMETHODCALLTYPE GetMetrics( + DWRITE_TEXT_METRICS1 * metrics) = 0; - virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation( - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0; + virtual HRESULT STDMETHODCALLTYPE SetVerticalGlyphOrientation( + DWRITE_VERTICAL_GLYPH_ORIENTATION orientation) = 0; - virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation( - ) = 0; + virtual DWRITE_VERTICAL_GLYPH_ORIENTATION STDMETHODCALLTYPE GetVerticalGlyphOrientation() = 0; - virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping( - WINBOOL lastline_wrapping_enabled) = 0; + virtual HRESULT STDMETHODCALLTYPE SetLastLineWrapping( + WINBOOL lastline_wrapping_enabled) = 0; - virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping( - ) = 0; + virtual WINBOOL STDMETHODCALLTYPE GetLastLineWrapping() = 0; - virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment( - DWRITE_OPTICAL_ALIGNMENT alignment) = 0; + virtual HRESULT STDMETHODCALLTYPE SetOpticalAlignment( + DWRITE_OPTICAL_ALIGNMENT alignment) = 0; - virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment( - ) = 0; + virtual DWRITE_OPTICAL_ALIGNMENT STDMETHODCALLTYPE GetOpticalAlignment() = 0; - virtual HRESULT STDMETHODCALLTYPE SetFontFallback( - IDWriteFontFallback *fallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFontFallback( - IDWriteFontFallback **fallback) = 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) +__CRT_UUID_DECL(IDWriteTextLayout2, 0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e) #endif #else typedef struct IDWriteTextLayout2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextLayout2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextLayout2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextLayout2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextLayout2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextLayout2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextLayout2* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextLayout2 *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextLayout2* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextLayout2 *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextLayout2* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextLayout2 *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextLayout2* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextLayout2 *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextLayout2* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextLayout2 *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextLayout2* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextLayout2 *This, - FLOAT tabstop); + 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); + 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 + 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; + 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_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_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) +#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_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) +#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) +#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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextLayout2_Release(IDWriteTextLayout2* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout2_GetParagraphAlignment(IDWriteTextLayout2* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextLayout2_GetWordWrapping(IDWriteTextLayout2* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextLayout2_GetReadingDirection(IDWriteTextLayout2* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout2_GetFlowDirection(IDWriteTextLayout2* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextLayout2_GetIncrementalTabStop(IDWriteTextLayout2* This) { - return This->lpVtbl->GetIncrementalTabStop(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_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); +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_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_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_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_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_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_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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetMaxWidth(This); } static inline FLOAT IDWriteTextLayout2_GetMaxHeight(IDWriteTextLayout2* This) { - return This->lpVtbl->GetMaxHeight(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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_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_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_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); +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_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 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); + 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 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); + return This->lpVtbl->GetLastLineWrapping(This); } -static inline HRESULT IDWriteTextLayout2_SetOpticalAlignment(IDWriteTextLayout2* This,DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This,alignment); +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); + return This->lpVtbl->GetOpticalAlignment(This); } -static inline HRESULT IDWriteTextLayout2_SetFontFallback(IDWriteTextLayout2* This,IDWriteFontFallback *fallback) { - return This->lpVtbl->SetFontFallback(This,fallback); +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); +static inline HRESULT IDWriteTextLayout2_GetFontFallback(IDWriteTextLayout2* This, IDWriteFontFallback** fallback) { + return This->lpVtbl->GetFontFallback(This, fallback); } #endif #endif #endif - -#endif /* __IDWriteTextLayout2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteTextLayout2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextAnalyzer2 interface @@ -1589,381 +1571,378 @@ static inline HRESULT IDWriteTextLayout2_GetFontFallback(IDWriteTextLayout2* Thi #ifndef __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ #define __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextAnalyzer2, 0x553a9ff3, 0x5693, 0x4df7, 0xb5,0x2b, 0x74,0x80,0x6f,0x7f,0x2e,0xb9); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteTextAnalyzer2, 0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9) #endif #else typedef struct IDWriteTextAnalyzer2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextAnalyzer2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextAnalyzer2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextAnalyzer2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextAnalyzer2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextAnalyzer2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextAnalyzer2* This); - /*** IDWriteTextAnalyzer methods ***/ - HRESULT (STDMETHODCALLTYPE *AnalyzeScript)( - IDWriteTextAnalyzer2 *This, - IDWriteTextAnalysisSource *source, - UINT32 position, - UINT32 length, - IDWriteTextAnalysisSink *sink); + /*** 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* 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* 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* 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* 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* 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); + 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); + /*** 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* 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* 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* 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* 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* 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* 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* 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); + 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); + /*** 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* 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); + 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 + END_INTERFACE } IDWriteTextAnalyzer2Vtbl; interface IDWriteTextAnalyzer2 { - CONST_VTBL IDWriteTextAnalyzer2Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextAnalyzer2_Release(IDWriteTextAnalyzer2* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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); +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_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_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_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_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_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_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_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); +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_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_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); +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__ */ +#endif /* __IDWriteTextAnalyzer2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFallbackBuilder interface @@ -1971,112 +1950,109 @@ static inline HRESULT IDWriteTextAnalyzer2_CheckTypographicFeature(IDWriteTextAn #ifndef __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ #define __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFallbackBuilder, 0xfd882d06, 0x8aba, 0x4fb8, 0xb8,0x49, 0x8b,0xe8,0xb7,0x3e,0x14,0xde); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontFallbackBuilder, 0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde) #endif #else typedef struct IDWriteFontFallbackBuilderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFallbackBuilder *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFallbackBuilder* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFallbackBuilder *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFallbackBuilder* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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* AddMappings)( + IDWriteFontFallbackBuilder* This, + IDWriteFontFallback* fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallback)( - IDWriteFontFallbackBuilder *This, - IDWriteFontFallback **fallback); + HRESULT(STDMETHODCALLTYPE* CreateFontFallback)( + IDWriteFontFallbackBuilder* This, + IDWriteFontFallback** fallback); - END_INTERFACE + END_INTERFACE } IDWriteFontFallbackBuilderVtbl; interface IDWriteFontFallbackBuilder { - CONST_VTBL IDWriteFontFallbackBuilderVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFallbackBuilder_Release(IDWriteFontFallbackBuilder* This) { - return This->lpVtbl->Release(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_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_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); +static inline HRESULT IDWriteFontFallbackBuilder_CreateFontFallback(IDWriteFontFallbackBuilder* This, IDWriteFontFallback** fallback) { + return This->lpVtbl->CreateFontFallback(This, fallback); } #endif #endif #endif - -#endif /* __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontFallbackBuilder_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFont2 interface @@ -2084,196 +2060,192 @@ static inline HRESULT IDWriteFontFallbackBuilder_CreateFontFallback(IDWriteFontF #ifndef __IDWriteFont2_INTERFACE_DEFINED__ #define __IDWriteFont2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFont2, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44); +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; - +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) +__CRT_UUID_DECL(IDWriteFont2, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44) #endif #else typedef struct IDWriteFont2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFont2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFont2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFont2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFont2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFont2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFont2* This); - /*** IDWriteFont methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFont2 *This, - IDWriteFontFamily **family); + /*** IDWriteFont methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFont2* This, + IDWriteFontFamily** family); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFont2 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFont2* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFont2 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFont2* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFont2 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFont2* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFont2 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFont2* This); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - IDWriteFont2 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFaceNames)( + IDWriteFont2* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( - IDWriteFont2 *This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings **strings, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFont2* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFont2 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFont2* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFont2 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFont2* This, + DWRITE_FONT_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFont2 *This, - UINT32 value, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* HasCharacter)( + IDWriteFont2* This, + UINT32 value, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFont2 *This, - IDWriteFontFace **face); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFont2* This, + IDWriteFontFace** face); - /*** IDWriteFont1 methods ***/ - void (STDMETHODCALLTYPE *IDWriteFont1_GetMetrics)( - IDWriteFont2 *This, - DWRITE_FONT_METRICS1 *metrics); + /*** IDWriteFont1 methods ***/ + void(STDMETHODCALLTYPE* IDWriteFont1_GetMetrics)( + IDWriteFont2* This, + DWRITE_FONT_METRICS1* metrics); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFont2 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFont2* This, + DWRITE_PANOSE* panose); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFont2 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFont2* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFont2 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFont2* This); - /*** IDWriteFont2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFont2 *This); + /*** IDWriteFont2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFont2* This); - END_INTERFACE + END_INTERFACE } IDWriteFont2Vtbl; interface IDWriteFont2 { - CONST_VTBL IDWriteFont2Vtbl* lpVtbl; + 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_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_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_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) +#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_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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFont2_Release(IDWriteFont2* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFont2_GetStretch(IDWriteFont2* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFont2_GetStyle(IDWriteFont2* This) { - return This->lpVtbl->GetStyle(This); + return This->lpVtbl->GetStyle(This); } static inline WINBOOL IDWriteFont2_IsSymbolFont(IDWriteFont2* This) { - return This->lpVtbl->IsSymbolFont(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_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 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); + 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_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); +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_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 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 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); + return This->lpVtbl->IsMonospacedFont(This); } /*** IDWriteFont2 methods ***/ static inline WINBOOL IDWriteFont2_IsColorFont(IDWriteFont2* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } #endif #endif #endif - -#endif /* __IDWriteFont2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFont2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace2 interface @@ -2281,396 +2253,390 @@ static inline WINBOOL IDWriteFont2_IsColorFont(IDWriteFont2* This) { #ifndef __IDWriteFontFace2_INTERFACE_DEFINED__ #define __IDWriteFontFace2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace2, 0xd8b768ff, 0x64bc, 0x4e66, 0x98,0x2b, 0xec,0x8e,0x87,0xf6,0x93,0xf7); +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; +IDWriteFontFace2 : public IDWriteFontFace1 { + virtual WINBOOL STDMETHODCALLTYPE IsColorFont() = 0; - virtual UINT32 STDMETHODCALLTYPE GetColorPaletteCount( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetColorPaletteCount() = 0; - virtual UINT32 STDMETHODCALLTYPE GetPaletteEntryCount( - ) = 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; + 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) +__CRT_UUID_DECL(IDWriteFontFace2, 0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7) #endif #else typedef struct IDWriteFontFace2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace2* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace2 *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace2* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace2 *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace2* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace2 *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace2* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace2 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace2* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace2 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace2* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace2 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace2* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace2 *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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); + /*** 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); + 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); + void(STDMETHODCALLTYPE* GetCaretMetrics)( + IDWriteFontFace2* This, + DWRITE_CARET_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFontFace2 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFontFace2* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFontFace2 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFontFace2* This); - HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( - IDWriteFontFace2 *This, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances, - WINBOOL is_sideways); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( + IDWriteFontFace2* This, + UINT32 glyph_count, + const UINT16* indices, + INT32* adjustments); - WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( - IDWriteFontFace2 *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( + IDWriteFontFace2* This, + UINT32 glyph_count, + const UINT16* nominal_indices, + UINT16* vertical_indices); - WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( - IDWriteFontFace2 *This); + WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( + IDWriteFontFace2* This); - /*** IDWriteFontFace2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFontFace2 *This); + /*** IDWriteFontFace2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFontFace2* This); - UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( - IDWriteFontFace2 *This); + UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( + IDWriteFontFace2* This); - UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( - 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* 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); + 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 + END_INTERFACE } IDWriteFontFace2Vtbl; interface IDWriteFontFace2 { - CONST_VTBL IDWriteFontFace2Vtbl* lpVtbl; + 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_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_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) +#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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace2_Release(IDWriteFontFace2* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace2_GetType(IDWriteFontFace2* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace2_GetSimulations(IDWriteFontFace2* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace2_IsSymbolFont(IDWriteFontFace2* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } static inline UINT16 IDWriteFontFace2_GetGlyphCount(IDWriteFontFace2* This) { - return This->lpVtbl->GetGlyphCount(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_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_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 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 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_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); +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 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 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 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 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); + 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_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_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 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); + 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 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); + return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static inline WINBOOL IDWriteFontFace2_IsColorFont(IDWriteFontFace2* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } static inline UINT32 IDWriteFontFace2_GetColorPaletteCount(IDWriteFontFace2* This) { - return This->lpVtbl->GetColorPaletteCount(This); + return This->lpVtbl->GetColorPaletteCount(This); } static inline UINT32 IDWriteFontFace2_GetPaletteEntryCount(IDWriteFontFace2* This) { - return This->lpVtbl->GetPaletteEntryCount(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_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); +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__ */ +#endif /* __IDWriteFontFace2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteColorGlyphRunEnumerator interface @@ -2678,87 +2644,84 @@ static inline HRESULT IDWriteFontFace2_GetRecommendedRenderingMode(IDWriteFontFa #ifndef __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ #define __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator, 0xd31fbe17, 0xf157, 0x41a2, 0x8d,0x24, 0xcb,0x77,0x9e,0x05,0x60,0xe8); +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; +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) +__CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator, 0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8) #endif #else typedef struct IDWriteColorGlyphRunEnumeratorVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteColorGlyphRunEnumerator *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteColorGlyphRunEnumerator* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteColorGlyphRunEnumerator *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteColorGlyphRunEnumerator* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteColorGlyphRunEnumerator *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteColorGlyphRunEnumerator* This); - /*** IDWriteColorGlyphRunEnumerator methods ***/ - HRESULT (STDMETHODCALLTYPE *MoveNext)( - IDWriteColorGlyphRunEnumerator *This, - WINBOOL *hasRun); + /*** IDWriteColorGlyphRunEnumerator methods ***/ + HRESULT(STDMETHODCALLTYPE* MoveNext)( + IDWriteColorGlyphRunEnumerator* This, + WINBOOL* hasRun); - HRESULT (STDMETHODCALLTYPE *GetCurrentRun)( - IDWriteColorGlyphRunEnumerator *This, - const DWRITE_COLOR_GLYPH_RUN **run); + HRESULT(STDMETHODCALLTYPE* GetCurrentRun)( + IDWriteColorGlyphRunEnumerator* This, + const DWRITE_COLOR_GLYPH_RUN** run); - END_INTERFACE + END_INTERFACE } IDWriteColorGlyphRunEnumeratorVtbl; interface IDWriteColorGlyphRunEnumerator { - CONST_VTBL IDWriteColorGlyphRunEnumeratorVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteColorGlyphRunEnumerator_Release(IDWriteColorGlyphRunEnumerator* This) { - return This->lpVtbl->Release(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_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); +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__ */ +#endif /* __IDWriteColorGlyphRunEnumerator_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteRenderingParams2 interface @@ -2766,69 +2729,66 @@ static inline HRESULT IDWriteColorGlyphRunEnumerator_GetCurrentRun(IDWriteColorG #ifndef __IDWriteRenderingParams2_INTERFACE_DEFINED__ #define __IDWriteRenderingParams2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteRenderingParams2, 0xf9d711c3, 0x9777, 0x40ae, 0x87,0xe8, 0x3e,0x5a,0xf9,0xbf,0x09,0x48); +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; - +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) +__CRT_UUID_DECL(IDWriteRenderingParams2, 0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48) #endif #else typedef struct IDWriteRenderingParams2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteRenderingParams2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteRenderingParams2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteRenderingParams2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteRenderingParams2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteRenderingParams2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteRenderingParams2* This); - /*** IDWriteRenderingParams methods ***/ - FLOAT (STDMETHODCALLTYPE *GetGamma)( - IDWriteRenderingParams2 *This); + /*** IDWriteRenderingParams methods ***/ + FLOAT(STDMETHODCALLTYPE* GetGamma)( + IDWriteRenderingParams2* This); - FLOAT (STDMETHODCALLTYPE *GetEnhancedContrast)( - IDWriteRenderingParams2 *This); + FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)( + IDWriteRenderingParams2* This); - FLOAT (STDMETHODCALLTYPE *GetClearTypeLevel)( - IDWriteRenderingParams2 *This); + FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)( + IDWriteRenderingParams2* This); - DWRITE_PIXEL_GEOMETRY (STDMETHODCALLTYPE *GetPixelGeometry)( - IDWriteRenderingParams2 *This); + DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)( + IDWriteRenderingParams2* This); - DWRITE_RENDERING_MODE (STDMETHODCALLTYPE *GetRenderingMode)( - IDWriteRenderingParams2 *This); + DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)( + IDWriteRenderingParams2* This); - /*** IDWriteRenderingParams1 methods ***/ - FLOAT (STDMETHODCALLTYPE *GetGrayscaleEnhancedContrast)( - IDWriteRenderingParams2 *This); + /*** IDWriteRenderingParams1 methods ***/ + FLOAT(STDMETHODCALLTYPE* GetGrayscaleEnhancedContrast)( + IDWriteRenderingParams2* This); - /*** IDWriteRenderingParams2 methods ***/ - DWRITE_GRID_FIT_MODE (STDMETHODCALLTYPE *GetGridFitMode)( - IDWriteRenderingParams2 *This); + /*** IDWriteRenderingParams2 methods ***/ + DWRITE_GRID_FIT_MODE(STDMETHODCALLTYPE* GetGridFitMode)( + IDWriteRenderingParams2* This); - END_INTERFACE + END_INTERFACE } IDWriteRenderingParams2Vtbl; interface IDWriteRenderingParams2 { - CONST_VTBL IDWriteRenderingParams2Vtbl* lpVtbl; + 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_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 ***/ @@ -2843,46 +2803,45 @@ interface IDWriteRenderingParams2 { #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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteRenderingParams2_Release(IDWriteRenderingParams2* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteRenderingParams methods ***/ static inline FLOAT IDWriteRenderingParams2_GetGamma(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetGamma(This); + return This->lpVtbl->GetGamma(This); } static inline FLOAT IDWriteRenderingParams2_GetEnhancedContrast(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetEnhancedContrast(This); + return This->lpVtbl->GetEnhancedContrast(This); } static inline FLOAT IDWriteRenderingParams2_GetClearTypeLevel(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetClearTypeLevel(This); + return This->lpVtbl->GetClearTypeLevel(This); } static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams2_GetPixelGeometry(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetPixelGeometry(This); + return This->lpVtbl->GetPixelGeometry(This); } static inline DWRITE_RENDERING_MODE IDWriteRenderingParams2_GetRenderingMode(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetRenderingMode(This); + return This->lpVtbl->GetRenderingMode(This); } /*** IDWriteRenderingParams1 methods ***/ static inline FLOAT IDWriteRenderingParams2_GetGrayscaleEnhancedContrast(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetGrayscaleEnhancedContrast(This); + return This->lpVtbl->GetGrayscaleEnhancedContrast(This); } /*** IDWriteRenderingParams2 methods ***/ static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams2_GetGridFitMode(IDWriteRenderingParams2* This) { - return This->lpVtbl->GetGridFitMode(This); + return This->lpVtbl->GetGridFitMode(This); } #endif #endif #endif - -#endif /* __IDWriteRenderingParams2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteRenderingParams2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory2 interface @@ -2890,404 +2849,400 @@ static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams2_GetGridFitMode(IDWrit #ifndef __IDWriteFactory2_INTERFACE_DEFINED__ #define __IDWriteFactory2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d,0xee, 0x3a,0x9a,0xf7,0xb7,0x32,0xec); +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; +IDWriteFactory2 : public IDWriteFactory1 { + virtual HRESULT STDMETHODCALLTYPE GetSystemFontFallback( + IDWriteFontFallback * *fallback) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateFontFallbackBuilder( - IDWriteFontFallbackBuilder **fallbackbuilder) = 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 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; + 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) +__CRT_UUID_DECL(IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec) #endif #else typedef struct IDWriteFactory2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory2* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory2 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory2* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory2 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory2* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory2* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory2 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory2* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory2* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory2 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory2* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory2 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory2* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory2 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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 + END_INTERFACE } IDWriteFactory2Vtbl; interface IDWriteFactory2 { - CONST_VTBL IDWriteFactory2Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory2_Release(IDWriteFactory2* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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_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_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_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); +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__ */ +#endif /* __IDWriteFactory2_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ - /* End additional prototypes */ #ifdef __cplusplus diff --git a/src/text/dwrite_3.h b/src/text/dwrite_3.h index c2b6f85..2f41e39 100644 --- a/src/text/dwrite_3.h +++ b/src/text/dwrite_3.h @@ -473,201 +473,201 @@ 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_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_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_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_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_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))) +#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)) +#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_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_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_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_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_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_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_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_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_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_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_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_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 @@ -675,80 +675,77 @@ typedef struct DWRITE_PAINT_ELEMENT { #ifndef __IDWriteFontDownloadListener_INTERFACE_DEFINED__ #define __IDWriteFontDownloadListener_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88,0x1b, 0xdb,0xe4,0xdc,0x72,0xfd,0xa7); +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; - +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) +__CRT_UUID_DECL(IDWriteFontDownloadListener, 0xb06fe5b9, 0x43ec, 0x4393, 0x88, 0x1b, 0xdb, 0xe4, 0xdc, 0x72, 0xfd, 0xa7) #endif #else typedef struct IDWriteFontDownloadListenerVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontDownloadListener *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontDownloadListener* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontDownloadListener *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontDownloadListener* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontDownloadListener *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontDownloadListener* This); - /*** IDWriteFontDownloadListener methods ***/ - void (STDMETHODCALLTYPE *DownloadCompleted)( - IDWriteFontDownloadListener *This, - IDWriteFontDownloadQueue *queue, - IUnknown *context, - HRESULT result); + /*** IDWriteFontDownloadListener methods ***/ + void(STDMETHODCALLTYPE* DownloadCompleted)( + IDWriteFontDownloadListener* This, + IDWriteFontDownloadQueue* queue, + IUnknown* context, + HRESULT result); - END_INTERFACE + END_INTERFACE } IDWriteFontDownloadListenerVtbl; interface IDWriteFontDownloadListener { - CONST_VTBL IDWriteFontDownloadListenerVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontDownloadListener_Release(IDWriteFontDownloadListener* This) { - return This->lpVtbl->Release(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); +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__ */ +#endif /* __IDWriteFontDownloadListener_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontDownloadQueue interface @@ -756,130 +753,124 @@ static inline void IDWriteFontDownloadListener_DownloadCompleted(IDWriteFontDown #ifndef __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ #define __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83,0x2e, 0xf6,0x0d,0x43,0x1f,0x7e,0x91); +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; +IDWriteFontDownloadQueue : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE AddListener( + IDWriteFontDownloadListener * listener, + UINT32 * token) = 0; - virtual HRESULT STDMETHODCALLTYPE RemoveListener( - UINT32 token) = 0; + virtual HRESULT STDMETHODCALLTYPE RemoveListener( + UINT32 token) = 0; - virtual WINBOOL STDMETHODCALLTYPE IsEmpty( - ) = 0; + virtual WINBOOL STDMETHODCALLTYPE IsEmpty() = 0; - virtual HRESULT STDMETHODCALLTYPE BeginDownload( - IUnknown *context) = 0; + virtual HRESULT STDMETHODCALLTYPE BeginDownload( + IUnknown * context) = 0; - virtual HRESULT STDMETHODCALLTYPE CancelDownload( - ) = 0; - - virtual UINT64 STDMETHODCALLTYPE GetGenerationCount( - ) = 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) +__CRT_UUID_DECL(IDWriteFontDownloadQueue, 0xb71e6052, 0x5aea, 0x4fa3, 0x83, 0x2e, 0xf6, 0x0d, 0x43, 0x1f, 0x7e, 0x91) #endif #else typedef struct IDWriteFontDownloadQueueVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontDownloadQueue *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontDownloadQueue* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontDownloadQueue *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontDownloadQueue* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontDownloadQueue *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontDownloadQueue* This); - /*** IDWriteFontDownloadQueue methods ***/ - HRESULT (STDMETHODCALLTYPE *AddListener)( - IDWriteFontDownloadQueue *This, - IDWriteFontDownloadListener *listener, - UINT32 *token); + /*** IDWriteFontDownloadQueue methods ***/ + HRESULT(STDMETHODCALLTYPE* AddListener)( + IDWriteFontDownloadQueue* This, + IDWriteFontDownloadListener* listener, + UINT32* token); - HRESULT (STDMETHODCALLTYPE *RemoveListener)( - IDWriteFontDownloadQueue *This, - UINT32 token); + HRESULT(STDMETHODCALLTYPE* RemoveListener)( + IDWriteFontDownloadQueue* This, + UINT32 token); - WINBOOL (STDMETHODCALLTYPE *IsEmpty)( - IDWriteFontDownloadQueue *This); + WINBOOL(STDMETHODCALLTYPE* IsEmpty)( + IDWriteFontDownloadQueue* This); - HRESULT (STDMETHODCALLTYPE *BeginDownload)( - IDWriteFontDownloadQueue *This, - IUnknown *context); + HRESULT(STDMETHODCALLTYPE* BeginDownload)( + IDWriteFontDownloadQueue* This, + IUnknown* context); - HRESULT (STDMETHODCALLTYPE *CancelDownload)( - IDWriteFontDownloadQueue *This); + HRESULT(STDMETHODCALLTYPE* CancelDownload)( + IDWriteFontDownloadQueue* This); - UINT64 (STDMETHODCALLTYPE *GetGenerationCount)( - IDWriteFontDownloadQueue *This); + UINT64(STDMETHODCALLTYPE* GetGenerationCount)( + IDWriteFontDownloadQueue* This); - END_INTERFACE + END_INTERFACE } IDWriteFontDownloadQueueVtbl; interface IDWriteFontDownloadQueue { - CONST_VTBL IDWriteFontDownloadQueueVtbl* lpVtbl; + 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_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_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_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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontDownloadQueue_Release(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->Release(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_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 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); + return This->lpVtbl->IsEmpty(This); } -static inline HRESULT IDWriteFontDownloadQueue_BeginDownload(IDWriteFontDownloadQueue* This,IUnknown *context) { - return This->lpVtbl->BeginDownload(This,context); +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); + return This->lpVtbl->CancelDownload(This); } static inline UINT64 IDWriteFontDownloadQueue_GetGenerationCount(IDWriteFontDownloadQueue* This) { - return This->lpVtbl->GetGenerationCount(This); + return This->lpVtbl->GetGenerationCount(This); } #endif #endif #endif - -#endif /* __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontDownloadQueue_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteRenderingParams3 interface @@ -887,73 +878,70 @@ static inline UINT64 IDWriteFontDownloadQueue_GetGenerationCount(IDWriteFontDown #ifndef __IDWriteRenderingParams3_INTERFACE_DEFINED__ #define __IDWriteRenderingParams3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c,0x5c, 0xe4,0x4c,0xc2,0xd8,0x67,0xdc); +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; - +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) +__CRT_UUID_DECL(IDWriteRenderingParams3, 0xb7924baa, 0x391b, 0x412a, 0x8c, 0x5c, 0xe4, 0x4c, 0xc2, 0xd8, 0x67, 0xdc) #endif #else typedef struct IDWriteRenderingParams3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteRenderingParams3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteRenderingParams3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteRenderingParams3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteRenderingParams3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteRenderingParams3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteRenderingParams3* This); - /*** IDWriteRenderingParams methods ***/ - FLOAT (STDMETHODCALLTYPE *GetGamma)( - IDWriteRenderingParams3 *This); + /*** IDWriteRenderingParams methods ***/ + FLOAT(STDMETHODCALLTYPE* GetGamma)( + IDWriteRenderingParams3* This); - FLOAT (STDMETHODCALLTYPE *GetEnhancedContrast)( - IDWriteRenderingParams3 *This); + FLOAT(STDMETHODCALLTYPE* GetEnhancedContrast)( + IDWriteRenderingParams3* This); - FLOAT (STDMETHODCALLTYPE *GetClearTypeLevel)( - IDWriteRenderingParams3 *This); + FLOAT(STDMETHODCALLTYPE* GetClearTypeLevel)( + IDWriteRenderingParams3* This); - DWRITE_PIXEL_GEOMETRY (STDMETHODCALLTYPE *GetPixelGeometry)( - IDWriteRenderingParams3 *This); + DWRITE_PIXEL_GEOMETRY(STDMETHODCALLTYPE* GetPixelGeometry)( + IDWriteRenderingParams3* This); - DWRITE_RENDERING_MODE (STDMETHODCALLTYPE *GetRenderingMode)( - IDWriteRenderingParams3 *This); + DWRITE_RENDERING_MODE(STDMETHODCALLTYPE* GetRenderingMode)( + IDWriteRenderingParams3* This); - /*** IDWriteRenderingParams1 methods ***/ - FLOAT (STDMETHODCALLTYPE *GetGrayscaleEnhancedContrast)( - IDWriteRenderingParams3 *This); + /*** IDWriteRenderingParams1 methods ***/ + FLOAT(STDMETHODCALLTYPE* GetGrayscaleEnhancedContrast)( + IDWriteRenderingParams3* This); - /*** IDWriteRenderingParams2 methods ***/ - DWRITE_GRID_FIT_MODE (STDMETHODCALLTYPE *GetGridFitMode)( - IDWriteRenderingParams3 *This); + /*** IDWriteRenderingParams2 methods ***/ + DWRITE_GRID_FIT_MODE(STDMETHODCALLTYPE* GetGridFitMode)( + IDWriteRenderingParams3* This); - /*** IDWriteRenderingParams3 methods ***/ - DWRITE_RENDERING_MODE1 (STDMETHODCALLTYPE *GetRenderingMode1)( - IDWriteRenderingParams3 *This); + /*** IDWriteRenderingParams3 methods ***/ + DWRITE_RENDERING_MODE1(STDMETHODCALLTYPE* GetRenderingMode1)( + IDWriteRenderingParams3* This); - END_INTERFACE + END_INTERFACE } IDWriteRenderingParams3Vtbl; interface IDWriteRenderingParams3 { - CONST_VTBL IDWriteRenderingParams3Vtbl* lpVtbl; + 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_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 ***/ @@ -970,50 +958,49 @@ interface IDWriteRenderingParams3 { #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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteRenderingParams3_Release(IDWriteRenderingParams3* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteRenderingParams methods ***/ static inline FLOAT IDWriteRenderingParams3_GetGamma(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetGamma(This); + return This->lpVtbl->GetGamma(This); } static inline FLOAT IDWriteRenderingParams3_GetEnhancedContrast(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetEnhancedContrast(This); + return This->lpVtbl->GetEnhancedContrast(This); } static inline FLOAT IDWriteRenderingParams3_GetClearTypeLevel(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetClearTypeLevel(This); + return This->lpVtbl->GetClearTypeLevel(This); } static inline DWRITE_PIXEL_GEOMETRY IDWriteRenderingParams3_GetPixelGeometry(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetPixelGeometry(This); + return This->lpVtbl->GetPixelGeometry(This); } static inline DWRITE_RENDERING_MODE IDWriteRenderingParams3_GetRenderingMode(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetRenderingMode(This); + return This->lpVtbl->GetRenderingMode(This); } /*** IDWriteRenderingParams1 methods ***/ static inline FLOAT IDWriteRenderingParams3_GetGrayscaleEnhancedContrast(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetGrayscaleEnhancedContrast(This); + return This->lpVtbl->GetGrayscaleEnhancedContrast(This); } /*** IDWriteRenderingParams2 methods ***/ static inline DWRITE_GRID_FIT_MODE IDWriteRenderingParams3_GetGridFitMode(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetGridFitMode(This); + return This->lpVtbl->GetGridFitMode(This); } /*** IDWriteRenderingParams3 methods ***/ static inline DWRITE_RENDERING_MODE1 IDWriteRenderingParams3_GetRenderingMode1(IDWriteRenderingParams3* This) { - return This->lpVtbl->GetRenderingMode1(This); + return This->lpVtbl->GetRenderingMode1(This); } #endif #endif #endif - -#endif /* __IDWriteRenderingParams3_INTERFACE_DEFINED__ */ +#endif /* __IDWriteRenderingParams3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteStringList interface @@ -1021,131 +1008,127 @@ static inline DWRITE_RENDERING_MODE1 IDWriteRenderingParams3_GetRenderingMode1(I #ifndef __IDWriteStringList_INTERFACE_DEFINED__ #define __IDWriteStringList_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteStringList, 0xcfee3140, 0x1157, 0x47ca, 0x8b,0x85, 0x31,0xbf,0xcf,0x3f,0x2d,0x0e); +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; +IDWriteStringList : public IUnknown { + virtual UINT32 STDMETHODCALLTYPE GetCount() = 0; - virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( - UINT32 index, - UINT32 *length) = 0; + virtual HRESULT STDMETHODCALLTYPE GetLocaleNameLength( + UINT32 index, + UINT32 * length) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLocaleName( - UINT32 index, - WCHAR *name, - UINT32 size) = 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; + 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) +__CRT_UUID_DECL(IDWriteStringList, 0xcfee3140, 0x1157, 0x47ca, 0x8b, 0x85, 0x31, 0xbf, 0xcf, 0x3f, 0x2d, 0x0e) #endif #else typedef struct IDWriteStringListVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteStringList *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteStringList* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteStringList *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteStringList* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteStringList *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteStringList* This); - /*** IDWriteStringList methods ***/ - UINT32 (STDMETHODCALLTYPE *GetCount)( - IDWriteStringList *This); + /*** IDWriteStringList methods ***/ + UINT32(STDMETHODCALLTYPE* GetCount)( + IDWriteStringList* This); - HRESULT (STDMETHODCALLTYPE *GetLocaleNameLength)( - IDWriteStringList *This, - UINT32 index, - UINT32 *length); + HRESULT(STDMETHODCALLTYPE* GetLocaleNameLength)( + IDWriteStringList* This, + UINT32 index, + UINT32* length); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteStringList *This, - UINT32 index, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetLocaleName)( + IDWriteStringList* This, + UINT32 index, + WCHAR* name, + UINT32 size); - HRESULT (STDMETHODCALLTYPE *GetStringLength)( - IDWriteStringList *This, - UINT32 index, - UINT32 *length); + HRESULT(STDMETHODCALLTYPE* GetStringLength)( + IDWriteStringList* This, + UINT32 index, + UINT32* length); - HRESULT (STDMETHODCALLTYPE *GetString)( - IDWriteStringList *This, - UINT32 index, - WCHAR *string, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetString)( + IDWriteStringList* This, + UINT32 index, + WCHAR* string, + UINT32 size); - END_INTERFACE + END_INTERFACE } IDWriteStringListVtbl; interface IDWriteStringList { - CONST_VTBL IDWriteStringListVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteStringList_Release(IDWriteStringList* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteStringList methods ***/ static inline UINT32 IDWriteStringList_GetCount(IDWriteStringList* This) { - return This->lpVtbl->GetCount(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_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_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_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); +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__ */ +#endif /* __IDWriteStringList_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet interface @@ -1153,210 +1136,206 @@ static inline HRESULT IDWriteStringList_GetString(IDWriteStringList* This,UINT32 #ifndef __IDWriteFontSet_INTERFACE_DEFINED__ #define __IDWriteFontSet_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6b); +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; +IDWriteFontSet : public IUnknown { + virtual UINT32 STDMETHODCALLTYPE GetFontCount() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - UINT32 index, - IDWriteFontFaceReference **reference) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( + UINT32 index, + IDWriteFontFaceReference * *reference) = 0; - virtual HRESULT STDMETHODCALLTYPE FindFontFaceReference( - IDWriteFontFaceReference *reference, - UINT32 *index, - WINBOOL *exists) = 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 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, + IDWriteStringList * *values) = 0; - virtual HRESULT STDMETHODCALLTYPE GetPropertyValues_( - DWRITE_FONT_PROPERTY_ID id, - const WCHAR *preferred_locales, - 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 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 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; + 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) +__CRT_UUID_DECL(IDWriteFontSet, 0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6b) #endif #else typedef struct IDWriteFontSetVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSet *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSet* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSet *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSet* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSet *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSet* This); - /*** IDWriteFontSet methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontSet *This); + /*** IDWriteFontSet methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontSet* This); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontSet *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontSet* This, + UINT32 index, + IDWriteFontFaceReference** reference); - HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( - IDWriteFontSet *This, - IDWriteFontFaceReference *reference, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( + IDWriteFontSet* This, + IDWriteFontFaceReference* reference, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *FindFontFace)( - IDWriteFontSet *This, - IDWriteFontFace *fontface, - 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, + IDWriteStringList** values); - HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( - IDWriteFontSet *This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR *preferred_locales, - 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* 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* 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 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); + HRESULT(STDMETHODCALLTYPE* GetMatchingFonts)( + IDWriteFontSet* This, + const DWRITE_FONT_PROPERTY* props, + UINT32 count, + IDWriteFontSet** fontset); - END_INTERFACE + END_INTERFACE } IDWriteFontSetVtbl; interface IDWriteFontSet { - CONST_VTBL IDWriteFontSetVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSet_Release(IDWriteFontSet* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static inline UINT32 IDWriteFontSet_GetFontCount(IDWriteFontSet* This) { - return This->lpVtbl->GetFontCount(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_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_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_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, 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, 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_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_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 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); +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__ */ +#endif /* __IDWriteFontSet_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontResource interface @@ -1364,218 +1343,212 @@ static inline HRESULT IDWriteFontSet_GetMatchingFonts(IDWriteFontSet* This,const #ifndef __IDWriteFontResource_INTERFACE_DEFINED__ #define __IDWriteFontResource_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98,0x7f, 0xb9,0x75,0x55,0x1c,0x50,0xf2); +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; +IDWriteFontResource : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE GetFontFile( + IDWriteFontFile * *fontfile) = 0; - virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex() = 0; - virtual UINT32 STDMETHODCALLTYPE GetFontAxisCount( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetFontAxisCount() = 0; - virtual HRESULT STDMETHODCALLTYPE GetDefaultFontAxisValues( - DWRITE_FONT_AXIS_VALUE *values, - UINT32 num_values) = 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 HRESULT STDMETHODCALLTYPE GetFontAxisRanges( + DWRITE_FONT_AXIS_RANGE * ranges, + UINT32 num_ranges) = 0; - virtual DWRITE_FONT_AXIS_ATTRIBUTES STDMETHODCALLTYPE GetFontAxisAttributes( - UINT32 axis) = 0; + virtual DWRITE_FONT_AXIS_ATTRIBUTES STDMETHODCALLTYPE GetFontAxisAttributes( + UINT32 axis) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAxisNames( - UINT32 axis, - IDWriteLocalizedStrings **names) = 0; + virtual HRESULT STDMETHODCALLTYPE GetAxisNames( + UINT32 axis, + IDWriteLocalizedStrings * *names) = 0; - virtual UINT32 STDMETHODCALLTYPE GetAxisValueNameCount( - UINT32 axis) = 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 HRESULT STDMETHODCALLTYPE GetAxisValueNames( + UINT32 axis, + UINT32 axis_value, + DWRITE_FONT_AXIS_RANGE * axis_range, + IDWriteLocalizedStrings * *names) = 0; - virtual WINBOOL STDMETHODCALLTYPE HasVariations( - ) = 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; + 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) +__CRT_UUID_DECL(IDWriteFontResource, 0x1f803a76, 0x6871, 0x48e8, 0x98, 0x7f, 0xb9, 0x75, 0x55, 0x1c, 0x50, 0xf2) #endif #else typedef struct IDWriteFontResourceVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontResource *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontResource* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontResource *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontResource* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontResource *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontResource* This); - /*** IDWriteFontResource methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontFile)( - IDWriteFontResource *This, - IDWriteFontFile **fontfile); + /*** IDWriteFontResource methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFile)( + IDWriteFontResource* This, + IDWriteFontFile** fontfile); - UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( - IDWriteFontResource *This); + UINT32(STDMETHODCALLTYPE* GetFontFaceIndex)( + IDWriteFontResource* This); - UINT32 (STDMETHODCALLTYPE *GetFontAxisCount)( - IDWriteFontResource *This); + UINT32(STDMETHODCALLTYPE* GetFontAxisCount)( + IDWriteFontResource* This); - HRESULT (STDMETHODCALLTYPE *GetDefaultFontAxisValues)( - IDWriteFontResource *This, - DWRITE_FONT_AXIS_VALUE *values, - UINT32 num_values); + 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); + HRESULT(STDMETHODCALLTYPE* GetFontAxisRanges)( + IDWriteFontResource* This, + DWRITE_FONT_AXIS_RANGE* ranges, + UINT32 num_ranges); - DWRITE_FONT_AXIS_ATTRIBUTES (STDMETHODCALLTYPE *GetFontAxisAttributes)( - IDWriteFontResource *This, - UINT32 axis); + DWRITE_FONT_AXIS_ATTRIBUTES(STDMETHODCALLTYPE* GetFontAxisAttributes)( + IDWriteFontResource* This, + UINT32 axis); - HRESULT (STDMETHODCALLTYPE *GetAxisNames)( - IDWriteFontResource *This, - UINT32 axis, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetAxisNames)( + IDWriteFontResource* This, + UINT32 axis, + IDWriteLocalizedStrings** names); - UINT32 (STDMETHODCALLTYPE *GetAxisValueNameCount)( - IDWriteFontResource *This, - UINT32 axis); + 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); + HRESULT(STDMETHODCALLTYPE* GetAxisValueNames)( + IDWriteFontResource* This, + UINT32 axis, + UINT32 axis_value, + DWRITE_FONT_AXIS_RANGE* axis_range, + IDWriteLocalizedStrings** names); - WINBOOL (STDMETHODCALLTYPE *HasVariations)( - IDWriteFontResource *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* CreateFontFaceReference)( + IDWriteFontResource* This, + DWRITE_FONT_SIMULATIONS simulations, + const DWRITE_FONT_AXIS_VALUE* axis_values, + UINT32 num_values, + IDWriteFontFaceReference1** reference); - END_INTERFACE + END_INTERFACE } IDWriteFontResourceVtbl; interface IDWriteFontResource { - CONST_VTBL IDWriteFontResourceVtbl* lpVtbl; + 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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontResource_Release(IDWriteFontResource* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetFontFaceIndex(This); } static inline UINT32 IDWriteFontResource_GetFontAxisCount(IDWriteFontResource* This) { - return This->lpVtbl->GetFontAxisCount(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_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 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 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 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 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 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); + 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_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); +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__ */ +#endif /* __IDWriteFontResource_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet1 interface @@ -1583,358 +1556,355 @@ static inline HRESULT IDWriteFontResource_CreateFontFaceReference(IDWriteFontRes #ifndef __IDWriteFontSet1_INTERFACE_DEFINED__ #define __IDWriteFontSet1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc,0x47, 0x7a,0xe3,0x53,0x0d,0xb4,0xd3); +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; +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 GetFirstFontResources( + IDWriteFontSet1 * *fontset) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFilteredFonts__( - const UINT32 *indices, - UINT32 num_indices, - 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_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 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_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 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_( + 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 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 GetFontFaceReference( + UINT32 index, + IDWriteFontFaceReference1 * *reference) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateFontResource( - UINT32 index, - IDWriteFontResource **resource) = 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; + 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) +__CRT_UUID_DECL(IDWriteFontSet1, 0x7e9fda85, 0x6c92, 0x4053, 0xbc, 0x47, 0x7a, 0xe3, 0x53, 0x0d, 0xb4, 0xd3) #endif #else typedef struct IDWriteFontSet1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSet1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSet1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSet1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSet1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSet1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSet1* This); - /*** IDWriteFontSet methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontSet1 *This); + /*** IDWriteFontSet methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontSet1* This); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontSet1 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontSet1* This, + UINT32 index, + IDWriteFontFaceReference** reference); - HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( - IDWriteFontSet1 *This, - IDWriteFontFaceReference *reference, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( + IDWriteFontSet1* This, + IDWriteFontFaceReference* reference, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *FindFontFace)( - IDWriteFontSet1 *This, - IDWriteFontFace *fontface, - 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, + IDWriteStringList** values); - HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( - IDWriteFontSet1 *This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR *preferred_locales, - 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* 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* 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 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); + 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); + /*** 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* GetFirstFontResources)( + IDWriteFontSet1* This, + IDWriteFontSet1** fontset); - HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( - IDWriteFontSet1 *This, - const UINT32 *indices, - UINT32 num_indices, - 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_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* 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_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* 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, + 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* 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* IDWriteFontSet1_GetFontFaceReference)( + IDWriteFontSet1* This, + UINT32 index, + IDWriteFontFaceReference1** reference); - HRESULT (STDMETHODCALLTYPE *CreateFontResource)( - IDWriteFontSet1 *This, - UINT32 index, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* CreateFontResource)( + IDWriteFontSet1* This, + UINT32 index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFontSet1 *This, - UINT32 index, - IDWriteFontFace5 **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFontSet1* This, + UINT32 index, + IDWriteFontFace5** fontface); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( - IDWriteFontSet1 *This, - UINT32 index); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontSet1* This, + UINT32 index); - END_INTERFACE + END_INTERFACE } IDWriteFontSet1Vtbl; interface IDWriteFontSet1 { - CONST_VTBL IDWriteFontSet1Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSet1_Release(IDWriteFontSet1* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static inline UINT32 IDWriteFontSet1_GetFontCount(IDWriteFontSet1* This) { - return This->lpVtbl->GetFontCount(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_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_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, 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, 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_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_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); +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_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_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 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_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_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_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_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, 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_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_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_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 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); +static inline DWRITE_LOCALITY IDWriteFontSet1_GetFontLocality(IDWriteFontSet1* This, UINT32 index) { + return This->lpVtbl->GetFontLocality(This, index); } #endif #endif #endif - -#endif /* __IDWriteFontSet1_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontSet1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFont3 interface @@ -1942,242 +1912,238 @@ static inline DWRITE_LOCALITY IDWriteFontSet1_GetFontLocality(IDWriteFontSet1* T #ifndef __IDWriteFont3_INTERFACE_DEFINED__ #define __IDWriteFont3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe,0x0b, 0xd9,0x12,0xe8,0x53,0x89,0x44); +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; +IDWriteFont3 : public IDWriteFont2 { + virtual HRESULT STDMETHODCALLTYPE CreateFontFace( + IDWriteFontFace3 * *fontface) = 0; - virtual WINBOOL STDMETHODCALLTYPE Equals( - IDWriteFont *font) = 0; + virtual WINBOOL STDMETHODCALLTYPE Equals( + IDWriteFont * font) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( - IDWriteFontFaceReference **reference) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( + IDWriteFontFaceReference * *reference) = 0; - virtual WINBOOL STDMETHODCALLTYPE HasCharacter( - UINT32 character) = 0; - - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( - ) = 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) +__CRT_UUID_DECL(IDWriteFont3, 0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44) #endif #else typedef struct IDWriteFont3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFont3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFont3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFont3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFont3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFont3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFont3* This); - /*** IDWriteFont methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFont3 *This, - IDWriteFontFamily **family); + /*** IDWriteFont methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFont3* This, + IDWriteFontFamily** family); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFont3 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFont3* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFont3 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFont3* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFont3 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFont3* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFont3 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFont3* This); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - IDWriteFont3 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFaceNames)( + IDWriteFont3* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetInformationalStrings)( - IDWriteFont3 *This, - DWRITE_INFORMATIONAL_STRING_ID stringid, - IDWriteLocalizedStrings **strings, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFont3* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFont3 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFont3* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFont3 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFont3* This, + DWRITE_FONT_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFont3 *This, - UINT32 value, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* HasCharacter)( + IDWriteFont3* This, + UINT32 value, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFont3 *This, - IDWriteFontFace **face); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFont3* This, + IDWriteFontFace** face); - /*** IDWriteFont1 methods ***/ - void (STDMETHODCALLTYPE *IDWriteFont1_GetMetrics)( - IDWriteFont3 *This, - DWRITE_FONT_METRICS1 *metrics); + /*** IDWriteFont1 methods ***/ + void(STDMETHODCALLTYPE* IDWriteFont1_GetMetrics)( + IDWriteFont3* This, + DWRITE_FONT_METRICS1* metrics); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFont3 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFont3* This, + DWRITE_PANOSE* panose); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFont3 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFont3* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFont3 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFont3* This); - /*** IDWriteFont2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFont3 *This); + /*** IDWriteFont2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFont3* This); - /*** IDWriteFont3 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteFont3_CreateFontFace)( - IDWriteFont3 *This, - IDWriteFontFace3 **fontface); + /*** IDWriteFont3 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteFont3_CreateFontFace)( + IDWriteFont3* This, + IDWriteFontFace3** fontface); - WINBOOL (STDMETHODCALLTYPE *Equals)( - IDWriteFont3 *This, - IDWriteFont *font); + WINBOOL(STDMETHODCALLTYPE* Equals)( + IDWriteFont3* This, + IDWriteFont* font); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFont3 *This, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFont3* This, + IDWriteFontFaceReference** reference); - WINBOOL (STDMETHODCALLTYPE *IDWriteFont3_HasCharacter)( - IDWriteFont3 *This, - UINT32 character); + WINBOOL(STDMETHODCALLTYPE* IDWriteFont3_HasCharacter)( + IDWriteFont3* This, + UINT32 character); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( - IDWriteFont3 *This); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( + IDWriteFont3* This); - END_INTERFACE + END_INTERFACE } IDWriteFont3Vtbl; interface IDWriteFont3 { - CONST_VTBL IDWriteFont3Vtbl* lpVtbl; + 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_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_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_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_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_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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFont3_Release(IDWriteFont3* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFont3_GetStretch(IDWriteFont3* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFont3_GetStyle(IDWriteFont3* This) { - return This->lpVtbl->GetStyle(This); + return This->lpVtbl->GetStyle(This); } static inline WINBOOL IDWriteFont3_IsSymbolFont(IDWriteFont3* This) { - return This->lpVtbl->IsSymbolFont(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_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 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); + 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_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 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 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); + return This->lpVtbl->IsMonospacedFont(This); } /*** IDWriteFont2 methods ***/ static inline WINBOOL IDWriteFont3_IsColorFont(IDWriteFont3* This) { - return This->lpVtbl->IsColorFont(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 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 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 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 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); + return This->lpVtbl->GetLocality(This); } #endif #endif #endif - -#endif /* __IDWriteFont3_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFont3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFamily1 interface @@ -2185,158 +2151,155 @@ static inline DWRITE_LOCALITY IDWriteFont3_GetLocality(IDWriteFont3* This) { #ifndef __IDWriteFontFamily1_INTERFACE_DEFINED__ #define __IDWriteFontFamily1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xdf); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontFamily1, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdf) #endif #else typedef struct IDWriteFontFamily1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFamily1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFamily1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFamily1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFamily1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFamily1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFamily1* This); - /*** IDWriteFontList methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteFontFamily1 *This, - IDWriteFontCollection **collection); + /*** IDWriteFontList methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteFontFamily1* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontFamily1 *This); + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontFamily1* This); - HRESULT (STDMETHODCALLTYPE *GetFont)( - IDWriteFontFamily1 *This, - UINT32 index, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFont)( + IDWriteFontFamily1* This, + UINT32 index, + IDWriteFont** font); - /*** IDWriteFontFamily methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFamily1 *This, - IDWriteLocalizedStrings **names); + /*** 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* 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); + 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); + /*** IDWriteFontFamily1 methods ***/ + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontFamily1* This, + UINT32 index); - HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( - IDWriteFontFamily1 *This, - UINT32 index, - IDWriteFont3 **font); + HRESULT(STDMETHODCALLTYPE* IDWriteFontFamily1_GetFont)( + IDWriteFontFamily1* This, + UINT32 index, + IDWriteFont3** font); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontFamily1 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontFamily1* This, + UINT32 index, + IDWriteFontFaceReference** reference); - END_INTERFACE + END_INTERFACE } IDWriteFontFamily1Vtbl; interface IDWriteFontFamily1 { - CONST_VTBL IDWriteFontFamily1Vtbl* lpVtbl; + 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_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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFamily1_Release(IDWriteFontFamily1* This) { - return This->lpVtbl->Release(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 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); + 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_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_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); +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 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_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); +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__ */ +#endif /* __IDWriteFontFamily1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFamily2 interface @@ -2344,172 +2307,169 @@ static inline HRESULT IDWriteFontFamily1_GetFontFaceReference(IDWriteFontFamily1 #ifndef __IDWriteFontFamily2_INTERFACE_DEFINED__ #define __IDWriteFontFamily2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9,0xcf, 0xc1,0x26,0xc2,0x13,0x1e,0xf3); +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; +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) +__CRT_UUID_DECL(IDWriteFontFamily2, 0x3ed49e77, 0xa398, 0x4261, 0xb9, 0xcf, 0xc1, 0x26, 0xc2, 0x13, 0x1e, 0xf3) #endif #else typedef struct IDWriteFontFamily2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFamily2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFamily2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFamily2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFamily2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFamily2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFamily2* This); - /*** IDWriteFontList methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteFontFamily2 *This, - IDWriteFontCollection **collection); + /*** IDWriteFontList methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteFontFamily2* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontFamily2 *This); + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontFamily2* This); - HRESULT (STDMETHODCALLTYPE *GetFont)( - IDWriteFontFamily2 *This, - UINT32 index, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFont)( + IDWriteFontFamily2* This, + UINT32 index, + IDWriteFont** font); - /*** IDWriteFontFamily methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFamily2 *This, - IDWriteLocalizedStrings **names); + /*** 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* 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); + 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); + /*** IDWriteFontFamily1 methods ***/ + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontFamily2* This, + UINT32 index); - HRESULT (STDMETHODCALLTYPE *IDWriteFontFamily1_GetFont)( - IDWriteFontFamily2 *This, - UINT32 index, - IDWriteFont3 **font); + HRESULT(STDMETHODCALLTYPE* IDWriteFontFamily1_GetFont)( + IDWriteFontFamily2* This, + UINT32 index, + IDWriteFont3** font); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontFamily2 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + 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); + /*** 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); + HRESULT(STDMETHODCALLTYPE* GetFontSet)( + IDWriteFontFamily2* This, + IDWriteFontSet1** fontset); - END_INTERFACE + END_INTERFACE } IDWriteFontFamily2Vtbl; interface IDWriteFontFamily2 { - CONST_VTBL IDWriteFontFamily2Vtbl* lpVtbl; + 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_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_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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFamily2_Release(IDWriteFontFamily2* This) { - return This->lpVtbl->Release(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 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); + 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_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); +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 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_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); +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_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); +static inline HRESULT IDWriteFontFamily2_GetFontSet(IDWriteFontFamily2* This, IDWriteFontSet1** fontset) { + return This->lpVtbl->GetFontSet(This, fontset); } #endif #endif #endif - -#endif /* __IDWriteFontFamily2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontFamily2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection1 interface @@ -2517,123 +2477,120 @@ static inline HRESULT IDWriteFontFamily2_GetFontSet(IDWriteFontFamily2* This,IDW #ifndef __IDWriteFontCollection1_INTERFACE_DEFINED__ #define __IDWriteFontCollection1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83,0x21, 0xd7,0x3c,0xf6,0xbd,0x11,0x6c); +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; +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) +__CRT_UUID_DECL(IDWriteFontCollection1, 0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6c) #endif #else typedef struct IDWriteFontCollection1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontCollection1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontCollection1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontCollection1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontCollection1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontCollection1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontCollection1* This); - /*** IDWriteFontCollection methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( - IDWriteFontCollection1 *This); + /*** IDWriteFontCollection methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( + IDWriteFontCollection1* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFontCollection1 *This, - UINT32 index, - IDWriteFontFamily **family); + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFontCollection1* This, + UINT32 index, + IDWriteFontFamily** family); - HRESULT (STDMETHODCALLTYPE *FindFamilyName)( - IDWriteFontCollection1 *This, - const WCHAR *name, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFamilyName)( + IDWriteFontCollection1* This, + const WCHAR* name, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( - IDWriteFontCollection1 *This, - IDWriteFontFace *face, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( + IDWriteFontCollection1* This, + IDWriteFontFace* face, + IDWriteFont** font); - /*** IDWriteFontCollection1 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontSet)( - IDWriteFontCollection1 *This, - IDWriteFontSet **fontset); + /*** IDWriteFontCollection1 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontSet)( + IDWriteFontCollection1* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( - IDWriteFontCollection1 *This, - UINT32 index, - IDWriteFontFamily1 **family); + HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection1_GetFontFamily)( + IDWriteFontCollection1* This, + UINT32 index, + IDWriteFontFamily1** family); - END_INTERFACE + END_INTERFACE } IDWriteFontCollection1Vtbl; interface IDWriteFontCollection1 { - CONST_VTBL IDWriteFontCollection1Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontCollection1_Release(IDWriteFontCollection1* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static inline UINT32 IDWriteFontCollection1_GetFontFamilyCount(IDWriteFontCollection1* This) { - return This->lpVtbl->GetFontFamilyCount(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_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); +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_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); +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__ */ +#endif /* __IDWriteFontCollection1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection2 interface @@ -2641,162 +2598,158 @@ static inline HRESULT IDWriteFontCollection1_GetFontFamily(IDWriteFontCollection #ifndef __IDWriteFontCollection2_INTERFACE_DEFINED__ #define __IDWriteFontCollection2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf,0x8b, 0x92,0xea,0x83,0xe5,0x06,0xe0); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteFontCollection2, 0x514039c6, 0x4617, 0x4064, 0xbf, 0x8b, 0x92, 0xea, 0x83, 0xe5, 0x06, 0xe0) #endif #else typedef struct IDWriteFontCollection2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontCollection2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontCollection2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontCollection2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontCollection2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontCollection2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontCollection2* This); - /*** IDWriteFontCollection methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( - IDWriteFontCollection2 *This); + /*** IDWriteFontCollection methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( + IDWriteFontCollection2* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFontCollection2 *This, - UINT32 index, - IDWriteFontFamily **family); + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFontCollection2* This, + UINT32 index, + IDWriteFontFamily** family); - HRESULT (STDMETHODCALLTYPE *FindFamilyName)( - IDWriteFontCollection2 *This, - const WCHAR *name, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFamilyName)( + IDWriteFontCollection2* This, + const WCHAR* name, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( - IDWriteFontCollection2 *This, - IDWriteFontFace *face, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( + IDWriteFontCollection2* This, + IDWriteFontFace* face, + IDWriteFont** font); - /*** IDWriteFontCollection1 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontSet)( - IDWriteFontCollection2 *This, - IDWriteFontSet **fontset); + /*** IDWriteFontCollection1 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontSet)( + IDWriteFontCollection2* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( - IDWriteFontCollection2 *This, - UINT32 index, - IDWriteFontFamily1 **family); + HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection1_GetFontFamily)( + IDWriteFontCollection2* This, + UINT32 index, + IDWriteFontFamily1** family); - /*** IDWriteFontCollection2 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( - IDWriteFontCollection2 *This, - UINT32 index, - IDWriteFontFamily2 **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); + 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); + DWRITE_FONT_FAMILY_MODEL(STDMETHODCALLTYPE* GetFontFamilyModel)( + IDWriteFontCollection2* This); - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( - IDWriteFontCollection2 *This, - IDWriteFontSet1 **fontset); + HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection2_GetFontSet)( + IDWriteFontCollection2* This, + IDWriteFontSet1** fontset); - END_INTERFACE + END_INTERFACE } IDWriteFontCollection2Vtbl; interface IDWriteFontCollection2 { - CONST_VTBL IDWriteFontCollection2Vtbl* lpVtbl; + 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_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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontCollection2_Release(IDWriteFontCollection2* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static inline UINT32 IDWriteFontCollection2_GetFontFamilyCount(IDWriteFontCollection2* This) { - return This->lpVtbl->GetFontFamilyCount(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_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); +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_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 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); + return This->lpVtbl->GetFontFamilyModel(This); } -static inline HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* This,IDWriteFontSet1 **fontset) { - return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); +static inline HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* This, IDWriteFontSet1** fontset) { + return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This, fontset); } #endif #endif #endif - -#endif /* __IDWriteFontCollection2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontCollection2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontCollection3 interface @@ -2804,159 +2757,155 @@ static inline HRESULT IDWriteFontCollection2_GetFontSet(IDWriteFontCollection2* #ifndef __IDWriteFontCollection3_INTERFACE_DEFINED__ #define __IDWriteFontCollection3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93,0xb7, 0x9e,0x30,0x9f,0x3a,0xf8,0xe9); +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; - +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) +__CRT_UUID_DECL(IDWriteFontCollection3, 0xa4d055a6, 0xf9e3, 0x4e25, 0x93, 0xb7, 0x9e, 0x30, 0x9f, 0x3a, 0xf8, 0xe9) #endif #else typedef struct IDWriteFontCollection3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontCollection3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontCollection3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontCollection3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontCollection3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontCollection3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontCollection3* This); - /*** IDWriteFontCollection methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontFamilyCount)( - IDWriteFontCollection3 *This); + /*** IDWriteFontCollection methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontFamilyCount)( + IDWriteFontCollection3* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamily)( - IDWriteFontCollection3 *This, - UINT32 index, - IDWriteFontFamily **family); + HRESULT(STDMETHODCALLTYPE* GetFontFamily)( + IDWriteFontCollection3* This, + UINT32 index, + IDWriteFontFamily** family); - HRESULT (STDMETHODCALLTYPE *FindFamilyName)( - IDWriteFontCollection3 *This, - const WCHAR *name, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFamilyName)( + IDWriteFontCollection3* This, + const WCHAR* name, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *GetFontFromFontFace)( - IDWriteFontCollection3 *This, - IDWriteFontFace *face, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFontFromFontFace)( + IDWriteFontCollection3* This, + IDWriteFontFace* face, + IDWriteFont** font); - /*** IDWriteFontCollection1 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontSet)( - IDWriteFontCollection3 *This, - IDWriteFontSet **fontset); + /*** IDWriteFontCollection1 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontSet)( + IDWriteFontCollection3* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection1_GetFontFamily)( - IDWriteFontCollection3 *This, - UINT32 index, - IDWriteFontFamily1 **family); + HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection1_GetFontFamily)( + IDWriteFontCollection3* This, + UINT32 index, + IDWriteFontFamily1** family); - /*** IDWriteFontCollection2 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontFamily)( - IDWriteFontCollection3 *This, - UINT32 index, - IDWriteFontFamily2 **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); + 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); + DWRITE_FONT_FAMILY_MODEL(STDMETHODCALLTYPE* GetFontFamilyModel)( + IDWriteFontCollection3* This); - HRESULT (STDMETHODCALLTYPE *IDWriteFontCollection2_GetFontSet)( - IDWriteFontCollection3 *This, - IDWriteFontSet1 **fontset); + HRESULT(STDMETHODCALLTYPE* IDWriteFontCollection2_GetFontSet)( + IDWriteFontCollection3* This, + IDWriteFontSet1** fontset); - /*** IDWriteFontCollection3 methods ***/ - HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( - IDWriteFontCollection3 *This); + /*** IDWriteFontCollection3 methods ***/ + HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( + IDWriteFontCollection3* This); - END_INTERFACE + END_INTERFACE } IDWriteFontCollection3Vtbl; interface IDWriteFontCollection3 { - CONST_VTBL IDWriteFontCollection3Vtbl* lpVtbl; + 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_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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontCollection3_Release(IDWriteFontCollection3* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontCollection methods ***/ static inline UINT32 IDWriteFontCollection3_GetFontFamilyCount(IDWriteFontCollection3* This) { - return This->lpVtbl->GetFontFamilyCount(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_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); +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_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 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); + return This->lpVtbl->GetFontFamilyModel(This); } -static inline HRESULT IDWriteFontCollection3_GetFontSet(IDWriteFontCollection3* This,IDWriteFontSet1 **fontset) { - return This->lpVtbl->IDWriteFontCollection2_GetFontSet(This,fontset); +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); + return This->lpVtbl->GetExpirationEvent(This); } #endif #endif #endif - -#endif /* __IDWriteFontCollection3_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontCollection3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFaceReference interface @@ -2964,221 +2913,212 @@ static inline HANDLE IDWriteFontCollection3_GetExpirationEvent(IDWriteFontCollec #ifndef __IDWriteFontFaceReference_INTERFACE_DEFINED__ #define __IDWriteFontFaceReference_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89,0xf0, 0x9f,0xcd,0x6f,0xed,0x58,0xcd); +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; +IDWriteFontFaceReference : public IUnknown { + virtual HRESULT STDMETHODCALLTYPE CreateFontFace( + IDWriteFontFace3 * *fontface) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateFontFaceWithSimulations( - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3 **fontface) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateFontFaceWithSimulations( + DWRITE_FONT_SIMULATIONS simulations, + IDWriteFontFace3 * *fontface) = 0; - virtual WINBOOL STDMETHODCALLTYPE Equals( - IDWriteFontFaceReference *reference) = 0; + virtual WINBOOL STDMETHODCALLTYPE Equals( + IDWriteFontFaceReference * reference) = 0; - virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetFontFaceIndex() = 0; - virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations( - ) = 0; + virtual DWRITE_FONT_SIMULATIONS STDMETHODCALLTYPE GetSimulations() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontFile( - IDWriteFontFile **fontfile) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFontFile( + IDWriteFontFile * *fontfile) = 0; - virtual UINT64 STDMETHODCALLTYPE GetLocalFileSize( - ) = 0; + virtual UINT64 STDMETHODCALLTYPE GetLocalFileSize() = 0; - virtual UINT64 STDMETHODCALLTYPE GetFileSize( - ) = 0; + virtual UINT64 STDMETHODCALLTYPE GetFileSize() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFileTime( - FILETIME *writetime) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFileTime( + FILETIME * writetime) = 0; - virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality( - ) = 0; + virtual DWRITE_LOCALITY STDMETHODCALLTYPE GetLocality() = 0; - virtual HRESULT STDMETHODCALLTYPE EnqueueFontDownloadRequest( - ) = 0; + virtual HRESULT STDMETHODCALLTYPE EnqueueFontDownloadRequest() = 0; - virtual HRESULT STDMETHODCALLTYPE EnqueueCharacterDownloadRequest( - const WCHAR *chars, - UINT32 count) = 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; + 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) +__CRT_UUID_DECL(IDWriteFontFaceReference, 0x5e7fa7ca, 0xdde3, 0x424c, 0x89, 0xf0, 0x9f, 0xcd, 0x6f, 0xed, 0x58, 0xcd) #endif #else typedef struct IDWriteFontFaceReferenceVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFaceReference *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFaceReference* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFaceReference *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFaceReference* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFaceReference *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFaceReference* This); - /*** IDWriteFontFaceReference methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFontFaceReference *This, - IDWriteFontFace3 **fontface); + /*** IDWriteFontFaceReference methods ***/ + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFontFaceReference* This, + IDWriteFontFace3** fontface); - HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( - IDWriteFontFaceReference *This, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3 **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFaceWithSimulations)( + IDWriteFontFaceReference* This, + DWRITE_FONT_SIMULATIONS simulations, + IDWriteFontFace3** fontface); - WINBOOL (STDMETHODCALLTYPE *Equals)( - IDWriteFontFaceReference *This, - IDWriteFontFaceReference *reference); + WINBOOL(STDMETHODCALLTYPE* Equals)( + IDWriteFontFaceReference* This, + IDWriteFontFaceReference* reference); - UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( - IDWriteFontFaceReference *This); + UINT32(STDMETHODCALLTYPE* GetFontFaceIndex)( + IDWriteFontFaceReference* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFaceReference *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFaceReference* This); - HRESULT (STDMETHODCALLTYPE *GetFontFile)( - IDWriteFontFaceReference *This, - IDWriteFontFile **fontfile); + HRESULT(STDMETHODCALLTYPE* GetFontFile)( + IDWriteFontFaceReference* This, + IDWriteFontFile** fontfile); - UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( - IDWriteFontFaceReference *This); + UINT64(STDMETHODCALLTYPE* GetLocalFileSize)( + IDWriteFontFaceReference* This); - UINT64 (STDMETHODCALLTYPE *GetFileSize)( - IDWriteFontFaceReference *This); + UINT64(STDMETHODCALLTYPE* GetFileSize)( + IDWriteFontFaceReference* This); - HRESULT (STDMETHODCALLTYPE *GetFileTime)( - IDWriteFontFaceReference *This, - FILETIME *writetime); + HRESULT(STDMETHODCALLTYPE* GetFileTime)( + IDWriteFontFaceReference* This, + FILETIME* writetime); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( - IDWriteFontFaceReference *This); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( + IDWriteFontFaceReference* This); - HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( - IDWriteFontFaceReference *This); + HRESULT(STDMETHODCALLTYPE* EnqueueFontDownloadRequest)( + IDWriteFontFaceReference* This); - HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( - IDWriteFontFaceReference *This, - const WCHAR *chars, - UINT32 count); + HRESULT(STDMETHODCALLTYPE* EnqueueCharacterDownloadRequest)( + IDWriteFontFaceReference* This, + const WCHAR* chars, + UINT32 count); - HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( - IDWriteFontFaceReference *This, - const UINT16 *glyphs, - UINT32 count); + HRESULT(STDMETHODCALLTYPE* EnqueueGlyphDownloadRequest)( + IDWriteFontFaceReference* This, + const UINT16* glyphs, + UINT32 count); - HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( - IDWriteFontFaceReference *This, - UINT64 offset, - UINT64 size); + HRESULT(STDMETHODCALLTYPE* EnqueueFileFragmentDownloadRequest)( + IDWriteFontFaceReference* This, + UINT64 offset, + UINT64 size); - END_INTERFACE + END_INTERFACE } IDWriteFontFaceReferenceVtbl; interface IDWriteFontFaceReference { - CONST_VTBL IDWriteFontFaceReferenceVtbl* lpVtbl; + 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_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_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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFaceReference_Release(IDWriteFontFaceReference* This) { - return This->lpVtbl->Release(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_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 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 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); + return This->lpVtbl->GetFontFaceIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference_GetSimulations(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } -static inline HRESULT IDWriteFontFaceReference_GetFontFile(IDWriteFontFaceReference* This,IDWriteFontFile **fontfile) { - return This->lpVtbl->GetFontFile(This,fontfile); +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); + return This->lpVtbl->GetLocalFileSize(This); } static inline UINT64 IDWriteFontFaceReference_GetFileSize(IDWriteFontFaceReference* This) { - return This->lpVtbl->GetFileSize(This); + return This->lpVtbl->GetFileSize(This); } -static inline HRESULT IDWriteFontFaceReference_GetFileTime(IDWriteFontFaceReference* This,FILETIME *writetime) { - return This->lpVtbl->GetFileTime(This,writetime); +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); + return This->lpVtbl->GetLocality(This); } static inline HRESULT IDWriteFontFaceReference_EnqueueFontDownloadRequest(IDWriteFontFaceReference* This) { - return This->lpVtbl->EnqueueFontDownloadRequest(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_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_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); +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__ */ +#endif /* __IDWriteFontFaceReference_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFaceReference1 interface @@ -3186,208 +3126,204 @@ static inline HRESULT IDWriteFontFaceReference_EnqueueFileFragmentDownloadReques #ifndef __IDWriteFontFaceReference1_INTERFACE_DEFINED__ #define __IDWriteFontFaceReference1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5,0xa3, 0x34,0x98,0x3c,0x4b,0xa6,0x1a); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontFaceReference1, 0xc081fe77, 0x2fd1, 0x41ac, 0xa5, 0xa3, 0x34, 0x98, 0x3c, 0x4b, 0xa6, 0x1a) #endif #else typedef struct IDWriteFontFaceReference1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFaceReference1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFaceReference1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFaceReference1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFaceReference1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFaceReference1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFaceReference1* This); - /*** IDWriteFontFaceReference methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFontFaceReference1 *This, - IDWriteFontFace3 **fontface); + /*** IDWriteFontFaceReference methods ***/ + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFontFaceReference1* This, + IDWriteFontFace3** fontface); - HRESULT (STDMETHODCALLTYPE *CreateFontFaceWithSimulations)( - IDWriteFontFaceReference1 *This, - DWRITE_FONT_SIMULATIONS simulations, - IDWriteFontFace3 **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFaceWithSimulations)( + IDWriteFontFaceReference1* This, + DWRITE_FONT_SIMULATIONS simulations, + IDWriteFontFace3** fontface); - WINBOOL (STDMETHODCALLTYPE *Equals)( - IDWriteFontFaceReference1 *This, - IDWriteFontFaceReference *reference); + WINBOOL(STDMETHODCALLTYPE* Equals)( + IDWriteFontFaceReference1* This, + IDWriteFontFaceReference* reference); - UINT32 (STDMETHODCALLTYPE *GetFontFaceIndex)( - IDWriteFontFaceReference1 *This); + UINT32(STDMETHODCALLTYPE* GetFontFaceIndex)( + IDWriteFontFaceReference1* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFaceReference1 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFaceReference1* This); - HRESULT (STDMETHODCALLTYPE *GetFontFile)( - IDWriteFontFaceReference1 *This, - IDWriteFontFile **fontfile); + HRESULT(STDMETHODCALLTYPE* GetFontFile)( + IDWriteFontFaceReference1* This, + IDWriteFontFile** fontfile); - UINT64 (STDMETHODCALLTYPE *GetLocalFileSize)( - IDWriteFontFaceReference1 *This); + UINT64(STDMETHODCALLTYPE* GetLocalFileSize)( + IDWriteFontFaceReference1* This); - UINT64 (STDMETHODCALLTYPE *GetFileSize)( - IDWriteFontFaceReference1 *This); + UINT64(STDMETHODCALLTYPE* GetFileSize)( + IDWriteFontFaceReference1* This); - HRESULT (STDMETHODCALLTYPE *GetFileTime)( - IDWriteFontFaceReference1 *This, - FILETIME *writetime); + HRESULT(STDMETHODCALLTYPE* GetFileTime)( + IDWriteFontFaceReference1* This, + FILETIME* writetime); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( - IDWriteFontFaceReference1 *This); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetLocality)( + IDWriteFontFaceReference1* This); - HRESULT (STDMETHODCALLTYPE *EnqueueFontDownloadRequest)( - IDWriteFontFaceReference1 *This); + HRESULT(STDMETHODCALLTYPE* EnqueueFontDownloadRequest)( + IDWriteFontFaceReference1* This); - HRESULT (STDMETHODCALLTYPE *EnqueueCharacterDownloadRequest)( - IDWriteFontFaceReference1 *This, - const WCHAR *chars, - UINT32 count); + HRESULT(STDMETHODCALLTYPE* EnqueueCharacterDownloadRequest)( + IDWriteFontFaceReference1* This, + const WCHAR* chars, + UINT32 count); - HRESULT (STDMETHODCALLTYPE *EnqueueGlyphDownloadRequest)( - IDWriteFontFaceReference1 *This, - const UINT16 *glyphs, - UINT32 count); + HRESULT(STDMETHODCALLTYPE* EnqueueGlyphDownloadRequest)( + IDWriteFontFaceReference1* This, + const UINT16* glyphs, + UINT32 count); - HRESULT (STDMETHODCALLTYPE *EnqueueFileFragmentDownloadRequest)( - IDWriteFontFaceReference1 *This, - UINT64 offset, - UINT64 size); + HRESULT(STDMETHODCALLTYPE* EnqueueFileFragmentDownloadRequest)( + IDWriteFontFaceReference1* This, + UINT64 offset, + UINT64 size); - /*** IDWriteFontFaceReference1 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteFontFaceReference1_CreateFontFace)( - IDWriteFontFaceReference1 *This, - IDWriteFontFace5 **fontface); + /*** IDWriteFontFaceReference1 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteFontFaceReference1_CreateFontFace)( + IDWriteFontFaceReference1* This, + IDWriteFontFace5** fontface); - UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( - IDWriteFontFaceReference1 *This); + UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( + IDWriteFontFaceReference1* This); - HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( - IDWriteFontFaceReference1 *This, - DWRITE_FONT_AXIS_VALUE *values, - UINT32 num_values); + HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( + IDWriteFontFaceReference1* This, + DWRITE_FONT_AXIS_VALUE* values, + UINT32 num_values); - END_INTERFACE + END_INTERFACE } IDWriteFontFaceReference1Vtbl; interface IDWriteFontFaceReference1 { - CONST_VTBL IDWriteFontFaceReference1Vtbl* lpVtbl; + 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_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_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_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_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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFaceReference1_Release(IDWriteFontFaceReference1* This) { - return This->lpVtbl->Release(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 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 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); + return This->lpVtbl->GetFontFaceIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFaceReference1_GetSimulations(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } -static inline HRESULT IDWriteFontFaceReference1_GetFontFile(IDWriteFontFaceReference1* This,IDWriteFontFile **fontfile) { - return This->lpVtbl->GetFontFile(This,fontfile); +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); + return This->lpVtbl->GetLocalFileSize(This); } static inline UINT64 IDWriteFontFaceReference1_GetFileSize(IDWriteFontFaceReference1* This) { - return This->lpVtbl->GetFileSize(This); + return This->lpVtbl->GetFileSize(This); } -static inline HRESULT IDWriteFontFaceReference1_GetFileTime(IDWriteFontFaceReference1* This,FILETIME *writetime) { - return This->lpVtbl->GetFileTime(This,writetime); +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); + return This->lpVtbl->GetLocality(This); } static inline HRESULT IDWriteFontFaceReference1_EnqueueFontDownloadRequest(IDWriteFontFaceReference1* This) { - return This->lpVtbl->EnqueueFontDownloadRequest(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_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_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); +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 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); + 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); +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__ */ +#endif /* __IDWriteFontFaceReference1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontList1 interface @@ -3395,125 +3331,122 @@ static inline HRESULT IDWriteFontFaceReference1_GetFontAxisValues(IDWriteFontFac #ifndef __IDWriteFontList1_INTERFACE_DEFINED__ #define __IDWriteFontList1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98,0x02, 0x62,0xec,0x4a,0xbd,0x7a,0xde); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontList1, 0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xde) #endif #else typedef struct IDWriteFontList1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontList1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontList1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontList1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontList1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontList1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontList1* This); - /*** IDWriteFontList methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteFontList1 *This, - IDWriteFontCollection **collection); + /*** IDWriteFontList methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteFontList1* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontList1 *This); + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontList1* This); - HRESULT (STDMETHODCALLTYPE *GetFont)( - IDWriteFontList1 *This, - UINT32 index, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFont)( + IDWriteFontList1* This, + UINT32 index, + IDWriteFont** font); - /*** IDWriteFontList1 methods ***/ - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( - IDWriteFontList1 *This, - UINT32 index); + /*** IDWriteFontList1 methods ***/ + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontList1* This, + UINT32 index); - HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( - IDWriteFontList1 *This, - UINT32 index, - IDWriteFont3 **font); + HRESULT(STDMETHODCALLTYPE* IDWriteFontList1_GetFont)( + IDWriteFontList1* This, + UINT32 index, + IDWriteFont3** font); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontList1 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontList1* This, + UINT32 index, + IDWriteFontFaceReference** reference); - END_INTERFACE + END_INTERFACE } IDWriteFontList1Vtbl; interface IDWriteFontList1 { - CONST_VTBL IDWriteFontList1Vtbl* lpVtbl; + 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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontList1_Release(IDWriteFontList1* This) { - return This->lpVtbl->Release(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 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); + 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 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_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); +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__ */ +#endif /* __IDWriteFontList1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontList2 interface @@ -3521,128 +3454,125 @@ static inline HRESULT IDWriteFontList1_GetFontFaceReference(IDWriteFontList1* Th #ifndef __IDWriteFontList2_INTERFACE_DEFINED__ #define __IDWriteFontList2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7,0x35, 0x08,0xc3,0x7b,0x0a,0x5b,0xf5); +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; - +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) +__CRT_UUID_DECL(IDWriteFontList2, 0xc0763a34, 0x77af, 0x445a, 0xb7, 0x35, 0x08, 0xc3, 0x7b, 0x0a, 0x5b, 0xf5) #endif #else typedef struct IDWriteFontList2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontList2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontList2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontList2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontList2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontList2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontList2* This); - /*** IDWriteFontList methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteFontList2 *This, - IDWriteFontCollection **collection); + /*** IDWriteFontList methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteFontList2* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontList2 *This); + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontList2* This); - HRESULT (STDMETHODCALLTYPE *GetFont)( - IDWriteFontList2 *This, - UINT32 index, - IDWriteFont **font); + HRESULT(STDMETHODCALLTYPE* GetFont)( + IDWriteFontList2* This, + UINT32 index, + IDWriteFont** font); - /*** IDWriteFontList1 methods ***/ - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( - IDWriteFontList2 *This, - UINT32 index); + /*** IDWriteFontList1 methods ***/ + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontList2* This, + UINT32 index); - HRESULT (STDMETHODCALLTYPE *IDWriteFontList1_GetFont)( - IDWriteFontList2 *This, - UINT32 index, - IDWriteFont3 **font); + HRESULT(STDMETHODCALLTYPE* IDWriteFontList1_GetFont)( + IDWriteFontList2* This, + UINT32 index, + IDWriteFont3** font); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontList2 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontList2* This, + UINT32 index, + IDWriteFontFaceReference** reference); - /*** IDWriteFontList2 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFontSet)( - IDWriteFontList2 *This, - IDWriteFontSet1 **fontset); + /*** IDWriteFontList2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontSet)( + IDWriteFontList2* This, + IDWriteFontSet1** fontset); - END_INTERFACE + END_INTERFACE } IDWriteFontList2Vtbl; interface IDWriteFontList2 { - CONST_VTBL IDWriteFontList2Vtbl* lpVtbl; + 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_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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontList2_Release(IDWriteFontList2* This) { - return This->lpVtbl->Release(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 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); + 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 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_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); +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); +static inline HRESULT IDWriteFontList2_GetFontSet(IDWriteFontList2* This, IDWriteFontSet1** fontset) { + return This->lpVtbl->GetFontSet(This, fontset); } #endif #endif #endif - -#endif /* __IDWriteFontList2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontList2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet2 interface @@ -3650,303 +3580,299 @@ static inline HRESULT IDWriteFontList2_GetFontSet(IDWriteFontList2* This,IDWrite #ifndef __IDWriteFontSet2_INTERFACE_DEFINED__ #define __IDWriteFontSet2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2,0xda, 0x4e,0x2b,0x79,0xba,0x3f,0x7f); +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; - +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) +__CRT_UUID_DECL(IDWriteFontSet2, 0xdc7ead19, 0xe54c, 0x43af, 0xb2, 0xda, 0x4e, 0x2b, 0x79, 0xba, 0x3f, 0x7f) #endif #else typedef struct IDWriteFontSet2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSet2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSet2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSet2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSet2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSet2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSet2* This); - /*** IDWriteFontSet methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontSet2 *This); + /*** IDWriteFontSet methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontSet2* This); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontSet2 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontSet2* This, + UINT32 index, + IDWriteFontFaceReference** reference); - HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( - IDWriteFontSet2 *This, - IDWriteFontFaceReference *reference, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( + IDWriteFontSet2* This, + IDWriteFontFaceReference* reference, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *FindFontFace)( - IDWriteFontSet2 *This, - IDWriteFontFace *fontface, - 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, + IDWriteStringList** values); - HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( - IDWriteFontSet2 *This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR *preferred_locales, - 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* 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* 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 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); + 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); + /*** 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* GetFirstFontResources)( + IDWriteFontSet2* This, + IDWriteFontSet1** fontset); - HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( - IDWriteFontSet2 *This, - const UINT32 *indices, - UINT32 num_indices, - 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_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* 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_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* 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, + 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* 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* IDWriteFontSet1_GetFontFaceReference)( + IDWriteFontSet2* This, + UINT32 index, + IDWriteFontFaceReference1** reference); - HRESULT (STDMETHODCALLTYPE *CreateFontResource)( - IDWriteFontSet2 *This, - UINT32 index, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* CreateFontResource)( + IDWriteFontSet2* This, + UINT32 index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFontSet2 *This, - UINT32 index, - IDWriteFontFace5 **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFontSet2* This, + UINT32 index, + IDWriteFontFace5** fontface); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( - IDWriteFontSet2 *This, - UINT32 index); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontSet2* This, + UINT32 index); - /*** IDWriteFontSet2 methods ***/ - HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( - IDWriteFontSet2 *This); + /*** IDWriteFontSet2 methods ***/ + HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( + IDWriteFontSet2* This); - END_INTERFACE + END_INTERFACE } IDWriteFontSet2Vtbl; interface IDWriteFontSet2 { - CONST_VTBL IDWriteFontSet2Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSet2_Release(IDWriteFontSet2* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static inline UINT32 IDWriteFontSet2_GetFontCount(IDWriteFontSet2* This) { - return This->lpVtbl->GetFontCount(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_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_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, 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, 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_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_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); +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_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_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 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_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_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_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_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, 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_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_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_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 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); +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); + return This->lpVtbl->GetExpirationEvent(This); } #endif #endif #endif - -#endif /* __IDWriteFontSet2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontSet2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet3 interface @@ -3954,340 +3880,337 @@ static inline HANDLE IDWriteFontSet2_GetExpirationEvent(IDWriteFontSet2* This) { #ifndef __IDWriteFontSet3_INTERFACE_DEFINED__ #define __IDWriteFontSet3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c,0x32, 0x8a,0xb8,0xae,0x64,0x0f,0x90); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFontSet3, 0x7c073ef2, 0xa7f4, 0x4045, 0x8c, 0x32, 0x8a, 0xb8, 0xae, 0x64, 0x0f, 0x90) #endif #else typedef struct IDWriteFontSet3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSet3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSet3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSet3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSet3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSet3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSet3* This); - /*** IDWriteFontSet methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontSet3 *This); + /*** IDWriteFontSet methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontSet3* This); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontSet3 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontSet3* This, + UINT32 index, + IDWriteFontFaceReference** reference); - HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( - IDWriteFontSet3 *This, - IDWriteFontFaceReference *reference, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( + IDWriteFontSet3* This, + IDWriteFontFaceReference* reference, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *FindFontFace)( - IDWriteFontSet3 *This, - IDWriteFontFace *fontface, - 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, + IDWriteStringList** values); - HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( - IDWriteFontSet3 *This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR *preferred_locales, - 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* 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* 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 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); + 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); + /*** 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* GetFirstFontResources)( + IDWriteFontSet3* This, + IDWriteFontSet1** fontset); - HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( - IDWriteFontSet3 *This, - const UINT32 *indices, - UINT32 num_indices, - 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_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* 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_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* 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, + 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* 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* IDWriteFontSet1_GetFontFaceReference)( + IDWriteFontSet3* This, + UINT32 index, + IDWriteFontFaceReference1** reference); - HRESULT (STDMETHODCALLTYPE *CreateFontResource)( - IDWriteFontSet3 *This, - UINT32 index, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* CreateFontResource)( + IDWriteFontSet3* This, + UINT32 index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFontSet3 *This, - UINT32 index, - IDWriteFontFace5 **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFontSet3* This, + UINT32 index, + IDWriteFontFace5** fontface); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( - IDWriteFontSet3 *This, - UINT32 index); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontSet3* This, + UINT32 index); - /*** IDWriteFontSet2 methods ***/ - HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( - IDWriteFontSet3 *This); + /*** IDWriteFontSet2 methods ***/ + HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( + IDWriteFontSet3* This); - /*** IDWriteFontSet3 methods ***/ - DWRITE_FONT_SOURCE_TYPE (STDMETHODCALLTYPE *GetFontSourceType)( - IDWriteFontSet3 *This, - UINT32 index); + /*** IDWriteFontSet3 methods ***/ + DWRITE_FONT_SOURCE_TYPE(STDMETHODCALLTYPE* GetFontSourceType)( + IDWriteFontSet3* This, + UINT32 index); - UINT32 (STDMETHODCALLTYPE *GetFontSourceNameLength)( - IDWriteFontSet3 *This, - UINT32 index); + UINT32(STDMETHODCALLTYPE* GetFontSourceNameLength)( + IDWriteFontSet3* This, + UINT32 index); - HRESULT (STDMETHODCALLTYPE *GetFontSourceName)( - IDWriteFontSet3 *This, - UINT32 index, - WCHAR *buffer, - UINT32 buffer_size); + HRESULT(STDMETHODCALLTYPE* GetFontSourceName)( + IDWriteFontSet3* This, + UINT32 index, + WCHAR* buffer, + UINT32 buffer_size); - END_INTERFACE + END_INTERFACE } IDWriteFontSet3Vtbl; interface IDWriteFontSet3 { - CONST_VTBL IDWriteFontSet3Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSet3_Release(IDWriteFontSet3* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static inline UINT32 IDWriteFontSet3_GetFontCount(IDWriteFontSet3* This) { - return This->lpVtbl->GetFontCount(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_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_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, 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, 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_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_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); +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_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_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 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_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_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_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_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, 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_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_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_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 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); +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); + 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 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 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); +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__ */ +#endif /* __IDWriteFontSet3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSet4 interface @@ -4295,370 +4218,367 @@ static inline HRESULT IDWriteFontSet3_GetFontSourceName(IDWriteFontSet3* This,UI #ifndef __IDWriteFontSet4_INTERFACE_DEFINED__ #define __IDWriteFontSet4_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSet4, 0xeec175fc, 0xbea9, 0x4c86, 0x8b,0x53, 0xcc,0xbd,0xd7,0xdf,0x0c,0x82); +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; +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) +__CRT_UUID_DECL(IDWriteFontSet4, 0xeec175fc, 0xbea9, 0x4c86, 0x8b, 0x53, 0xcc, 0xbd, 0xd7, 0xdf, 0x0c, 0x82) #endif #else typedef struct IDWriteFontSet4Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSet4 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSet4* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSet4 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSet4* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSet4 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSet4* This); - /*** IDWriteFontSet methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontCount)( - IDWriteFontSet4 *This); + /*** IDWriteFontSet methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontCount)( + IDWriteFontSet4* This); - HRESULT (STDMETHODCALLTYPE *GetFontFaceReference)( - IDWriteFontSet4 *This, - UINT32 index, - IDWriteFontFaceReference **reference); + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontSet4* This, + UINT32 index, + IDWriteFontFaceReference** reference); - HRESULT (STDMETHODCALLTYPE *FindFontFaceReference)( - IDWriteFontSet4 *This, - IDWriteFontFaceReference *reference, - UINT32 *index, - WINBOOL *exists); + HRESULT(STDMETHODCALLTYPE* FindFontFaceReference)( + IDWriteFontSet4* This, + IDWriteFontFaceReference* reference, + UINT32* index, + WINBOOL* exists); - HRESULT (STDMETHODCALLTYPE *FindFontFace)( - IDWriteFontSet4 *This, - IDWriteFontFace *fontface, - 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, + IDWriteStringList** values); - HRESULT (STDMETHODCALLTYPE *GetPropertyValues_)( - IDWriteFontSet4 *This, - DWRITE_FONT_PROPERTY_ID id, - const WCHAR *preferred_locales, - 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* 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* 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 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); + 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); + /*** 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* GetFirstFontResources)( + IDWriteFontSet4* This, + IDWriteFontSet1** fontset); - HRESULT (STDMETHODCALLTYPE *GetFilteredFonts__)( - IDWriteFontSet4 *This, - const UINT32 *indices, - UINT32 num_indices, - 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_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* 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_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* 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, + 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* 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* IDWriteFontSet1_GetFontFaceReference)( + IDWriteFontSet4* This, + UINT32 index, + IDWriteFontFaceReference1** reference); - HRESULT (STDMETHODCALLTYPE *CreateFontResource)( - IDWriteFontSet4 *This, - UINT32 index, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* CreateFontResource)( + IDWriteFontSet4* This, + UINT32 index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *CreateFontFace)( - IDWriteFontSet4 *This, - UINT32 index, - IDWriteFontFace5 **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFace)( + IDWriteFontSet4* This, + UINT32 index, + IDWriteFontFace5** fontface); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetFontLocality)( - IDWriteFontSet4 *This, - UINT32 index); + DWRITE_LOCALITY(STDMETHODCALLTYPE* GetFontLocality)( + IDWriteFontSet4* This, + UINT32 index); - /*** IDWriteFontSet2 methods ***/ - HANDLE (STDMETHODCALLTYPE *GetExpirationEvent)( - IDWriteFontSet4 *This); + /*** IDWriteFontSet2 methods ***/ + HANDLE(STDMETHODCALLTYPE* GetExpirationEvent)( + IDWriteFontSet4* This); - /*** IDWriteFontSet3 methods ***/ - DWRITE_FONT_SOURCE_TYPE (STDMETHODCALLTYPE *GetFontSourceType)( - IDWriteFontSet4 *This, - UINT32 index); + /*** IDWriteFontSet3 methods ***/ + DWRITE_FONT_SOURCE_TYPE(STDMETHODCALLTYPE* GetFontSourceType)( + IDWriteFontSet4* This, + UINT32 index); - UINT32 (STDMETHODCALLTYPE *GetFontSourceNameLength)( - IDWriteFontSet4 *This, - UINT32 index); + UINT32(STDMETHODCALLTYPE* GetFontSourceNameLength)( + IDWriteFontSet4* This, + UINT32 index); - HRESULT (STDMETHODCALLTYPE *GetFontSourceName)( - IDWriteFontSet4 *This, - UINT32 index, - WCHAR *buffer, - UINT32 buffer_size); + 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); + /*** 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); + 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 + END_INTERFACE } IDWriteFontSet4Vtbl; interface IDWriteFontSet4 { - CONST_VTBL IDWriteFontSet4Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSet4_Release(IDWriteFontSet4* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontSet methods ***/ static inline UINT32 IDWriteFontSet4_GetFontCount(IDWriteFontSet4* This) { - return This->lpVtbl->GetFontCount(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_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_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, 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, 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_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_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); +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_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 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_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_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_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_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, 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_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_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_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 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); +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); + 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 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 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); +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 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); +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__ */ +#endif /* __IDWriteFontSet4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace3 interface @@ -4666,575 +4586,569 @@ static inline HRESULT IDWriteFontSet4_GetMatchingFonts(IDWriteFontSet4* This,con #ifndef __IDWriteFontFace3_INTERFACE_DEFINED__ #define __IDWriteFontFace3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2,0x36, 0x20,0x81,0x34,0x1c,0xc1,0xf2); +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; +IDWriteFontFace3 : public IDWriteFontFace2 { + virtual HRESULT STDMETHODCALLTYPE GetFontFaceReference( + IDWriteFontFaceReference * *reference) = 0; - virtual void STDMETHODCALLTYPE GetPanose( - DWRITE_PANOSE *panose) = 0; + virtual void STDMETHODCALLTYPE GetPanose( + DWRITE_PANOSE * panose) = 0; - virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight( - ) = 0; + virtual DWRITE_FONT_WEIGHT STDMETHODCALLTYPE GetWeight() = 0; - virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch( - ) = 0; + virtual DWRITE_FONT_STRETCH STDMETHODCALLTYPE GetStretch() = 0; - virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle( - ) = 0; + virtual DWRITE_FONT_STYLE STDMETHODCALLTYPE GetStyle() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( - IDWriteLocalizedStrings **names) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFamilyNames( + IDWriteLocalizedStrings * *names) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFaceNames( - 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 HRESULT STDMETHODCALLTYPE GetInformationalStrings( + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings * *strings, + WINBOOL * exists) = 0; - virtual WINBOOL STDMETHODCALLTYPE HasCharacter( - UINT32 character) = 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 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 IsCharacterLocal( + UINT32 character) = 0; - virtual WINBOOL STDMETHODCALLTYPE IsGlyphLocal( - UINT16 glyph) = 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; + 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) +__CRT_UUID_DECL(IDWriteFontFace3, 0xd37d7598, 0x09be, 0x4222, 0xa2, 0x36, 0x20, 0x81, 0x34, 0x1c, 0xc1, 0xf2) #endif #else typedef struct IDWriteFontFace3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace3* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace3 *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace3* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace3 *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace3* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace3 *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace3* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace3 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace3* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace3 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace3* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace3 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace3* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace3 *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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); + /*** 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); + 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); + void(STDMETHODCALLTYPE* GetCaretMetrics)( + IDWriteFontFace3* This, + DWRITE_CARET_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFontFace3 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFontFace3* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFontFace3 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFontFace3* This); - HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( - IDWriteFontFace3 *This, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances, - WINBOOL is_sideways); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( + IDWriteFontFace3* This, + UINT32 glyph_count, + const UINT16* indices, + INT32* adjustments); - WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( - IDWriteFontFace3 *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( + IDWriteFontFace3* This, + UINT32 glyph_count, + const UINT16* nominal_indices, + UINT16* vertical_indices); - WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( - IDWriteFontFace3 *This); + WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( + IDWriteFontFace3* This); - /*** IDWriteFontFace2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFontFace3 *This); + /*** IDWriteFontFace2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFontFace3* This); - UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( - IDWriteFontFace3 *This); + UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( + IDWriteFontFace3* This); - UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( - 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* 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); + 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); + /*** IDWriteFontFace3 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontFace3* This, + IDWriteFontFaceReference** reference); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFontFace3 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFontFace3* This, + DWRITE_PANOSE* panose); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFontFace3 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFontFace3* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFontFace3 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFontFace3* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFontFace3 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFontFace3* This); - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFace3 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( + IDWriteFontFace3* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - 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); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFontFace3* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - WINBOOL (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFontFace3 *This, - UINT32 character); + 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); + 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* IsCharacterLocal)( + IDWriteFontFace3* This, + UINT32 character); - WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( - IDWriteFontFace3 *This, - UINT16 glyph); + 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* 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); + HRESULT(STDMETHODCALLTYPE* AreGlyphsLocal)( + IDWriteFontFace3* This, + const UINT16* glyphs, + UINT32 count, + WINBOOL enqueue_if_not, + WINBOOL* are_local); - END_INTERFACE + END_INTERFACE } IDWriteFontFace3Vtbl; interface IDWriteFontFace3 { - CONST_VTBL IDWriteFontFace3Vtbl* lpVtbl; + 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_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_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) +#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_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_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_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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace3_Release(IDWriteFontFace3* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace3_GetType(IDWriteFontFace3* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace3_GetSimulations(IDWriteFontFace3* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace3_IsSymbolFont(IDWriteFontFace3* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } static inline UINT16 IDWriteFontFace3_GetGlyphCount(IDWriteFontFace3* This) { - return This->lpVtbl->GetGlyphCount(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_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_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 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 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_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); +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 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 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 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 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); + 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_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_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 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); + 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 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); + return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static inline WINBOOL IDWriteFontFace3_IsColorFont(IDWriteFontFace3* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } static inline UINT32 IDWriteFontFace3_GetColorPaletteCount(IDWriteFontFace3* This) { - return This->lpVtbl->GetColorPaletteCount(This); + return This->lpVtbl->GetColorPaletteCount(This); } static inline UINT32 IDWriteFontFace3_GetPaletteEntryCount(IDWriteFontFace3* This) { - return This->lpVtbl->GetPaletteEntryCount(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); +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 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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFontFace3_GetStretch(IDWriteFontFace3* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFontFace3_GetStyle(IDWriteFontFace3* This) { - return This->lpVtbl->GetStyle(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_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_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 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 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 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_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 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_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); +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__ */ +#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; + 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_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_METHOD method; + FLOAT height; + FLOAT baseline; + FLOAT leadingBefore; + DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; } DWRITE_LINE_SPACING; /***************************************************************************** * IDWriteTextFormat2 interface @@ -5242,342 +5156,339 @@ typedef struct DWRITE_LINE_SPACING { #ifndef __IDWriteTextFormat2_INTERFACE_DEFINED__ #define __IDWriteTextFormat2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c,0x32, 0x41,0x83,0x25,0x3d,0xfe,0x70); +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; +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) +__CRT_UUID_DECL(IDWriteTextFormat2, 0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c, 0x32, 0x41, 0x83, 0x25, 0x3d, 0xfe, 0x70) #endif #else typedef struct IDWriteTextFormat2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextFormat2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextFormat2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextFormat2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextFormat2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextFormat2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextFormat2* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextFormat2 *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextFormat2* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextFormat2 *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextFormat2* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextFormat2 *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextFormat2* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextFormat2 *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextFormat2* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextFormat2 *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextFormat2* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextFormat2 *This, - FLOAT tabstop); + HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( + IDWriteTextFormat2* This, + FLOAT tabstop); - HRESULT (STDMETHODCALLTYPE *SetTrimming)( - IDWriteTextFormat2 *This, - const DWRITE_TRIMMING *trimming, - IDWriteInlineObject *trimming_sign); + 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); + HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( + IDWriteTextFormat2* This, + DWRITE_LINE_SPACING_METHOD spacing, + FLOAT line_spacing, + FLOAT baseline); - DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( - IDWriteTextFormat2 *This); + DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( + IDWriteTextFormat2* This); - DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( - IDWriteTextFormat2 *This); + DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( + IDWriteTextFormat2* This); - DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( - IDWriteTextFormat2 *This); + DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( + IDWriteTextFormat2* This); - DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( - IDWriteTextFormat2 *This); + DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( + IDWriteTextFormat2* This); - DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( - IDWriteTextFormat2 *This); + DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( + IDWriteTextFormat2* This); - FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( - IDWriteTextFormat2 *This); + FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( + IDWriteTextFormat2* This); - HRESULT (STDMETHODCALLTYPE *GetTrimming)( - IDWriteTextFormat2 *This, - DWRITE_TRIMMING *options, - IDWriteInlineObject **trimming_sign); + 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* GetLineSpacing)( + IDWriteTextFormat2* This, + DWRITE_LINE_SPACING_METHOD* method, + FLOAT* spacing, + FLOAT* baseline); - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteTextFormat2 *This, - IDWriteFontCollection **collection); + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteTextFormat2* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( - IDWriteTextFormat2 *This); + UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( + IDWriteTextFormat2* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( - IDWriteTextFormat2 *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( + IDWriteTextFormat2* This, + WCHAR* name, + UINT32 size); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( - IDWriteTextFormat2 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( + IDWriteTextFormat2* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( - IDWriteTextFormat2 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( + IDWriteTextFormat2* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( - IDWriteTextFormat2 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( + IDWriteTextFormat2* This); - FLOAT (STDMETHODCALLTYPE *GetFontSize)( - IDWriteTextFormat2 *This); + FLOAT(STDMETHODCALLTYPE* GetFontSize)( + IDWriteTextFormat2* This); - UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( - IDWriteTextFormat2 *This); + UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( + IDWriteTextFormat2* This); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteTextFormat2 *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetLocaleName)( + IDWriteTextFormat2* This, + WCHAR* name, + UINT32 size); - /*** IDWriteTextFormat1 methods ***/ - HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( - IDWriteTextFormat2 *This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); + /*** IDWriteTextFormat1 methods ***/ + HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( + IDWriteTextFormat2* This, + DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( - IDWriteTextFormat2 *This); + DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( + IDWriteTextFormat2* This); - HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( - IDWriteTextFormat2 *This, - WINBOOL lastline_wrapping_enabled); + HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( + IDWriteTextFormat2* This, + WINBOOL lastline_wrapping_enabled); - WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( - IDWriteTextFormat2 *This); + WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( + IDWriteTextFormat2* This); - HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( - IDWriteTextFormat2 *This, - DWRITE_OPTICAL_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( + IDWriteTextFormat2* This, + DWRITE_OPTICAL_ALIGNMENT alignment); - DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( - IDWriteTextFormat2 *This); + DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( + IDWriteTextFormat2* This); - HRESULT (STDMETHODCALLTYPE *SetFontFallback)( - IDWriteTextFormat2 *This, - IDWriteFontFallback *fallback); + HRESULT(STDMETHODCALLTYPE* SetFontFallback)( + IDWriteTextFormat2* This, + IDWriteFontFallback* fallback); - HRESULT (STDMETHODCALLTYPE *GetFontFallback)( - IDWriteTextFormat2 *This, - IDWriteFontFallback **fallback); + HRESULT(STDMETHODCALLTYPE* GetFontFallback)( + IDWriteTextFormat2* This, + IDWriteFontFallback** fallback); - /*** IDWriteTextFormat2 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( - IDWriteTextFormat2 *This, - const DWRITE_LINE_SPACING *spacing); + /*** IDWriteTextFormat2 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_SetLineSpacing)( + IDWriteTextFormat2* This, + const DWRITE_LINE_SPACING* spacing); - HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( - IDWriteTextFormat2 *This, - DWRITE_LINE_SPACING *spacing); + HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_GetLineSpacing)( + IDWriteTextFormat2* This, + DWRITE_LINE_SPACING* spacing); - END_INTERFACE + END_INTERFACE } IDWriteTextFormat2Vtbl; interface IDWriteTextFormat2 { - CONST_VTBL IDWriteTextFormat2Vtbl* lpVtbl; + 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_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_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_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_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) +#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_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_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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextFormat2_Release(IDWriteTextFormat2* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat2_GetParagraphAlignment(IDWriteTextFormat2* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextFormat2_GetWordWrapping(IDWriteTextFormat2* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextFormat2_GetReadingDirection(IDWriteTextFormat2* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat2_GetFlowDirection(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextFormat2_GetIncrementalTabStop(IDWriteTextFormat2* This) { - return This->lpVtbl->GetIncrementalTabStop(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_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 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); + 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 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); + return This->lpVtbl->GetFontWeight(This); } static inline DWRITE_FONT_STYLE IDWriteTextFormat2_GetFontStyle(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontStyle(This); + return This->lpVtbl->GetFontStyle(This); } static inline DWRITE_FONT_STRETCH IDWriteTextFormat2_GetFontStretch(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontStretch(This); + return This->lpVtbl->GetFontStretch(This); } static inline FLOAT IDWriteTextFormat2_GetFontSize(IDWriteTextFormat2* This) { - return This->lpVtbl->GetFontSize(This); + return This->lpVtbl->GetFontSize(This); } static inline UINT32 IDWriteTextFormat2_GetLocaleNameLength(IDWriteTextFormat2* This) { - return This->lpVtbl->GetLocaleNameLength(This); + return This->lpVtbl->GetLocaleNameLength(This); } -static inline HRESULT IDWriteTextFormat2_GetLocaleName(IDWriteTextFormat2* This,WCHAR *name,UINT32 size) { - return This->lpVtbl->GetLocaleName(This,name,size); +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 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); + 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 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); + return This->lpVtbl->GetLastLineWrapping(This); } -static inline HRESULT IDWriteTextFormat2_SetOpticalAlignment(IDWriteTextFormat2* This,DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This,alignment); +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); + return This->lpVtbl->GetOpticalAlignment(This); } -static inline HRESULT IDWriteTextFormat2_SetFontFallback(IDWriteTextFormat2* This,IDWriteFontFallback *fallback) { - return This->lpVtbl->SetFontFallback(This,fallback); +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); +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_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); +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__ */ +#endif /* __IDWriteTextFormat2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextFormat3 interface @@ -5585,396 +5496,391 @@ static inline HRESULT IDWriteTextFormat2_GetLineSpacing(IDWriteTextFormat2* This #ifndef __IDWriteTextFormat3_INTERFACE_DEFINED__ #define __IDWriteTextFormat3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8,0x5b, 0xb7,0xbf,0x48,0xa9,0x34,0x27); +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; +IDWriteTextFormat3 : public IDWriteTextFormat2 { + virtual HRESULT STDMETHODCALLTYPE SetFontAxisValues( + const DWRITE_FONT_AXIS_VALUE* axis_values, + UINT32 num_values) = 0; - virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount( - ) = 0; + virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE *axis_values, - UINT32 num_values) = 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; + 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) +__CRT_UUID_DECL(IDWriteTextFormat3, 0x6d3b5641, 0xe550, 0x430d, 0xa8, 0x5b, 0xb7, 0xbf, 0x48, 0xa9, 0x34, 0x27) #endif #else typedef struct IDWriteTextFormat3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextFormat3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextFormat3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextFormat3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextFormat3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextFormat3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextFormat3* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextFormat3 *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextFormat3* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextFormat3 *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextFormat3* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextFormat3 *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextFormat3* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextFormat3 *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextFormat3* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextFormat3 *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextFormat3* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextFormat3 *This, - FLOAT tabstop); + HRESULT(STDMETHODCALLTYPE* SetIncrementalTabStop)( + IDWriteTextFormat3* This, + FLOAT tabstop); - HRESULT (STDMETHODCALLTYPE *SetTrimming)( - IDWriteTextFormat3 *This, - const DWRITE_TRIMMING *trimming, - IDWriteInlineObject *trimming_sign); + 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); + HRESULT(STDMETHODCALLTYPE* SetLineSpacing)( + IDWriteTextFormat3* This, + DWRITE_LINE_SPACING_METHOD spacing, + FLOAT line_spacing, + FLOAT baseline); - DWRITE_TEXT_ALIGNMENT (STDMETHODCALLTYPE *GetTextAlignment)( - IDWriteTextFormat3 *This); + DWRITE_TEXT_ALIGNMENT(STDMETHODCALLTYPE* GetTextAlignment)( + IDWriteTextFormat3* This); - DWRITE_PARAGRAPH_ALIGNMENT (STDMETHODCALLTYPE *GetParagraphAlignment)( - IDWriteTextFormat3 *This); + DWRITE_PARAGRAPH_ALIGNMENT(STDMETHODCALLTYPE* GetParagraphAlignment)( + IDWriteTextFormat3* This); - DWRITE_WORD_WRAPPING (STDMETHODCALLTYPE *GetWordWrapping)( - IDWriteTextFormat3 *This); + DWRITE_WORD_WRAPPING(STDMETHODCALLTYPE* GetWordWrapping)( + IDWriteTextFormat3* This); - DWRITE_READING_DIRECTION (STDMETHODCALLTYPE *GetReadingDirection)( - IDWriteTextFormat3 *This); + DWRITE_READING_DIRECTION(STDMETHODCALLTYPE* GetReadingDirection)( + IDWriteTextFormat3* This); - DWRITE_FLOW_DIRECTION (STDMETHODCALLTYPE *GetFlowDirection)( - IDWriteTextFormat3 *This); + DWRITE_FLOW_DIRECTION(STDMETHODCALLTYPE* GetFlowDirection)( + IDWriteTextFormat3* This); - FLOAT (STDMETHODCALLTYPE *GetIncrementalTabStop)( - IDWriteTextFormat3 *This); + FLOAT(STDMETHODCALLTYPE* GetIncrementalTabStop)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *GetTrimming)( - IDWriteTextFormat3 *This, - DWRITE_TRIMMING *options, - IDWriteInlineObject **trimming_sign); + 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* GetLineSpacing)( + IDWriteTextFormat3* This, + DWRITE_LINE_SPACING_METHOD* method, + FLOAT* spacing, + FLOAT* baseline); - HRESULT (STDMETHODCALLTYPE *GetFontCollection)( - IDWriteTextFormat3 *This, - IDWriteFontCollection **collection); + HRESULT(STDMETHODCALLTYPE* GetFontCollection)( + IDWriteTextFormat3* This, + IDWriteFontCollection** collection); - UINT32 (STDMETHODCALLTYPE *GetFontFamilyNameLength)( - IDWriteTextFormat3 *This); + UINT32(STDMETHODCALLTYPE* GetFontFamilyNameLength)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *GetFontFamilyName)( - IDWriteTextFormat3 *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetFontFamilyName)( + IDWriteTextFormat3* This, + WCHAR* name, + UINT32 size); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetFontWeight)( - IDWriteTextFormat3 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetFontWeight)( + IDWriteTextFormat3* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetFontStyle)( - IDWriteTextFormat3 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetFontStyle)( + IDWriteTextFormat3* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetFontStretch)( - IDWriteTextFormat3 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetFontStretch)( + IDWriteTextFormat3* This); - FLOAT (STDMETHODCALLTYPE *GetFontSize)( - IDWriteTextFormat3 *This); + FLOAT(STDMETHODCALLTYPE* GetFontSize)( + IDWriteTextFormat3* This); - UINT32 (STDMETHODCALLTYPE *GetLocaleNameLength)( - IDWriteTextFormat3 *This); + UINT32(STDMETHODCALLTYPE* GetLocaleNameLength)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *GetLocaleName)( - IDWriteTextFormat3 *This, - WCHAR *name, - UINT32 size); + HRESULT(STDMETHODCALLTYPE* GetLocaleName)( + IDWriteTextFormat3* This, + WCHAR* name, + UINT32 size); - /*** IDWriteTextFormat1 methods ***/ - HRESULT (STDMETHODCALLTYPE *SetVerticalGlyphOrientation)( - IDWriteTextFormat3 *This, - DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); + /*** IDWriteTextFormat1 methods ***/ + HRESULT(STDMETHODCALLTYPE* SetVerticalGlyphOrientation)( + IDWriteTextFormat3* This, + DWRITE_VERTICAL_GLYPH_ORIENTATION orientation); - DWRITE_VERTICAL_GLYPH_ORIENTATION (STDMETHODCALLTYPE *GetVerticalGlyphOrientation)( - IDWriteTextFormat3 *This); + DWRITE_VERTICAL_GLYPH_ORIENTATION(STDMETHODCALLTYPE* GetVerticalGlyphOrientation)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *SetLastLineWrapping)( - IDWriteTextFormat3 *This, - WINBOOL lastline_wrapping_enabled); + HRESULT(STDMETHODCALLTYPE* SetLastLineWrapping)( + IDWriteTextFormat3* This, + WINBOOL lastline_wrapping_enabled); - WINBOOL (STDMETHODCALLTYPE *GetLastLineWrapping)( - IDWriteTextFormat3 *This); + WINBOOL(STDMETHODCALLTYPE* GetLastLineWrapping)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *SetOpticalAlignment)( - IDWriteTextFormat3 *This, - DWRITE_OPTICAL_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetOpticalAlignment)( + IDWriteTextFormat3* This, + DWRITE_OPTICAL_ALIGNMENT alignment); - DWRITE_OPTICAL_ALIGNMENT (STDMETHODCALLTYPE *GetOpticalAlignment)( - IDWriteTextFormat3 *This); + DWRITE_OPTICAL_ALIGNMENT(STDMETHODCALLTYPE* GetOpticalAlignment)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *SetFontFallback)( - IDWriteTextFormat3 *This, - IDWriteFontFallback *fallback); + HRESULT(STDMETHODCALLTYPE* SetFontFallback)( + IDWriteTextFormat3* This, + IDWriteFontFallback* fallback); - HRESULT (STDMETHODCALLTYPE *GetFontFallback)( - IDWriteTextFormat3 *This, - IDWriteFontFallback **fallback); + HRESULT(STDMETHODCALLTYPE* GetFontFallback)( + IDWriteTextFormat3* This, + IDWriteFontFallback** fallback); - /*** IDWriteTextFormat2 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_SetLineSpacing)( - IDWriteTextFormat3 *This, - const DWRITE_LINE_SPACING *spacing); + /*** IDWriteTextFormat2 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteTextFormat2_SetLineSpacing)( + IDWriteTextFormat3* This, + const DWRITE_LINE_SPACING* spacing); - HRESULT (STDMETHODCALLTYPE *IDWriteTextFormat2_GetLineSpacing)( - IDWriteTextFormat3 *This, - 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); + /*** IDWriteTextFormat3 methods ***/ + HRESULT(STDMETHODCALLTYPE* SetFontAxisValues)( + IDWriteTextFormat3* This, + const DWRITE_FONT_AXIS_VALUE* axis_values, + UINT32 num_values); - UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( - IDWriteTextFormat3 *This); + UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( - IDWriteTextFormat3 *This, - DWRITE_FONT_AXIS_VALUE *axis_values, - UINT32 num_values); + HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( + IDWriteTextFormat3* This, + DWRITE_FONT_AXIS_VALUE* axis_values, + UINT32 num_values); - DWRITE_AUTOMATIC_FONT_AXES (STDMETHODCALLTYPE *GetAutomaticFontAxes)( - IDWriteTextFormat3 *This); + DWRITE_AUTOMATIC_FONT_AXES(STDMETHODCALLTYPE* GetAutomaticFontAxes)( + IDWriteTextFormat3* This); - HRESULT (STDMETHODCALLTYPE *SetAutomaticFontAxes)( - IDWriteTextFormat3 *This, - DWRITE_AUTOMATIC_FONT_AXES axes); + HRESULT(STDMETHODCALLTYPE* SetAutomaticFontAxes)( + IDWriteTextFormat3* This, + DWRITE_AUTOMATIC_FONT_AXES axes); - END_INTERFACE + END_INTERFACE } IDWriteTextFormat3Vtbl; interface IDWriteTextFormat3 { - CONST_VTBL IDWriteTextFormat3Vtbl* lpVtbl; + 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_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_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_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_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) +#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_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_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_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) +#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) +#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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextFormat3_Release(IDWriteTextFormat3* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextFormat3_GetParagraphAlignment(IDWriteTextFormat3* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextFormat3_GetWordWrapping(IDWriteTextFormat3* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextFormat3_GetReadingDirection(IDWriteTextFormat3* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextFormat3_GetFlowDirection(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextFormat3_GetIncrementalTabStop(IDWriteTextFormat3* This) { - return This->lpVtbl->GetIncrementalTabStop(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_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 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); + 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 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); + return This->lpVtbl->GetFontWeight(This); } static inline DWRITE_FONT_STYLE IDWriteTextFormat3_GetFontStyle(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontStyle(This); + return This->lpVtbl->GetFontStyle(This); } static inline DWRITE_FONT_STRETCH IDWriteTextFormat3_GetFontStretch(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontStretch(This); + return This->lpVtbl->GetFontStretch(This); } static inline FLOAT IDWriteTextFormat3_GetFontSize(IDWriteTextFormat3* This) { - return This->lpVtbl->GetFontSize(This); + return This->lpVtbl->GetFontSize(This); } static inline UINT32 IDWriteTextFormat3_GetLocaleNameLength(IDWriteTextFormat3* This) { - return This->lpVtbl->GetLocaleNameLength(This); + return This->lpVtbl->GetLocaleNameLength(This); } -static inline HRESULT IDWriteTextFormat3_GetLocaleName(IDWriteTextFormat3* This,WCHAR *name,UINT32 size) { - return This->lpVtbl->GetLocaleName(This,name,size); +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 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); + 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 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); + return This->lpVtbl->GetLastLineWrapping(This); } -static inline HRESULT IDWriteTextFormat3_SetOpticalAlignment(IDWriteTextFormat3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This,alignment); +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); + return This->lpVtbl->GetOpticalAlignment(This); } -static inline HRESULT IDWriteTextFormat3_SetFontFallback(IDWriteTextFormat3* This,IDWriteFontFallback *fallback) { - return This->lpVtbl->SetFontFallback(This,fallback); +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); +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_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); +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 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); + 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 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); + return This->lpVtbl->GetAutomaticFontAxes(This); } -static inline HRESULT IDWriteTextFormat3_SetAutomaticFontAxes(IDWriteTextFormat3* This,DWRITE_AUTOMATIC_FONT_AXES axes) { - return This->lpVtbl->SetAutomaticFontAxes(This,axes); +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__ */ +#endif /* __IDWriteTextFormat3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextLayout3 interface @@ -5982,752 +5888,748 @@ static inline HRESULT IDWriteTextFormat3_SetAutomaticFontAxes(IDWriteTextFormat3 #ifndef __IDWriteTextLayout3_INTERFACE_DEFINED__ #define __IDWriteTextLayout3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac,0x33, 0x6c,0x95,0x3d,0x83,0xf9,0x2d); +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; +IDWriteTextLayout3 : public IDWriteTextLayout2 { + virtual HRESULT STDMETHODCALLTYPE InvalidateLayout() = 0; - virtual HRESULT STDMETHODCALLTYPE SetLineSpacing( - const DWRITE_LINE_SPACING *spacing) = 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; + 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) +__CRT_UUID_DECL(IDWriteTextLayout3, 0x07ddcd52, 0x020e, 0x4de8, 0xac, 0x33, 0x6c, 0x95, 0x3d, 0x83, 0xf9, 0x2d) #endif #else typedef struct IDWriteTextLayout3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextLayout3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextLayout3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextLayout3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextLayout3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextLayout3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextLayout3* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextLayout3 *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextLayout3* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextLayout3 *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextLayout3* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextLayout3 *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextLayout3* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextLayout3 *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextLayout3* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextLayout3 *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextLayout3* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextLayout3 *This, - FLOAT tabstop); + 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); + 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 + 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; + 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_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_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) +#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_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) +#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) +#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_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_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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextLayout3_Release(IDWriteTextLayout3* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout3_GetParagraphAlignment(IDWriteTextLayout3* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextLayout3_GetWordWrapping(IDWriteTextLayout3* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextLayout3_GetReadingDirection(IDWriteTextLayout3* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout3_GetFlowDirection(IDWriteTextLayout3* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextLayout3_GetIncrementalTabStop(IDWriteTextLayout3* This) { - return This->lpVtbl->GetIncrementalTabStop(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); +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_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_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_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_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_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_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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetMaxWidth(This); } static inline FLOAT IDWriteTextLayout3_GetMaxHeight(IDWriteTextLayout3* This) { - return This->lpVtbl->GetMaxHeight(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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_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_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_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); +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_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 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); + 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 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); + return This->lpVtbl->GetLastLineWrapping(This); } -static inline HRESULT IDWriteTextLayout3_SetOpticalAlignment(IDWriteTextLayout3* This,DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This,alignment); +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); + return This->lpVtbl->GetOpticalAlignment(This); } -static inline HRESULT IDWriteTextLayout3_SetFontFallback(IDWriteTextLayout3* This,IDWriteFontFallback *fallback) { - return This->lpVtbl->SetFontFallback(This,fallback); +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); +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); + 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_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_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); +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__ */ +#endif /* __IDWriteTextLayout3_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteTextLayout4 interface @@ -6735,805 +6637,801 @@ static inline HRESULT IDWriteTextLayout3_GetLineMetrics(IDWriteTextLayout3* This #ifndef __IDWriteTextLayout4_INTERFACE_DEFINED__ #define __IDWriteTextLayout4_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5,0xfb, 0x82,0x63,0x68,0x5f,0x55,0xe9); +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; +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 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 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; + 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) +__CRT_UUID_DECL(IDWriteTextLayout4, 0x05a9bf42, 0x223f, 0x4441, 0xb5, 0xfb, 0x82, 0x63, 0x68, 0x5f, 0x55, 0xe9) #endif #else typedef struct IDWriteTextLayout4Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteTextLayout4 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteTextLayout4* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteTextLayout4 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteTextLayout4* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteTextLayout4 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteTextLayout4* This); - /*** IDWriteTextFormat methods ***/ - HRESULT (STDMETHODCALLTYPE *SetTextAlignment)( - IDWriteTextLayout4 *This, - DWRITE_TEXT_ALIGNMENT alignment); + /*** IDWriteTextFormat methods ***/ + HRESULT(STDMETHODCALLTYPE* SetTextAlignment)( + IDWriteTextLayout4* This, + DWRITE_TEXT_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetParagraphAlignment)( - IDWriteTextLayout4 *This, - DWRITE_PARAGRAPH_ALIGNMENT alignment); + HRESULT(STDMETHODCALLTYPE* SetParagraphAlignment)( + IDWriteTextLayout4* This, + DWRITE_PARAGRAPH_ALIGNMENT alignment); - HRESULT (STDMETHODCALLTYPE *SetWordWrapping)( - IDWriteTextLayout4 *This, - DWRITE_WORD_WRAPPING wrapping); + HRESULT(STDMETHODCALLTYPE* SetWordWrapping)( + IDWriteTextLayout4* This, + DWRITE_WORD_WRAPPING wrapping); - HRESULT (STDMETHODCALLTYPE *SetReadingDirection)( - IDWriteTextLayout4 *This, - DWRITE_READING_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetReadingDirection)( + IDWriteTextLayout4* This, + DWRITE_READING_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetFlowDirection)( - IDWriteTextLayout4 *This, - DWRITE_FLOW_DIRECTION direction); + HRESULT(STDMETHODCALLTYPE* SetFlowDirection)( + IDWriteTextLayout4* This, + DWRITE_FLOW_DIRECTION direction); - HRESULT (STDMETHODCALLTYPE *SetIncrementalTabStop)( - IDWriteTextLayout4 *This, - FLOAT tabstop); + 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); + 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 + 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; + 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_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_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) +#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_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) +#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) +#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_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_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_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) +#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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteTextLayout4_Release(IDWriteTextLayout4* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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 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); + return This->lpVtbl->GetTextAlignment(This); } static inline DWRITE_PARAGRAPH_ALIGNMENT IDWriteTextLayout4_GetParagraphAlignment(IDWriteTextLayout4* This) { - return This->lpVtbl->GetParagraphAlignment(This); + return This->lpVtbl->GetParagraphAlignment(This); } static inline DWRITE_WORD_WRAPPING IDWriteTextLayout4_GetWordWrapping(IDWriteTextLayout4* This) { - return This->lpVtbl->GetWordWrapping(This); + return This->lpVtbl->GetWordWrapping(This); } static inline DWRITE_READING_DIRECTION IDWriteTextLayout4_GetReadingDirection(IDWriteTextLayout4* This) { - return This->lpVtbl->GetReadingDirection(This); + return This->lpVtbl->GetReadingDirection(This); } static inline DWRITE_FLOW_DIRECTION IDWriteTextLayout4_GetFlowDirection(IDWriteTextLayout4* This) { - return This->lpVtbl->GetFlowDirection(This); + return This->lpVtbl->GetFlowDirection(This); } static inline FLOAT IDWriteTextLayout4_GetIncrementalTabStop(IDWriteTextLayout4* This) { - return This->lpVtbl->GetIncrementalTabStop(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); +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_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_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_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_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_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_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_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_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_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_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_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_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_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 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); + return This->lpVtbl->GetMaxWidth(This); } static inline FLOAT IDWriteTextLayout4_GetMaxHeight(IDWriteTextLayout4* This) { - return This->lpVtbl->GetMaxHeight(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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_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_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_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); +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_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 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); + 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 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); + return This->lpVtbl->GetLastLineWrapping(This); } -static inline HRESULT IDWriteTextLayout4_SetOpticalAlignment(IDWriteTextLayout4* This,DWRITE_OPTICAL_ALIGNMENT alignment) { - return This->lpVtbl->SetOpticalAlignment(This,alignment); +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); + return This->lpVtbl->GetOpticalAlignment(This); } -static inline HRESULT IDWriteTextLayout4_SetFontFallback(IDWriteTextLayout4* This,IDWriteFontFallback *fallback) { - return This->lpVtbl->SetFontFallback(This,fallback); +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); +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); + 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_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_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); +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 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 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 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); + return This->lpVtbl->GetAutomaticFontAxes(This); } -static inline HRESULT IDWriteTextLayout4_SetAutomaticFontAxes(IDWriteTextLayout4* This,DWRITE_AUTOMATIC_FONT_AXES axes) { - return This->lpVtbl->SetAutomaticFontAxes(This,axes); +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__ */ +#endif /* __IDWriteTextLayout4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFallback1 interface @@ -7541,111 +7439,108 @@ static inline HRESULT IDWriteTextLayout4_SetAutomaticFontAxes(IDWriteTextLayout4 #ifndef __IDWriteFontFallback1_INTERFACE_DEFINED__ #define __IDWriteFontFallback1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd,0x6a, 0xf4,0xf3,0x1e,0xaa,0xde,0x77); +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; - +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) +__CRT_UUID_DECL(IDWriteFontFallback1, 0x2397599d, 0xdd0d, 0x4681, 0xbd, 0x6a, 0xf4, 0xf3, 0x1e, 0xaa, 0xde, 0x77) #endif #else typedef struct IDWriteFontFallback1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFallback1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFallback1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFallback1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFallback1* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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); + /*** 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 + END_INTERFACE } IDWriteFontFallback1Vtbl; interface IDWriteFontFallback1 { - CONST_VTBL IDWriteFontFallback1Vtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFallback1_Release(IDWriteFontFallback1* This) { - return This->lpVtbl->Release(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); +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__ */ +#endif /* __IDWriteFontFallback1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteGdiInterop1 interface @@ -7653,168 +7548,165 @@ static inline HRESULT IDWriteFontFallback1_MapCharacters(IDWriteFontFallback1* T #ifndef __IDWriteGdiInterop1_INTERFACE_DEFINED__ #define __IDWriteGdiInterop1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90,0xbe, 0x42,0x17,0x80,0xa6,0xf5,0x15); +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; +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_( + 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; + 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) +__CRT_UUID_DECL(IDWriteGdiInterop1, 0x4556be70, 0x3abd, 0x4f70, 0x90, 0xbe, 0x42, 0x17, 0x80, 0xa6, 0xf5, 0x15) #endif #else typedef struct IDWriteGdiInterop1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteGdiInterop1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteGdiInterop1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteGdiInterop1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteGdiInterop1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteGdiInterop1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteGdiInterop1* This); - /*** IDWriteGdiInterop methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT)( - IDWriteGdiInterop1 *This, - const LOGFONTW *logfont, - IDWriteFont **font); + /*** 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* ConvertFontToLOGFONT)( + IDWriteGdiInterop1* This, + IDWriteFont* font, + LOGFONTW* logfont, + WINBOOL* is_systemfont); - HRESULT (STDMETHODCALLTYPE *ConvertFontFaceToLOGFONT)( - IDWriteGdiInterop1 *This, - IDWriteFontFace *font, - LOGFONTW *logfont); + HRESULT(STDMETHODCALLTYPE* ConvertFontFaceToLOGFONT)( + IDWriteGdiInterop1* This, + IDWriteFontFace* font, + LOGFONTW* logfont); - HRESULT (STDMETHODCALLTYPE *CreateFontFaceFromHdc)( - IDWriteGdiInterop1 *This, - HDC hdc, - IDWriteFontFace **fontface); + HRESULT(STDMETHODCALLTYPE* CreateFontFaceFromHdc)( + IDWriteGdiInterop1* This, + HDC hdc, + IDWriteFontFace** fontface); - HRESULT (STDMETHODCALLTYPE *CreateBitmapRenderTarget)( - IDWriteGdiInterop1 *This, - HDC hdc, - UINT32 width, - UINT32 height, - IDWriteBitmapRenderTarget **target); + 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); + /*** 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, + IDWriteFontFace* fontface, + FONTSIGNATURE* fontsig); - HRESULT (STDMETHODCALLTYPE *GetFontSignature)( - IDWriteGdiInterop1 *This, - IDWriteFont *font, - FONTSIGNATURE *fontsig); + HRESULT(STDMETHODCALLTYPE* GetFontSignature)( + IDWriteGdiInterop1* This, + IDWriteFont* font, + FONTSIGNATURE* fontsig); - HRESULT (STDMETHODCALLTYPE *GetMatchingFontsByLOGFONT)( - IDWriteGdiInterop1 *This, - const LOGFONTW *logfont, - IDWriteFontSet *fontset, - IDWriteFontSet **subset); + HRESULT(STDMETHODCALLTYPE* GetMatchingFontsByLOGFONT)( + IDWriteGdiInterop1* This, + const LOGFONTW* logfont, + IDWriteFontSet* fontset, + IDWriteFontSet** subset); - END_INTERFACE + END_INTERFACE } IDWriteGdiInterop1Vtbl; interface IDWriteGdiInterop1 { - CONST_VTBL IDWriteGdiInterop1Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteGdiInterop1_Release(IDWriteGdiInterop1* This) { - return This->lpVtbl->Release(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_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_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_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); +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_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, 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_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); +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__ */ +#endif /* __IDWriteGdiInterop1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSetBuilder interface @@ -7822,113 +7714,110 @@ static inline HRESULT IDWriteGdiInterop1_GetMatchingFontsByLOGFONT(IDWriteGdiInt #ifndef __IDWriteFontSetBuilder_INTERFACE_DEFINED__ #define __IDWriteFontSetBuilder_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8,0xbe, 0x45,0x74,0x01,0xaf,0xcb,0x3d); +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; +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 AddFontFaceReference( + IDWriteFontFaceReference * ref) = 0; - virtual HRESULT STDMETHODCALLTYPE AddFontSet( - IDWriteFontSet *fontset) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateFontSet( - IDWriteFontSet **fontset) = 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) +__CRT_UUID_DECL(IDWriteFontSetBuilder, 0x2f642afe, 0x9c68, 0x4f40, 0xb8, 0xbe, 0x45, 0x74, 0x01, 0xaf, 0xcb, 0x3d) #endif #else typedef struct IDWriteFontSetBuilderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSetBuilder *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSetBuilder* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSetBuilder *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSetBuilder* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSetBuilder *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSetBuilder* This); - /*** IDWriteFontSetBuilder methods ***/ - HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( - IDWriteFontSetBuilder *This, - IDWriteFontFaceReference *ref, - const DWRITE_FONT_PROPERTY *props, - UINT32 prop_count); + /*** 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* AddFontFaceReference)( + IDWriteFontSetBuilder* This, + IDWriteFontFaceReference* ref); - HRESULT (STDMETHODCALLTYPE *AddFontSet)( - IDWriteFontSetBuilder *This, - IDWriteFontSet *fontset); + HRESULT(STDMETHODCALLTYPE* AddFontSet)( + IDWriteFontSetBuilder* This, + IDWriteFontSet* fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSet)( - IDWriteFontSetBuilder *This, - IDWriteFontSet **fontset); + HRESULT(STDMETHODCALLTYPE* CreateFontSet)( + IDWriteFontSetBuilder* This, + IDWriteFontSet** fontset); - END_INTERFACE + END_INTERFACE } IDWriteFontSetBuilderVtbl; interface IDWriteFontSetBuilder { - CONST_VTBL IDWriteFontSetBuilderVtbl* lpVtbl; + 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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSetBuilder_Release(IDWriteFontSetBuilder* This) { - return This->lpVtbl->Release(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, 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_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_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); +static inline HRESULT IDWriteFontSetBuilder_CreateFontSet(IDWriteFontSetBuilder* This, IDWriteFontSet** fontset) { + return This->lpVtbl->CreateFontSet(This, fontset); } #endif #endif #endif - -#endif /* __IDWriteFontSetBuilder_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontSetBuilder_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSetBuilder1 interface @@ -7936,113 +7825,110 @@ static inline HRESULT IDWriteFontSetBuilder_CreateFontSet(IDWriteFontSetBuilder* #ifndef __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ #define __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b,0x72, 0xec,0x56,0x21,0xdc,0xca,0xfd); +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; - +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) +__CRT_UUID_DECL(IDWriteFontSetBuilder1, 0x3ff7715f, 0x3cdc, 0x4dc6, 0x9b, 0x72, 0xec, 0x56, 0x21, 0xdc, 0xca, 0xfd) #endif #else typedef struct IDWriteFontSetBuilder1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSetBuilder1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSetBuilder1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSetBuilder1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSetBuilder1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSetBuilder1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSetBuilder1* This); - /*** IDWriteFontSetBuilder methods ***/ - HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( - IDWriteFontSetBuilder1 *This, - IDWriteFontFaceReference *ref, - const DWRITE_FONT_PROPERTY *props, - UINT32 prop_count); + /*** 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* AddFontFaceReference)( + IDWriteFontSetBuilder1* This, + IDWriteFontFaceReference* ref); - HRESULT (STDMETHODCALLTYPE *AddFontSet)( - IDWriteFontSetBuilder1 *This, - IDWriteFontSet *fontset); + HRESULT(STDMETHODCALLTYPE* AddFontSet)( + IDWriteFontSetBuilder1* This, + IDWriteFontSet* fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSet)( - IDWriteFontSetBuilder1 *This, - IDWriteFontSet **fontset); + HRESULT(STDMETHODCALLTYPE* CreateFontSet)( + IDWriteFontSetBuilder1* This, + IDWriteFontSet** fontset); - /*** IDWriteFontSetBuilder1 methods ***/ - HRESULT (STDMETHODCALLTYPE *AddFontFile)( - IDWriteFontSetBuilder1 *This, - IDWriteFontFile *file); + /*** IDWriteFontSetBuilder1 methods ***/ + HRESULT(STDMETHODCALLTYPE* AddFontFile)( + IDWriteFontSetBuilder1* This, + IDWriteFontFile* file); - END_INTERFACE + END_INTERFACE } IDWriteFontSetBuilder1Vtbl; interface IDWriteFontSetBuilder1 { - CONST_VTBL IDWriteFontSetBuilder1Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSetBuilder1_Release(IDWriteFontSetBuilder1* This) { - return This->lpVtbl->Release(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, 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_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_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); +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); +static inline HRESULT IDWriteFontSetBuilder1_AddFontFile(IDWriteFontSetBuilder1* This, IDWriteFontFile* file) { + return This->lpVtbl->AddFontFile(This, file); } #endif #endif #endif - -#endif /* __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontSetBuilder1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontSetBuilder2 interface @@ -8050,147 +7936,144 @@ static inline HRESULT IDWriteFontSetBuilder1_AddFontFile(IDWriteFontSetBuilder1* #ifndef __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ #define __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f,0x4f, 0x31,0x89,0xb9,0x40,0x1e,0x45); +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; +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) +__CRT_UUID_DECL(IDWriteFontSetBuilder2, 0xee5ba612, 0xb131, 0x463c, 0x8f, 0x4f, 0x31, 0x89, 0xb9, 0x40, 0x1e, 0x45) #endif #else typedef struct IDWriteFontSetBuilder2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontSetBuilder2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontSetBuilder2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontSetBuilder2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontSetBuilder2* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontSetBuilder2 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontSetBuilder2* This); - /*** IDWriteFontSetBuilder methods ***/ - HRESULT (STDMETHODCALLTYPE *AddFontFaceReference_)( - IDWriteFontSetBuilder2 *This, - IDWriteFontFaceReference *ref, - const DWRITE_FONT_PROPERTY *props, - UINT32 prop_count); + /*** 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* AddFontFaceReference)( + IDWriteFontSetBuilder2* This, + IDWriteFontFaceReference* ref); - HRESULT (STDMETHODCALLTYPE *AddFontSet)( - IDWriteFontSetBuilder2 *This, - IDWriteFontSet *fontset); + HRESULT(STDMETHODCALLTYPE* AddFontSet)( + IDWriteFontSetBuilder2* This, + IDWriteFontSet* fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSet)( - IDWriteFontSetBuilder2 *This, - IDWriteFontSet **fontset); + HRESULT(STDMETHODCALLTYPE* CreateFontSet)( + IDWriteFontSetBuilder2* This, + IDWriteFontSet** fontset); - /*** IDWriteFontSetBuilder1 methods ***/ - HRESULT (STDMETHODCALLTYPE *AddFontFile)( - IDWriteFontSetBuilder2 *This, - IDWriteFontFile *file); + /*** 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); + /*** 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); + HRESULT(STDMETHODCALLTYPE* IDWriteFontSetBuilder2_AddFontFile)( + IDWriteFontSetBuilder2* This, + const WCHAR* filepath); - END_INTERFACE + END_INTERFACE } IDWriteFontSetBuilder2Vtbl; interface IDWriteFontSetBuilder2 { - CONST_VTBL IDWriteFontSetBuilder2Vtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontSetBuilder2_Release(IDWriteFontSetBuilder2* This) { - return This->lpVtbl->Release(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, 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_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_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); +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_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); +static inline HRESULT IDWriteFontSetBuilder2_AddFontFile(IDWriteFontSetBuilder2* This, const WCHAR* filepath) { + return This->lpVtbl->IDWriteFontSetBuilder2_AddFontFile(This, filepath); } #endif #endif #endif - -#endif /* __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontSetBuilder2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory3 interface @@ -8198,514 +8081,511 @@ static inline HRESULT IDWriteFontSetBuilder2_AddFontFile(IDWriteFontSetBuilder2* #ifndef __IDWriteFactory3_INTERFACE_DEFINED__ #define __IDWriteFactory3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87,0xfc, 0xfe,0x67,0x55,0x6a,0x3b,0x65); +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; +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 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_( + 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 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 GetSystemFontSet( + IDWriteFontSet * *fontset) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( - IDWriteFontSetBuilder **builder) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( + IDWriteFontSetBuilder * *builder) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateFontCollectionFromFontSet( - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection) = 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; + 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) +__CRT_UUID_DECL(IDWriteFactory3, 0x9a1b41c3, 0xd3bb, 0x466a, 0x87, 0xfc, 0xfe, 0x67, 0x55, 0x6a, 0x3b, 0x65) #endif #else typedef struct IDWriteFactory3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory3* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory3 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory3* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory3 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory3* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory3 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory3* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory3* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory3 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory3* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory3* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory3 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory3* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory3 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory3* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory3 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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); + /*** 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* 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, + 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* 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* GetSystemFontSet)( + IDWriteFactory3* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( - IDWriteFactory3 *This, - IDWriteFontSetBuilder **builder); + HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( + IDWriteFactory3* This, + IDWriteFontSetBuilder** builder); - HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( - IDWriteFactory3 *This, - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); + 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* IDWriteFactory3_GetSystemFontCollection)( + IDWriteFactory3* This, + WINBOOL include_downloadable, + IDWriteFontCollection1** collection, + WINBOOL check_for_updates); - HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( - IDWriteFactory3 *This, - IDWriteFontDownloadQueue **queue); + HRESULT(STDMETHODCALLTYPE* GetFontDownloadQueue)( + IDWriteFactory3* This, + IDWriteFontDownloadQueue** queue); - END_INTERFACE + END_INTERFACE } IDWriteFactory3Vtbl; interface IDWriteFactory3 { - CONST_VTBL IDWriteFactory3Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory3_Release(IDWriteFactory3* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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_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); +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_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_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, 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_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_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_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_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_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); +static inline HRESULT IDWriteFactory3_GetFontDownloadQueue(IDWriteFactory3* This, IDWriteFontDownloadQueue** queue) { + return This->lpVtbl->GetFontDownloadQueue(This, queue); } #endif #endif #endif - -#endif /* __IDWriteFactory3_INTERFACE_DEFINED__ */ +#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; + 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 @@ -8713,554 +8593,550 @@ typedef struct DWRITE_GLYPH_IMAGE_DATA { #ifndef __IDWriteFontFace4_INTERFACE_DEFINED__ #define __IDWriteFontFace4_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96,0x78, 0x05,0x63,0xf5,0x3e,0x3e,0x2f); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteFontFace4, 0x27f2a904, 0x4eb8, 0x441d, 0x96, 0x78, 0x05, 0x63, 0xf5, 0x3e, 0x3e, 0x2f) #endif #else typedef struct IDWriteFontFace4Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace4 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace4* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace4 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace4* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace4 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace4* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace4 *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace4* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace4 *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace4* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace4 *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace4* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace4 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace4* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace4 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace4* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace4 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace4* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace4 *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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); + /*** 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); + 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); + void(STDMETHODCALLTYPE* GetCaretMetrics)( + IDWriteFontFace4* This, + DWRITE_CARET_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFontFace4 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFontFace4* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFontFace4 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFontFace4* This); - HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( - IDWriteFontFace4 *This, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances, - WINBOOL is_sideways); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( + IDWriteFontFace4* This, + UINT32 glyph_count, + const UINT16* indices, + INT32* adjustments); - WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( - IDWriteFontFace4 *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( + IDWriteFontFace4* This, + UINT32 glyph_count, + const UINT16* nominal_indices, + UINT16* vertical_indices); - WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( - IDWriteFontFace4 *This); + WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( + IDWriteFontFace4* This); - /*** IDWriteFontFace2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFontFace4 *This); + /*** IDWriteFontFace2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFontFace4* This); - UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( - IDWriteFontFace4 *This); + UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( + IDWriteFontFace4* This); - UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( - 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* 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); + 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); + /*** IDWriteFontFace3 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontFace4* This, + IDWriteFontFaceReference** reference); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFontFace4 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFontFace4* This, + DWRITE_PANOSE* panose); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFontFace4 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFontFace4* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFontFace4 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFontFace4* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFontFace4 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFontFace4* This); - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFace4 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( + IDWriteFontFace4* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - 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); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFontFace4* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - WINBOOL (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFontFace4 *This, - UINT32 character); + 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); + 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* IsCharacterLocal)( + IDWriteFontFace4* This, + UINT32 character); - WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( - IDWriteFontFace4 *This, - UINT16 glyph); + 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* 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); + 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); + /*** 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); + 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); + 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); + void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( + IDWriteFontFace4* This, + void* context); - END_INTERFACE + END_INTERFACE } IDWriteFontFace4Vtbl; interface IDWriteFontFace4 { - CONST_VTBL IDWriteFontFace4Vtbl* lpVtbl; + 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_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_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) +#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_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_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_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) +#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_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) +#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, 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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace4_Release(IDWriteFontFace4* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace4_GetType(IDWriteFontFace4* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace4_GetSimulations(IDWriteFontFace4* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace4_IsSymbolFont(IDWriteFontFace4* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } static inline UINT16 IDWriteFontFace4_GetGlyphCount(IDWriteFontFace4* This) { - return This->lpVtbl->GetGlyphCount(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_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_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 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 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_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); +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 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 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 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 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); + 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_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_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 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); + 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 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); + return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static inline WINBOOL IDWriteFontFace4_IsColorFont(IDWriteFontFace4* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } static inline UINT32 IDWriteFontFace4_GetColorPaletteCount(IDWriteFontFace4* This) { - return This->lpVtbl->GetColorPaletteCount(This); + return This->lpVtbl->GetColorPaletteCount(This); } static inline UINT32 IDWriteFontFace4_GetPaletteEntryCount(IDWriteFontFace4* This) { - return This->lpVtbl->GetPaletteEntryCount(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); +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 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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFontFace4_GetStretch(IDWriteFontFace4* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFontFace4_GetStyle(IDWriteFontFace4* This) { - return This->lpVtbl->GetStyle(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_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_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 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 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 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_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 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_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); +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 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); + 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 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); +static inline void IDWriteFontFace4_ReleaseGlyphImageData(IDWriteFontFace4* This, void* context) { + This->lpVtbl->ReleaseGlyphImageData(This, context); } #endif #endif #endif - -#endif /* __IDWriteFontFace4_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontFace4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace5 interface @@ -9268,593 +9144,588 @@ static inline void IDWriteFontFace4_ReleaseGlyphImageData(IDWriteFontFace4* This #ifndef __IDWriteFontFace5_INTERFACE_DEFINED__ #define __IDWriteFontFace5_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1,0x45, 0xe2,0xfa,0x5b,0x9f,0xdc,0x29); +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; +IDWriteFontFace5 : public IDWriteFontFace4 { + virtual UINT32 STDMETHODCALLTYPE GetFontAxisValueCount() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( - DWRITE_FONT_AXIS_VALUE *values, - UINT32 value_count) = 0; + virtual HRESULT STDMETHODCALLTYPE GetFontAxisValues( + DWRITE_FONT_AXIS_VALUE * values, + UINT32 value_count) = 0; - virtual WINBOOL STDMETHODCALLTYPE HasVariations( - ) = 0; + virtual WINBOOL STDMETHODCALLTYPE HasVariations() = 0; - virtual HRESULT STDMETHODCALLTYPE GetFontResource( - IDWriteFontResource **resource) = 0; - - virtual WINBOOL STDMETHODCALLTYPE Equals( - IDWriteFontFace *fontface) = 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) +__CRT_UUID_DECL(IDWriteFontFace5, 0x98eff3a5, 0xb667, 0x479a, 0xb1, 0x45, 0xe2, 0xfa, 0x5b, 0x9f, 0xdc, 0x29) #endif #else typedef struct IDWriteFontFace5Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace5 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace5* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace5 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace5* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace5 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace5* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace5 *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace5* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace5 *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace5* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace5 *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace5* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace5 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace5* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace5 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace5* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace5 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace5* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace5 *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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); + /*** 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); + 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); + void(STDMETHODCALLTYPE* GetCaretMetrics)( + IDWriteFontFace5* This, + DWRITE_CARET_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFontFace5 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFontFace5* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFontFace5 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFontFace5* This); - HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( - IDWriteFontFace5 *This, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances, - WINBOOL is_sideways); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( + IDWriteFontFace5* This, + UINT32 glyph_count, + const UINT16* indices, + INT32* adjustments); - WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( - IDWriteFontFace5 *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( + IDWriteFontFace5* This, + UINT32 glyph_count, + const UINT16* nominal_indices, + UINT16* vertical_indices); - WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( - IDWriteFontFace5 *This); + WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( + IDWriteFontFace5* This); - /*** IDWriteFontFace2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFontFace5 *This); + /*** IDWriteFontFace2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFontFace5* This); - UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( - IDWriteFontFace5 *This); + UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( + IDWriteFontFace5* This); - UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( - 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* 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); + 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); + /*** IDWriteFontFace3 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontFace5* This, + IDWriteFontFaceReference** reference); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFontFace5 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFontFace5* This, + DWRITE_PANOSE* panose); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFontFace5 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFontFace5* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFontFace5 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFontFace5* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFontFace5 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFontFace5* This); - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFace5 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( + IDWriteFontFace5* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - 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); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFontFace5* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - WINBOOL (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFontFace5 *This, - UINT32 character); + 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); + 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* IsCharacterLocal)( + IDWriteFontFace5* This, + UINT32 character); - WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( - IDWriteFontFace5 *This, - UINT16 glyph); + 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* 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); + 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); + /*** 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); + 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); + 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); + void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( + IDWriteFontFace5* This, + void* context); - /*** IDWriteFontFace5 methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( - IDWriteFontFace5 *This); + /*** IDWriteFontFace5 methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( + IDWriteFontFace5* This); - HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( - IDWriteFontFace5 *This, - DWRITE_FONT_AXIS_VALUE *values, - UINT32 value_count); + HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( + IDWriteFontFace5* This, + DWRITE_FONT_AXIS_VALUE* values, + UINT32 value_count); - WINBOOL (STDMETHODCALLTYPE *HasVariations)( - IDWriteFontFace5 *This); + WINBOOL(STDMETHODCALLTYPE* HasVariations)( + IDWriteFontFace5* This); - HRESULT (STDMETHODCALLTYPE *GetFontResource)( - IDWriteFontFace5 *This, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* GetFontResource)( + IDWriteFontFace5* This, + IDWriteFontResource** resource); - WINBOOL (STDMETHODCALLTYPE *Equals)( - IDWriteFontFace5 *This, - IDWriteFontFace *fontface); + WINBOOL(STDMETHODCALLTYPE* Equals)( + IDWriteFontFace5* This, + IDWriteFontFace* fontface); - END_INTERFACE + END_INTERFACE } IDWriteFontFace5Vtbl; interface IDWriteFontFace5 { - CONST_VTBL IDWriteFontFace5Vtbl* lpVtbl; + 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_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_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) +#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_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_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_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) +#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_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) +#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, 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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace5_Release(IDWriteFontFace5* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace5_GetType(IDWriteFontFace5* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace5_GetSimulations(IDWriteFontFace5* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace5_IsSymbolFont(IDWriteFontFace5* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } static inline UINT16 IDWriteFontFace5_GetGlyphCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetGlyphCount(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_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_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 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 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_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); +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 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 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 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 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); + 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_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_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 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); + 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 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); + return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static inline WINBOOL IDWriteFontFace5_IsColorFont(IDWriteFontFace5* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } static inline UINT32 IDWriteFontFace5_GetColorPaletteCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetColorPaletteCount(This); + return This->lpVtbl->GetColorPaletteCount(This); } static inline UINT32 IDWriteFontFace5_GetPaletteEntryCount(IDWriteFontFace5* This) { - return This->lpVtbl->GetPaletteEntryCount(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); +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 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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFontFace5_GetStretch(IDWriteFontFace5* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFontFace5_GetStyle(IDWriteFontFace5* This) { - return This->lpVtbl->GetStyle(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_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_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 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 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 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_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 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_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); +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 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); + 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 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); +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); + 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 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); + return This->lpVtbl->HasVariations(This); } -static inline HRESULT IDWriteFontFace5_GetFontResource(IDWriteFontFace5* This,IDWriteFontResource **resource) { - return This->lpVtbl->GetFontResource(This,resource); +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); +static inline WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This, IDWriteFontFace* fontface) { + return This->lpVtbl->Equals(This, fontface); } #endif #endif #endif - -#endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */ +#endif /* __IDWriteFontFace5_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace6 interface @@ -9862,598 +9733,595 @@ static inline WINBOOL IDWriteFontFace5_Equals(IDWriteFontFace5* This,IDWriteFont #ifndef __IDWriteFontFace6_INTERFACE_DEFINED__ #define __IDWriteFontFace6_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace6, 0xc4b1fe1b, 0x6e84, 0x47d5, 0xb5,0x4c, 0xa5,0x97,0x98,0x1b,0x06,0xad); +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; +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) +__CRT_UUID_DECL(IDWriteFontFace6, 0xc4b1fe1b, 0x6e84, 0x47d5, 0xb5, 0x4c, 0xa5, 0x97, 0x98, 0x1b, 0x06, 0xad) #endif #else typedef struct IDWriteFontFace6Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace6 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace6* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace6 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace6* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace6 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace6* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace6 *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace6* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace6 *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace6* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace6 *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace6* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace6 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace6* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace6 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace6* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace6 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace6* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace6 *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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); + /*** 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); + 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); + void(STDMETHODCALLTYPE* GetCaretMetrics)( + IDWriteFontFace6* This, + DWRITE_CARET_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFontFace6 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFontFace6* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFontFace6 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFontFace6* This); - HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( - IDWriteFontFace6 *This, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances, - WINBOOL is_sideways); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( + IDWriteFontFace6* This, + UINT32 glyph_count, + const UINT16* indices, + INT32* adjustments); - WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( - IDWriteFontFace6 *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( + IDWriteFontFace6* This, + UINT32 glyph_count, + const UINT16* nominal_indices, + UINT16* vertical_indices); - WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( - IDWriteFontFace6 *This); + WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( + IDWriteFontFace6* This); - /*** IDWriteFontFace2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFontFace6 *This); + /*** IDWriteFontFace2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFontFace6* This); - UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( - IDWriteFontFace6 *This); + UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( + IDWriteFontFace6* This); - UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( - 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* 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); + 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); + /*** IDWriteFontFace3 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontFace6* This, + IDWriteFontFaceReference** reference); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFontFace6 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFontFace6* This, + DWRITE_PANOSE* panose); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFontFace6 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFontFace6* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFontFace6 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFontFace6* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFontFace6 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFontFace6* This); - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFace6 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( + IDWriteFontFace6* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - 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); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFontFace6* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - WINBOOL (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFontFace6 *This, - UINT32 character); + 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); + 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* IsCharacterLocal)( + IDWriteFontFace6* This, + UINT32 character); - WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( - IDWriteFontFace6 *This, - UINT16 glyph); + 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* 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); + 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); + /*** 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); + 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); + 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); + void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( + IDWriteFontFace6* This, + void* context); - /*** IDWriteFontFace5 methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( - IDWriteFontFace6 *This); + /*** IDWriteFontFace5 methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( + IDWriteFontFace6* This); - HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( - IDWriteFontFace6 *This, - DWRITE_FONT_AXIS_VALUE *values, - UINT32 value_count); + HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( + IDWriteFontFace6* This, + DWRITE_FONT_AXIS_VALUE* values, + UINT32 value_count); - WINBOOL (STDMETHODCALLTYPE *HasVariations)( - IDWriteFontFace6 *This); + WINBOOL(STDMETHODCALLTYPE* HasVariations)( + IDWriteFontFace6* This); - HRESULT (STDMETHODCALLTYPE *GetFontResource)( - IDWriteFontFace6 *This, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* GetFontResource)( + IDWriteFontFace6* This, + IDWriteFontResource** resource); - WINBOOL (STDMETHODCALLTYPE *Equals)( - IDWriteFontFace6 *This, - IDWriteFontFace *fontface); + WINBOOL(STDMETHODCALLTYPE* Equals)( + IDWriteFontFace6* This, + IDWriteFontFace* fontface); - /*** IDWriteFontFace6 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteFontFace6_GetFamilyNames)( - IDWriteFontFace6 *This, - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings **names); + /*** 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); + HRESULT(STDMETHODCALLTYPE* IDWriteFontFace6_GetFaceNames)( + IDWriteFontFace6* This, + DWRITE_FONT_FAMILY_MODEL font_family_model, + IDWriteLocalizedStrings** names); - END_INTERFACE + END_INTERFACE } IDWriteFontFace6Vtbl; interface IDWriteFontFace6 { - CONST_VTBL IDWriteFontFace6Vtbl* lpVtbl; + 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_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_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) +#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_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_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_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) +#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_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) +#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, 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) +#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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace6_Release(IDWriteFontFace6* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace6_GetType(IDWriteFontFace6* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace6_GetSimulations(IDWriteFontFace6* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace6_IsSymbolFont(IDWriteFontFace6* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } static inline UINT16 IDWriteFontFace6_GetGlyphCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetGlyphCount(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_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_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 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 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_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); +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 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 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 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 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); + 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_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_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 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); + 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 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); + return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static inline WINBOOL IDWriteFontFace6_IsColorFont(IDWriteFontFace6* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } static inline UINT32 IDWriteFontFace6_GetColorPaletteCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetColorPaletteCount(This); + return This->lpVtbl->GetColorPaletteCount(This); } static inline UINT32 IDWriteFontFace6_GetPaletteEntryCount(IDWriteFontFace6* This) { - return This->lpVtbl->GetPaletteEntryCount(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); +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 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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFontFace6_GetStretch(IDWriteFontFace6* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFontFace6_GetStyle(IDWriteFontFace6* This) { - return This->lpVtbl->GetStyle(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 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 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 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_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 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_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); +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 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); + 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 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); +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); + 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 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); + return This->lpVtbl->HasVariations(This); } -static inline HRESULT IDWriteFontFace6_GetFontResource(IDWriteFontFace6* This,IDWriteFontResource **resource) { - return This->lpVtbl->GetFontResource(This,resource); +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); +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_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); +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__ */ +#endif /* __IDWriteFontFace6_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWritePaintReader interface @@ -10461,185 +10329,181 @@ static inline HRESULT IDWriteFontFace6_GetFaceNames(IDWriteFontFace6* This,DWRIT #ifndef __IDWritePaintReader_INTERFACE_DEFINED__ #define __IDWritePaintReader_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWritePaintReader, 0x8128e912, 0x3b97, 0x42a5, 0xab,0x6c, 0x24,0xaa,0xd3,0xa8,0x6e,0x54); +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; +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 SetTextColor( + const DWRITE_COLOR_F* text_color) = 0; - virtual HRESULT STDMETHODCALLTYPE SetColorPaletteIndex( - UINT32 color_palette_index) = 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 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 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 MoveToNextSibling( + DWRITE_PAINT_ELEMENT * paint_element, + UINT32 struct_size) = 0; - virtual HRESULT STDMETHODCALLTYPE MoveToParent( - ) = 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; + 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) +__CRT_UUID_DECL(IDWritePaintReader, 0x8128e912, 0x3b97, 0x42a5, 0xab, 0x6c, 0x24, 0xaa, 0xd3, 0xa8, 0x6e, 0x54) #endif #else typedef struct IDWritePaintReaderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWritePaintReader *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWritePaintReader* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWritePaintReader *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWritePaintReader* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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* SetTextColor)( + IDWritePaintReader* This, + const DWRITE_COLOR_F* text_color); - HRESULT (STDMETHODCALLTYPE *SetColorPaletteIndex)( - IDWritePaintReader *This, - UINT32 color_palette_index); + 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* 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* 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* MoveToNextSibling)( + IDWritePaintReader* This, + DWRITE_PAINT_ELEMENT* paint_element, + UINT32 struct_size); - HRESULT (STDMETHODCALLTYPE *MoveToParent)( - IDWritePaintReader *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetGradientStopColors)( + IDWritePaintReader* This, + UINT32 first_gradient_stop_index, + UINT32 gradient_stop_count, + DWRITE_PAINT_COLOR* gradient_stop_colors); - END_INTERFACE + END_INTERFACE } IDWritePaintReaderVtbl; interface IDWritePaintReader { - CONST_VTBL IDWritePaintReaderVtbl* lpVtbl; + 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_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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWritePaintReader_Release(IDWritePaintReader* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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); + 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_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); +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__ */ +#endif /* __IDWritePaintReader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFontFace7 interface @@ -10647,634 +10511,630 @@ static inline HRESULT IDWritePaintReader_GetGradientStopColors(IDWritePaintReade #ifndef __IDWriteFontFace7_INTERFACE_DEFINED__ #define __IDWriteFontFace7_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFontFace7, 0x3945b85b, 0xbc95, 0x40f7, 0xb7,0x2c, 0x8b,0x73,0xbf,0xc7,0xe1,0x3b); +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; +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) +__CRT_UUID_DECL(IDWriteFontFace7, 0x3945b85b, 0xbc95, 0x40f7, 0xb7, 0x2c, 0x8b, 0x73, 0xbf, 0xc7, 0xe1, 0x3b) #endif #else typedef struct IDWriteFontFace7Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFontFace7 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFontFace7* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFontFace7 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFontFace7* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFontFace7 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFontFace7* This); - /*** IDWriteFontFace methods ***/ - DWRITE_FONT_FACE_TYPE (STDMETHODCALLTYPE *GetType)( - IDWriteFontFace7 *This); + /*** IDWriteFontFace methods ***/ + DWRITE_FONT_FACE_TYPE(STDMETHODCALLTYPE* GetType)( + IDWriteFontFace7* This); - HRESULT (STDMETHODCALLTYPE *GetFiles)( - IDWriteFontFace7 *This, - UINT32 *number_of_files, - IDWriteFontFile **fontfiles); + HRESULT(STDMETHODCALLTYPE* GetFiles)( + IDWriteFontFace7* This, + UINT32* number_of_files, + IDWriteFontFile** fontfiles); - UINT32 (STDMETHODCALLTYPE *GetIndex)( - IDWriteFontFace7 *This); + UINT32(STDMETHODCALLTYPE* GetIndex)( + IDWriteFontFace7* This); - DWRITE_FONT_SIMULATIONS (STDMETHODCALLTYPE *GetSimulations)( - IDWriteFontFace7 *This); + DWRITE_FONT_SIMULATIONS(STDMETHODCALLTYPE* GetSimulations)( + IDWriteFontFace7* This); - WINBOOL (STDMETHODCALLTYPE *IsSymbolFont)( - IDWriteFontFace7 *This); + WINBOOL(STDMETHODCALLTYPE* IsSymbolFont)( + IDWriteFontFace7* This); - void (STDMETHODCALLTYPE *GetMetrics)( - IDWriteFontFace7 *This, - DWRITE_FONT_METRICS *metrics); + void(STDMETHODCALLTYPE* GetMetrics)( + IDWriteFontFace7* This, + DWRITE_FONT_METRICS* metrics); - UINT16 (STDMETHODCALLTYPE *GetGlyphCount)( - IDWriteFontFace7 *This); + 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* 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* 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); + 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); + 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* 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* 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* 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); + 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); + /*** 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); + 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); + void(STDMETHODCALLTYPE* GetCaretMetrics)( + IDWriteFontFace7* This, + DWRITE_CARET_METRICS* metrics); - HRESULT (STDMETHODCALLTYPE *GetUnicodeRanges)( - IDWriteFontFace7 *This, - UINT32 max_count, - DWRITE_UNICODE_RANGE *ranges, - UINT32 *count); + HRESULT(STDMETHODCALLTYPE* GetUnicodeRanges)( + IDWriteFontFace7* This, + UINT32 max_count, + DWRITE_UNICODE_RANGE* ranges, + UINT32* count); - WINBOOL (STDMETHODCALLTYPE *IsMonospacedFont)( - IDWriteFontFace7 *This); + WINBOOL(STDMETHODCALLTYPE* IsMonospacedFont)( + IDWriteFontFace7* This); - HRESULT (STDMETHODCALLTYPE *GetDesignGlyphAdvances)( - IDWriteFontFace7 *This, - UINT32 glyph_count, - const UINT16 *indices, - INT32 *advances, - WINBOOL is_sideways); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetKerningPairAdjustments)( + IDWriteFontFace7* This, + UINT32 glyph_count, + const UINT16* indices, + INT32* adjustments); - WINBOOL (STDMETHODCALLTYPE *HasKerningPairs)( - IDWriteFontFace7 *This); + 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* 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); + HRESULT(STDMETHODCALLTYPE* GetVerticalGlyphVariants)( + IDWriteFontFace7* This, + UINT32 glyph_count, + const UINT16* nominal_indices, + UINT16* vertical_indices); - WINBOOL (STDMETHODCALLTYPE *HasVerticalGlyphVariants)( - IDWriteFontFace7 *This); + WINBOOL(STDMETHODCALLTYPE* HasVerticalGlyphVariants)( + IDWriteFontFace7* This); - /*** IDWriteFontFace2 methods ***/ - WINBOOL (STDMETHODCALLTYPE *IsColorFont)( - IDWriteFontFace7 *This); + /*** IDWriteFontFace2 methods ***/ + WINBOOL(STDMETHODCALLTYPE* IsColorFont)( + IDWriteFontFace7* This); - UINT32 (STDMETHODCALLTYPE *GetColorPaletteCount)( - IDWriteFontFace7 *This); + UINT32(STDMETHODCALLTYPE* GetColorPaletteCount)( + IDWriteFontFace7* This); - UINT32 (STDMETHODCALLTYPE *GetPaletteEntryCount)( - 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* 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); + 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); + /*** IDWriteFontFace3 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetFontFaceReference)( + IDWriteFontFace7* This, + IDWriteFontFaceReference** reference); - void (STDMETHODCALLTYPE *GetPanose)( - IDWriteFontFace7 *This, - DWRITE_PANOSE *panose); + void(STDMETHODCALLTYPE* GetPanose)( + IDWriteFontFace7* This, + DWRITE_PANOSE* panose); - DWRITE_FONT_WEIGHT (STDMETHODCALLTYPE *GetWeight)( - IDWriteFontFace7 *This); + DWRITE_FONT_WEIGHT(STDMETHODCALLTYPE* GetWeight)( + IDWriteFontFace7* This); - DWRITE_FONT_STRETCH (STDMETHODCALLTYPE *GetStretch)( - IDWriteFontFace7 *This); + DWRITE_FONT_STRETCH(STDMETHODCALLTYPE* GetStretch)( + IDWriteFontFace7* This); - DWRITE_FONT_STYLE (STDMETHODCALLTYPE *GetStyle)( - IDWriteFontFace7 *This); + DWRITE_FONT_STYLE(STDMETHODCALLTYPE* GetStyle)( + IDWriteFontFace7* This); - HRESULT (STDMETHODCALLTYPE *GetFamilyNames)( - IDWriteFontFace7 *This, - IDWriteLocalizedStrings **names); + HRESULT(STDMETHODCALLTYPE* GetFamilyNames)( + IDWriteFontFace7* This, + IDWriteLocalizedStrings** names); - HRESULT (STDMETHODCALLTYPE *GetFaceNames)( - 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); + HRESULT(STDMETHODCALLTYPE* GetInformationalStrings)( + IDWriteFontFace7* This, + DWRITE_INFORMATIONAL_STRING_ID stringid, + IDWriteLocalizedStrings** strings, + WINBOOL* exists); - WINBOOL (STDMETHODCALLTYPE *HasCharacter)( - IDWriteFontFace7 *This, - UINT32 character); + 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); + 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* IsCharacterLocal)( + IDWriteFontFace7* This, + UINT32 character); - WINBOOL (STDMETHODCALLTYPE *IsGlyphLocal)( - IDWriteFontFace7 *This, - UINT16 glyph); + 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* 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); + 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); + /*** 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); + 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); + 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); + void(STDMETHODCALLTYPE* ReleaseGlyphImageData)( + IDWriteFontFace7* This, + void* context); - /*** IDWriteFontFace5 methods ***/ - UINT32 (STDMETHODCALLTYPE *GetFontAxisValueCount)( - IDWriteFontFace7 *This); + /*** IDWriteFontFace5 methods ***/ + UINT32(STDMETHODCALLTYPE* GetFontAxisValueCount)( + IDWriteFontFace7* This); - HRESULT (STDMETHODCALLTYPE *GetFontAxisValues)( - IDWriteFontFace7 *This, - DWRITE_FONT_AXIS_VALUE *values, - UINT32 value_count); + HRESULT(STDMETHODCALLTYPE* GetFontAxisValues)( + IDWriteFontFace7* This, + DWRITE_FONT_AXIS_VALUE* values, + UINT32 value_count); - WINBOOL (STDMETHODCALLTYPE *HasVariations)( - IDWriteFontFace7 *This); + WINBOOL(STDMETHODCALLTYPE* HasVariations)( + IDWriteFontFace7* This); - HRESULT (STDMETHODCALLTYPE *GetFontResource)( - IDWriteFontFace7 *This, - IDWriteFontResource **resource); + HRESULT(STDMETHODCALLTYPE* GetFontResource)( + IDWriteFontFace7* This, + IDWriteFontResource** resource); - WINBOOL (STDMETHODCALLTYPE *Equals)( - IDWriteFontFace7 *This, - IDWriteFontFace *fontface); + WINBOOL(STDMETHODCALLTYPE* Equals)( + IDWriteFontFace7* This, + IDWriteFontFace* fontface); - /*** IDWriteFontFace6 methods ***/ - HRESULT (STDMETHODCALLTYPE *IDWriteFontFace6_GetFamilyNames)( - IDWriteFontFace7 *This, - DWRITE_FONT_FAMILY_MODEL font_family_model, - IDWriteLocalizedStrings **names); + /*** 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); + 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); + /*** 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); + HRESULT(STDMETHODCALLTYPE* CreatePaintReader)( + IDWriteFontFace7* This, + DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format, + DWRITE_PAINT_FEATURE_LEVEL paint_feature_level, + IDWritePaintReader** paint_reader); - END_INTERFACE + END_INTERFACE } IDWriteFontFace7Vtbl; interface IDWriteFontFace7 { - CONST_VTBL IDWriteFontFace7Vtbl* lpVtbl; + 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_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_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) +#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_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_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_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) +#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_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) +#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, 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) +#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_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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFontFace7_Release(IDWriteFontFace7* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteFontFace methods ***/ static inline DWRITE_FONT_FACE_TYPE IDWriteFontFace7_GetType(IDWriteFontFace7* This) { - return This->lpVtbl->GetType(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 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); + return This->lpVtbl->GetIndex(This); } static inline DWRITE_FONT_SIMULATIONS IDWriteFontFace7_GetSimulations(IDWriteFontFace7* This) { - return This->lpVtbl->GetSimulations(This); + return This->lpVtbl->GetSimulations(This); } static inline WINBOOL IDWriteFontFace7_IsSymbolFont(IDWriteFontFace7* This) { - return This->lpVtbl->IsSymbolFont(This); + return This->lpVtbl->IsSymbolFont(This); } static inline UINT16 IDWriteFontFace7_GetGlyphCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetGlyphCount(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_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_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 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 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_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); +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 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 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 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 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); + 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_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_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 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); + 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 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); + return This->lpVtbl->HasVerticalGlyphVariants(This); } /*** IDWriteFontFace2 methods ***/ static inline WINBOOL IDWriteFontFace7_IsColorFont(IDWriteFontFace7* This) { - return This->lpVtbl->IsColorFont(This); + return This->lpVtbl->IsColorFont(This); } static inline UINT32 IDWriteFontFace7_GetColorPaletteCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetColorPaletteCount(This); + return This->lpVtbl->GetColorPaletteCount(This); } static inline UINT32 IDWriteFontFace7_GetPaletteEntryCount(IDWriteFontFace7* This) { - return This->lpVtbl->GetPaletteEntryCount(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); +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 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 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); + return This->lpVtbl->GetWeight(This); } static inline DWRITE_FONT_STRETCH IDWriteFontFace7_GetStretch(IDWriteFontFace7* This) { - return This->lpVtbl->GetStretch(This); + return This->lpVtbl->GetStretch(This); } static inline DWRITE_FONT_STYLE IDWriteFontFace7_GetStyle(IDWriteFontFace7* This) { - return This->lpVtbl->GetStyle(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 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 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 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_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 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_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); +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 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); + 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 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); +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); + 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 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); + return This->lpVtbl->HasVariations(This); } -static inline HRESULT IDWriteFontFace7_GetFontResource(IDWriteFontFace7* This,IDWriteFontResource **resource) { - return This->lpVtbl->GetFontResource(This,resource); +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); +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_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); +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 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); +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__ */ +#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; +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; + UINT32 _pad; #endif - DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; - DWRITE_MEASURING_MODE measuringMode; + DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; + DWRITE_MEASURING_MODE measuringMode; }; /***************************************************************************** * IDWriteColorGlyphRunEnumerator1 interface @@ -11282,91 +11142,88 @@ struct DWRITE_COLOR_GLYPH_RUN1 #ifndef __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ #define __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8,0xe1, 0x55,0xa1,0x79,0xfe,0x5a,0x35); +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; - +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) +__CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator1, 0x7c5f86da, 0xc7a1, 0x4f05, 0xb8, 0xe1, 0x55, 0xa1, 0x79, 0xfe, 0x5a, 0x35) #endif #else typedef struct IDWriteColorGlyphRunEnumerator1Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteColorGlyphRunEnumerator1 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteColorGlyphRunEnumerator1* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteColorGlyphRunEnumerator1 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteColorGlyphRunEnumerator1* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteColorGlyphRunEnumerator1 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteColorGlyphRunEnumerator1* This); - /*** IDWriteColorGlyphRunEnumerator methods ***/ - HRESULT (STDMETHODCALLTYPE *MoveNext)( - IDWriteColorGlyphRunEnumerator1 *This, - WINBOOL *hasRun); + /*** IDWriteColorGlyphRunEnumerator methods ***/ + HRESULT(STDMETHODCALLTYPE* MoveNext)( + IDWriteColorGlyphRunEnumerator1* This, + WINBOOL* hasRun); - HRESULT (STDMETHODCALLTYPE *GetCurrentRun)( - IDWriteColorGlyphRunEnumerator1 *This, - const DWRITE_COLOR_GLYPH_RUN **run); + 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); + /*** IDWriteColorGlyphRunEnumerator1 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteColorGlyphRunEnumerator1_GetCurrentRun)( + IDWriteColorGlyphRunEnumerator1* This, + const DWRITE_COLOR_GLYPH_RUN1** run); - END_INTERFACE + END_INTERFACE } IDWriteColorGlyphRunEnumerator1Vtbl; interface IDWriteColorGlyphRunEnumerator1 { - CONST_VTBL IDWriteColorGlyphRunEnumerator1Vtbl* lpVtbl; + 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_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) +#define IDWriteColorGlyphRunEnumerator1_MoveNext(This, hasRun) (This)->lpVtbl->MoveNext(This, hasRun) /*** IDWriteColorGlyphRunEnumerator1 methods ***/ -#define IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) (This)->lpVtbl->IDWriteColorGlyphRunEnumerator1_GetCurrentRun(This,run) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteColorGlyphRunEnumerator1_Release(IDWriteColorGlyphRunEnumerator1* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteColorGlyphRunEnumerator methods ***/ -static inline HRESULT IDWriteColorGlyphRunEnumerator1_MoveNext(IDWriteColorGlyphRunEnumerator1* This,WINBOOL *hasRun) { - return This->lpVtbl->MoveNext(This,hasRun); +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); +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__ */ +#endif /* __IDWriteColorGlyphRunEnumerator1_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory4 interface @@ -11374,509 +11231,506 @@ static inline HRESULT IDWriteColorGlyphRunEnumerator1_GetCurrentRun(IDWriteColor #ifndef __IDWriteFactory4_INTERFACE_DEFINED__ #define __IDWriteFactory4_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a,0xc5, 0xfe,0x91,0x5c,0xc5,0x38,0x56); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteFactory4, 0x4b0b5bd3, 0x0797, 0x4549, 0x8a, 0xc5, 0xfe, 0x91, 0x5c, 0xc5, 0x38, 0x56) #endif #else typedef struct IDWriteFactory4Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory4 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory4* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory4 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory4* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory4 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory4* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory4 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory4* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory4 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory4* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory4* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory4 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory4* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory4* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory4 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory4* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory4 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory4* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory4 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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); + /*** 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* 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, + 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* 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* GetSystemFontSet)( + IDWriteFactory4* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( - IDWriteFactory4 *This, - IDWriteFontSetBuilder **builder); + HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( + IDWriteFactory4* This, + IDWriteFontSetBuilder** builder); - HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( - IDWriteFactory4 *This, - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); + 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* IDWriteFactory3_GetSystemFontCollection)( + IDWriteFactory4* This, + WINBOOL include_downloadable, + IDWriteFontCollection1** collection, + WINBOOL check_for_updates); - HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( - IDWriteFactory4 *This, - IDWriteFontDownloadQueue **queue); + 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); + /*** 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, + 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); + 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 + END_INTERFACE } IDWriteFactory4Vtbl; interface IDWriteFactory4 { - CONST_VTBL IDWriteFactory4Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory4_Release(IDWriteFactory4* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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); +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_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_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, 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_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_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_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_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_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); +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_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, 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); +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__ */ +#endif /* __IDWriteFactory4_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteAsyncResult interface @@ -11884,55 +11738,51 @@ static inline HRESULT IDWriteFactory4_ComputeGlyphOrigins(IDWriteFactory4* This, #ifndef __IDWriteAsyncResult_INTERFACE_DEFINED__ #define __IDWriteAsyncResult_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96,0x51, 0xc1,0xf8,0x8d,0xc7,0x3f,0xe2); +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; +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) +__CRT_UUID_DECL(IDWriteAsyncResult, 0xce25f8fd, 0x863b, 0x4d13, 0x96, 0x51, 0xc1, 0xf8, 0x8d, 0xc7, 0x3f, 0xe2) #endif #else typedef struct IDWriteAsyncResultVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteAsyncResult *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteAsyncResult* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteAsyncResult *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteAsyncResult* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteAsyncResult *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteAsyncResult* This); - /*** IDWriteAsyncResult methods ***/ - HANDLE (STDMETHODCALLTYPE *GetWaitHandle)( - IDWriteAsyncResult *This); + /*** IDWriteAsyncResult methods ***/ + HANDLE(STDMETHODCALLTYPE* GetWaitHandle)( + IDWriteAsyncResult* This); - HRESULT (STDMETHODCALLTYPE *GetResult)( - IDWriteAsyncResult *This); + HRESULT(STDMETHODCALLTYPE* GetResult)( + IDWriteAsyncResult* This); - END_INTERFACE + END_INTERFACE } IDWriteAsyncResultVtbl; interface IDWriteAsyncResult { - CONST_VTBL IDWriteAsyncResultVtbl* lpVtbl; + 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_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 ***/ @@ -11940,33 +11790,32 @@ interface IDWriteAsyncResult { #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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteAsyncResult_Release(IDWriteAsyncResult* This) { - return This->lpVtbl->Release(This); + return This->lpVtbl->Release(This); } /*** IDWriteAsyncResult methods ***/ static inline HANDLE IDWriteAsyncResult_GetWaitHandle(IDWriteAsyncResult* This) { - return This->lpVtbl->GetWaitHandle(This); + return This->lpVtbl->GetWaitHandle(This); } static inline HRESULT IDWriteAsyncResult_GetResult(IDWriteAsyncResult* This) { - return This->lpVtbl->GetResult(This); + return This->lpVtbl->GetResult(This); } #endif #endif #endif - -#endif /* __IDWriteAsyncResult_INTERFACE_DEFINED__ */ +#endif /* __IDWriteAsyncResult_INTERFACE_DEFINED__ */ typedef struct DWRITE_FILE_FRAGMENT { - UINT64 fileOffset; - UINT64 fragmentSize; + UINT64 fileOffset; + UINT64 fragmentSize; } DWRITE_FILE_FRAGMENT; /***************************************************************************** * IDWriteRemoteFontFileStream interface @@ -11974,163 +11823,159 @@ typedef struct DWRITE_FILE_FRAGMENT { #ifndef __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ #define __IDWriteRemoteFontFileStream_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2,0xb6, 0x1a,0xba,0xbe,0x1a,0xff,0x9c); +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; +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 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; + 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) +__CRT_UUID_DECL(IDWriteRemoteFontFileStream, 0x4db3757a, 0x2c72, 0x4ed9, 0xb2, 0xb6, 0x1a, 0xba, 0xbe, 0x1a, 0xff, 0x9c) #endif #else typedef struct IDWriteRemoteFontFileStreamVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteRemoteFontFileStream *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteRemoteFontFileStream* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteRemoteFontFileStream *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteRemoteFontFileStream* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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); + void(STDMETHODCALLTYPE* ReleaseFileFragment)( + IDWriteRemoteFontFileStream* This, + void* fragment_context); - HRESULT (STDMETHODCALLTYPE *GetFileSize)( - IDWriteRemoteFontFileStream *This, - UINT64 *size); + HRESULT(STDMETHODCALLTYPE* GetFileSize)( + IDWriteRemoteFontFileStream* This, + UINT64* size); - HRESULT (STDMETHODCALLTYPE *GetLastWriteTime)( - IDWriteRemoteFontFileStream *This, - UINT64 *last_writetime); + HRESULT(STDMETHODCALLTYPE* GetLastWriteTime)( + IDWriteRemoteFontFileStream* This, + UINT64* last_writetime); - /*** IDWriteRemoteFontFileStream methods ***/ - HRESULT (STDMETHODCALLTYPE *GetLocalFileSize)( - IDWriteRemoteFontFileStream *This, - UINT64 *size); + /*** IDWriteRemoteFontFileStream methods ***/ + HRESULT(STDMETHODCALLTYPE* GetLocalFileSize)( + IDWriteRemoteFontFileStream* This, + UINT64* size); - HRESULT (STDMETHODCALLTYPE *GetFileFragmentLocality)( - IDWriteRemoteFontFileStream *This, - UINT64 offset, - UINT64 size, - WINBOOL *is_local, - UINT64 *partial_size); + HRESULT(STDMETHODCALLTYPE* GetFileFragmentLocality)( + IDWriteRemoteFontFileStream* This, + UINT64 offset, + UINT64 size, + WINBOOL* is_local, + UINT64* partial_size); - DWRITE_LOCALITY (STDMETHODCALLTYPE *GetLocality)( - IDWriteRemoteFontFileStream *This); + 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); + HRESULT(STDMETHODCALLTYPE* BeginDownload)( + IDWriteRemoteFontFileStream* This, + const GUID* operation_id, + const DWRITE_FILE_FRAGMENT* fragments, + UINT32 fragment_count, + IDWriteAsyncResult** async_result); - END_INTERFACE + END_INTERFACE } IDWriteRemoteFontFileStreamVtbl; interface IDWriteRemoteFontFileStream { - CONST_VTBL IDWriteRemoteFontFileStreamVtbl* lpVtbl; + 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_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) +#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_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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteRemoteFontFileStream_Release(IDWriteRemoteFontFileStream* This) { - return This->lpVtbl->Release(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 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 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_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); +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_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 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); + 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); +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__ */ +#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_UNKNOWN = 0, + DWRITE_CONTAINER_TYPE_WOFF = 1, + DWRITE_CONTAINER_TYPE_WOFF2 = 2 } DWRITE_CONTAINER_TYPE; /***************************************************************************** * IDWriteRemoteFontFileLoader interface @@ -12138,125 +11983,122 @@ typedef enum DWRITE_CONTAINER_TYPE { #ifndef __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ #define __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab,0x46, 0x20,0x08,0x3a,0x88,0x7f,0xde); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteRemoteFontFileLoader, 0x68648c83, 0x6ede, 0x46c0, 0xab, 0x46, 0x20, 0x08, 0x3a, 0x88, 0x7f, 0xde) #endif #else typedef struct IDWriteRemoteFontFileLoaderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteRemoteFontFileLoader *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteRemoteFontFileLoader* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteRemoteFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteRemoteFontFileLoader* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteRemoteFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteRemoteFontFileLoader* This); - /*** IDWriteFontFileLoader methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( - IDWriteRemoteFontFileLoader *This, - const void *key, - UINT32 key_size, - IDWriteFontFileStream **stream); + /*** 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); + /*** 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* 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); + HRESULT(STDMETHODCALLTYPE* CreateFontFileReferenceFromUrl)( + IDWriteRemoteFontFileLoader* This, + IDWriteFactory* factory, + const WCHAR* base_url, + const WCHAR* file_url, + IDWriteFontFile** fontfile); - END_INTERFACE + END_INTERFACE } IDWriteRemoteFontFileLoaderVtbl; interface IDWriteRemoteFontFileLoader { - CONST_VTBL IDWriteRemoteFontFileLoaderVtbl* lpVtbl; + 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_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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteRemoteFontFileLoader_Release(IDWriteRemoteFontFileLoader* This) { - return This->lpVtbl->Release(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); +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_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_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); +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__ */ +#endif /* __IDWriteRemoteFontFileLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteInMemoryFontFileLoader interface @@ -12264,107 +12106,103 @@ static inline HRESULT IDWriteRemoteFontFileLoader_CreateFontFileReferenceFromUrl #ifndef __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ #define __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82,0x2d, 0x9e,0x11,0x7e,0x33,0x04,0x3f); +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; +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) +__CRT_UUID_DECL(IDWriteInMemoryFontFileLoader, 0xdc102f47, 0xa12d, 0x4b1c, 0x82, 0x2d, 0x9e, 0x11, 0x7e, 0x33, 0x04, 0x3f) #endif #else typedef struct IDWriteInMemoryFontFileLoaderVtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteInMemoryFontFileLoader *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteInMemoryFontFileLoader* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteInMemoryFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteInMemoryFontFileLoader* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteInMemoryFontFileLoader *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteInMemoryFontFileLoader* This); - /*** IDWriteFontFileLoader methods ***/ - HRESULT (STDMETHODCALLTYPE *CreateStreamFromKey)( - IDWriteInMemoryFontFileLoader *This, - const void *key, - UINT32 key_size, - IDWriteFontFileStream **stream); + /*** 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); + /*** IDWriteInMemoryFontFileLoader methods ***/ + HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileReference)( + IDWriteInMemoryFontFileLoader* This, + IDWriteFactory* factory, + const void* data, + UINT32 data_size, + IUnknown* owner, + IDWriteFontFile** fontfile); - UINT32 (STDMETHODCALLTYPE *GetFileCount)( - IDWriteInMemoryFontFileLoader *This); + UINT32(STDMETHODCALLTYPE* GetFileCount)( + IDWriteInMemoryFontFileLoader* This); - END_INTERFACE + END_INTERFACE } IDWriteInMemoryFontFileLoaderVtbl; interface IDWriteInMemoryFontFileLoader { - CONST_VTBL IDWriteInMemoryFontFileLoaderVtbl* lpVtbl; + 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_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) +#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_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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteInMemoryFontFileLoader_Release(IDWriteInMemoryFontFileLoader* This) { - return This->lpVtbl->Release(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); +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 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); + return This->lpVtbl->GetFileCount(This); } #endif #endif #endif - -#endif /* __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ */ +#endif /* __IDWriteInMemoryFontFileLoader_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory5 interface @@ -12372,553 +12210,550 @@ static inline UINT32 IDWriteInMemoryFontFileLoader_GetFileCount(IDWriteInMemoryF #ifndef __IDWriteFactory5_INTERFACE_DEFINED__ #define __IDWriteFactory5_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf,0x7d, 0x65,0x18,0x98,0x03,0xd1,0xd3); +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; +IDWriteFactory5 : public IDWriteFactory4 { + virtual HRESULT STDMETHODCALLTYPE CreateFontSetBuilder( + IDWriteFontSetBuilder1 * *fontset_builder) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileLoader( - IDWriteInMemoryFontFileLoader **loader) = 0; + virtual HRESULT STDMETHODCALLTYPE CreateInMemoryFontFileLoader( + IDWriteInMemoryFontFileLoader * *loader) = 0; - virtual HRESULT STDMETHODCALLTYPE CreateHttpFontFileLoader( - const WCHAR *referrer_url, - const WCHAR *extra_headers, - IDWriteRemoteFontFileLoader **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; + 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) +__CRT_UUID_DECL(IDWriteFactory5, 0x958db99a, 0xbe2a, 0x4f09, 0xaf, 0x7d, 0x65, 0x18, 0x98, 0x03, 0xd1, 0xd3) #endif #else typedef struct IDWriteFactory5Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory5 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory5* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory5 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory5* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory5 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory5* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory5 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory5* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory5 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory5* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory5* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory5 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory5* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory5* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory5 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory5* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory5 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory5* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory5 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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); + /*** 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* 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, + 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* 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* GetSystemFontSet)( + IDWriteFactory5* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( - IDWriteFactory5 *This, - IDWriteFontSetBuilder **builder); + HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( + IDWriteFactory5* This, + IDWriteFontSetBuilder** builder); - HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( - IDWriteFactory5 *This, - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); + 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* IDWriteFactory3_GetSystemFontCollection)( + IDWriteFactory5* This, + WINBOOL include_downloadable, + IDWriteFontCollection1** collection, + WINBOOL check_for_updates); - HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( - IDWriteFactory5 *This, - IDWriteFontDownloadQueue **queue); + 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); + /*** 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, + 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); + 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); + /*** IDWriteFactory5 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( + IDWriteFactory5* This, + IDWriteFontSetBuilder1** fontset_builder); - HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( - IDWriteFactory5 *This, - IDWriteInMemoryFontFileLoader **loader); + HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( + IDWriteFactory5* This, + IDWriteInMemoryFontFileLoader** loader); - HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( - IDWriteFactory5 *This, - const WCHAR *referrer_url, - const WCHAR *extra_headers, - IDWriteRemoteFontFileLoader **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); + 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); + HRESULT(STDMETHODCALLTYPE* UnpackFontFile)( + IDWriteFactory5* This, + DWRITE_CONTAINER_TYPE container_type, + const void* data, + UINT32 data_size, + IDWriteFontFileStream** stream); - END_INTERFACE + END_INTERFACE } IDWriteFactory5Vtbl; interface IDWriteFactory5 { - CONST_VTBL IDWriteFactory5Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory5_Release(IDWriteFactory5* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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); +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_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_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, 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_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_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_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_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); +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_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, 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); +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_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_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 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 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); +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__ */ +#endif /* __IDWriteFactory5_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory6 interface @@ -12926,624 +12761,621 @@ static inline HRESULT IDWriteFactory5_UnpackFontFile(IDWriteFactory5* This,DWRIT #ifndef __IDWriteFactory6_INTERFACE_DEFINED__ #define __IDWriteFactory6_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3,0x5d, 0x99,0x5b,0xc7,0x2f,0xc2,0x23); +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; +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 CreateFontResource( + IDWriteFontFile * file, + UINT32 face_index, + IDWriteFontResource * *resource) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSystemFontSet( - WINBOOL include_downloadable, - IDWriteFontSet1 **fontset) = 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 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 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; + 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) +__CRT_UUID_DECL(IDWriteFactory6, 0xf3744d80, 0x21f7, 0x42eb, 0xb3, 0x5d, 0x99, 0x5b, 0xc7, 0x2f, 0xc2, 0x23) #endif #else typedef struct IDWriteFactory6Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory6 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory6* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory6 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory6* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory6 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory6* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory6 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory6* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory6 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory6* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory6* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory6 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory6* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory6* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory6 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory6* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory6 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory6* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory6 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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); + /*** 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* 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, + 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* 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* GetSystemFontSet)( + IDWriteFactory6* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( - IDWriteFactory6 *This, - IDWriteFontSetBuilder **builder); + HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( + IDWriteFactory6* This, + IDWriteFontSetBuilder** builder); - HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( - IDWriteFactory6 *This, - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); + 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* IDWriteFactory3_GetSystemFontCollection)( + IDWriteFactory6* This, + WINBOOL include_downloadable, + IDWriteFontCollection1** collection, + WINBOOL check_for_updates); - HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( - IDWriteFactory6 *This, - IDWriteFontDownloadQueue **queue); + 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); + /*** 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, + 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); + 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); + /*** IDWriteFactory5 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( + IDWriteFactory6* This, + IDWriteFontSetBuilder1** fontset_builder); - HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( - IDWriteFactory6 *This, - IDWriteInMemoryFontFileLoader **loader); + HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( + IDWriteFactory6* This, + IDWriteInMemoryFontFileLoader** loader); - HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( - IDWriteFactory6 *This, - const WCHAR *referrer_url, - const WCHAR *extra_headers, - IDWriteRemoteFontFileLoader **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); + 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); + 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); + /*** 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* CreateFontResource)( + IDWriteFactory6* This, + IDWriteFontFile* file, + UINT32 face_index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( - IDWriteFactory6 *This, - WINBOOL include_downloadable, - IDWriteFontSet1 **fontset); + 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_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_CreateFontCollectionFromFontSet)( + IDWriteFactory6* This, + IDWriteFontSet* fontset, + DWRITE_FONT_FAMILY_MODEL family_model, + IDWriteFontCollection2** collection); - HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( - IDWriteFactory6 *This, - IDWriteFontSetBuilder2 **builder); + 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); + 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 + END_INTERFACE } IDWriteFactory6Vtbl; interface IDWriteFactory6 { - CONST_VTBL IDWriteFactory6Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory6_Release(IDWriteFactory6* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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); +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_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_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_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); +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_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, 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); +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_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 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 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); +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_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_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_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_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_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_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); +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__ */ +#endif /* __IDWriteFactory6_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory7 interface @@ -13551,608 +13383,605 @@ static inline HRESULT IDWriteFactory6_CreateTextFormat(IDWriteFactory6* This,con #ifndef __IDWriteFactory7_INTERFACE_DEFINED__ #define __IDWriteFactory7_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0,0x16, 0xa9,0x1b,0x56,0x8a,0x06,0xb4); +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; +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) +__CRT_UUID_DECL(IDWriteFactory7, 0x35d0e0b3, 0x9076, 0x4d2e, 0xa0, 0x16, 0xa9, 0x1b, 0x56, 0x8a, 0x06, 0xb4) #endif #else typedef struct IDWriteFactory7Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory7 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory7* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory7 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory7* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory7 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory7* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory7 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory7* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory7 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory7* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory7* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory7 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory7* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory7* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory7 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory7* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory7 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory7* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory7 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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); + /*** 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* 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, + 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* 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* GetSystemFontSet)( + IDWriteFactory7* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( - IDWriteFactory7 *This, - IDWriteFontSetBuilder **builder); + HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( + IDWriteFactory7* This, + IDWriteFontSetBuilder** builder); - HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( - IDWriteFactory7 *This, - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); + 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* IDWriteFactory3_GetSystemFontCollection)( + IDWriteFactory7* This, + WINBOOL include_downloadable, + IDWriteFontCollection1** collection, + WINBOOL check_for_updates); - HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( - IDWriteFactory7 *This, - IDWriteFontDownloadQueue **queue); + 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); + /*** 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, + 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); + 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); + /*** IDWriteFactory5 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( + IDWriteFactory7* This, + IDWriteFontSetBuilder1** fontset_builder); - HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( - IDWriteFactory7 *This, - IDWriteInMemoryFontFileLoader **loader); + HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( + IDWriteFactory7* This, + IDWriteInMemoryFontFileLoader** loader); - HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( - IDWriteFactory7 *This, - const WCHAR *referrer_url, - const WCHAR *extra_headers, - IDWriteRemoteFontFileLoader **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); + 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); + 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); + /*** 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* CreateFontResource)( + IDWriteFactory7* This, + IDWriteFontFile* file, + UINT32 face_index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( - IDWriteFactory7 *This, - WINBOOL include_downloadable, - IDWriteFontSet1 **fontset); + 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_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_CreateFontCollectionFromFontSet)( + IDWriteFactory7* This, + IDWriteFontSet* fontset, + DWRITE_FONT_FAMILY_MODEL family_model, + IDWriteFontCollection2** collection); - HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( - IDWriteFactory7 *This, - IDWriteFontSetBuilder2 **builder); + 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); + 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); + /*** 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); + HRESULT(STDMETHODCALLTYPE* IDWriteFactory7_GetSystemFontCollection)( + IDWriteFactory7* This, + WINBOOL include_downloadable, + DWRITE_FONT_FAMILY_MODEL family_model, + IDWriteFontCollection3** collection); - END_INTERFACE + END_INTERFACE } IDWriteFactory7Vtbl; interface IDWriteFactory7 { - CONST_VTBL IDWriteFactory7Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory7_Release(IDWriteFactory7* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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); +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_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_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_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); +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_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, 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); +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_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 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 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); +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_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_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_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_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); +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_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); +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__ */ +#endif /* __IDWriteFactory7_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteFactory8 interface @@ -14160,630 +13989,627 @@ static inline HRESULT IDWriteFactory7_GetSystemFontCollection(IDWriteFactory7* T #ifndef __IDWriteFactory8_INTERFACE_DEFINED__ #define __IDWriteFactory8_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4,0x54, 0xc9,0xc7,0xdc,0x87,0x83,0x98); +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; - +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) +__CRT_UUID_DECL(IDWriteFactory8, 0xee0a7fb5, 0xdef4, 0x4c23, 0xa4, 0x54, 0xc9, 0xc7, 0xdc, 0x87, 0x83, 0x98) #endif #else typedef struct IDWriteFactory8Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteFactory8 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteFactory8* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteFactory8 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteFactory8* This); - ULONG (STDMETHODCALLTYPE *Release)( - IDWriteFactory8 *This); + ULONG(STDMETHODCALLTYPE* Release)( + IDWriteFactory8* This); - /*** IDWriteFactory methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSystemFontCollection)( - IDWriteFactory8 *This, - IDWriteFontCollection **collection, - WINBOOL check_for_updates); + /*** 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* CreateCustomFontCollection)( + IDWriteFactory8* This, + IDWriteFontCollectionLoader* loader, + const void* key, + UINT32 key_size, + IDWriteFontCollection** collection); - HRESULT (STDMETHODCALLTYPE *RegisterFontCollectionLoader)( - IDWriteFactory8 *This, - IDWriteFontCollectionLoader *loader); + HRESULT(STDMETHODCALLTYPE* RegisterFontCollectionLoader)( + IDWriteFactory8* This, + IDWriteFontCollectionLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontCollectionLoader)( - 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* 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* 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* 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* CreateRenderingParams)( + IDWriteFactory8* This, + IDWriteRenderingParams** params); - HRESULT (STDMETHODCALLTYPE *CreateMonitorRenderingParams)( - IDWriteFactory8 *This, - HMONITOR monitor, - 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* 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* RegisterFontFileLoader)( + IDWriteFactory8* This, + IDWriteFontFileLoader* loader); - HRESULT (STDMETHODCALLTYPE *UnregisterFontFileLoader)( - 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* 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* CreateTypography)( + IDWriteFactory8* This, + IDWriteTypography** typography); - HRESULT (STDMETHODCALLTYPE *GetGdiInterop)( - IDWriteFactory8 *This, - IDWriteGdiInterop **gdi_interop); + 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* 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* 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* CreateEllipsisTrimmingSign)( + IDWriteFactory8* This, + IDWriteTextFormat* format, + IDWriteInlineObject** trimming_sign); - HRESULT (STDMETHODCALLTYPE *CreateTextAnalyzer)( - IDWriteFactory8 *This, - IDWriteTextAnalyzer **analyzer); + 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* 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); + 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); + /*** 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); + 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); + /*** IDWriteFactory2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetSystemFontFallback)( + IDWriteFactory8* This, + IDWriteFontFallback** fallback); - HRESULT (STDMETHODCALLTYPE *CreateFontFallbackBuilder)( - IDWriteFactory8 *This, - IDWriteFontFallbackBuilder **fallbackbuilder); + 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* 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_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); + 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); + /*** 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* 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, + 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* 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* GetSystemFontSet)( + IDWriteFactory8* This, + IDWriteFontSet** fontset); - HRESULT (STDMETHODCALLTYPE *CreateFontSetBuilder)( - IDWriteFactory8 *This, - IDWriteFontSetBuilder **builder); + HRESULT(STDMETHODCALLTYPE* CreateFontSetBuilder)( + IDWriteFactory8* This, + IDWriteFontSetBuilder** builder); - HRESULT (STDMETHODCALLTYPE *CreateFontCollectionFromFontSet)( - IDWriteFactory8 *This, - IDWriteFontSet *fontset, - IDWriteFontCollection1 **collection); + 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* IDWriteFactory3_GetSystemFontCollection)( + IDWriteFactory8* This, + WINBOOL include_downloadable, + IDWriteFontCollection1** collection, + WINBOOL check_for_updates); - HRESULT (STDMETHODCALLTYPE *GetFontDownloadQueue)( - IDWriteFactory8 *This, - IDWriteFontDownloadQueue **queue); + 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); + /*** 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, + 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); + 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); + /*** IDWriteFactory5 methods ***/ + HRESULT(STDMETHODCALLTYPE* IDWriteFactory5_CreateFontSetBuilder)( + IDWriteFactory8* This, + IDWriteFontSetBuilder1** fontset_builder); - HRESULT (STDMETHODCALLTYPE *CreateInMemoryFontFileLoader)( - IDWriteFactory8 *This, - IDWriteInMemoryFontFileLoader **loader); + HRESULT(STDMETHODCALLTYPE* CreateInMemoryFontFileLoader)( + IDWriteFactory8* This, + IDWriteInMemoryFontFileLoader** loader); - HRESULT (STDMETHODCALLTYPE *CreateHttpFontFileLoader)( - IDWriteFactory8 *This, - const WCHAR *referrer_url, - const WCHAR *extra_headers, - IDWriteRemoteFontFileLoader **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); + 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); + 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); + /*** 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* CreateFontResource)( + IDWriteFactory8* This, + IDWriteFontFile* file, + UINT32 face_index, + IDWriteFontResource** resource); - HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_GetSystemFontSet)( - IDWriteFactory8 *This, - WINBOOL include_downloadable, - IDWriteFontSet1 **fontset); + 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_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_CreateFontCollectionFromFontSet)( + IDWriteFactory8* This, + IDWriteFontSet* fontset, + DWRITE_FONT_FAMILY_MODEL family_model, + IDWriteFontCollection2** collection); - HRESULT (STDMETHODCALLTYPE *IDWriteFactory6_CreateFontSetBuilder)( - IDWriteFactory8 *This, - IDWriteFontSetBuilder2 **builder); + 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); + 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); + /*** 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); + 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); + /*** 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 + END_INTERFACE } IDWriteFactory8Vtbl; interface IDWriteFactory8 { - CONST_VTBL IDWriteFactory8Vtbl* lpVtbl; + 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_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) +#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) +#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) +#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) +#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) +#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) +#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) +#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) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteFactory8_Release(IDWriteFactory8* This) { - return This->lpVtbl->Release(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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); +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); +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_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); +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_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_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_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); +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, 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); +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_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 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 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); +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_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_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_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_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); +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_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); +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); +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__ */ +#endif /* __IDWriteFactory8_INTERFACE_DEFINED__ */ typedef struct DWRITE_BITMAP_DATA_BGRA32 { - UINT32 width; - UINT32 height; - UINT32 *pixels; + UINT32 width; + UINT32 height; + UINT32* pixels; } DWRITE_BITMAP_DATA_BGRA32; /***************************************************************************** * IDWriteBitmapRenderTarget2 interface @@ -14791,166 +14617,163 @@ typedef struct DWRITE_BITMAP_DATA_BGRA32 { #ifndef __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ #define __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6,0x6e, 0xb8,0xb9,0xed,0x6c,0x39,0x95); +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; - +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) +__CRT_UUID_DECL(IDWriteBitmapRenderTarget2, 0xc553a742, 0xfc01, 0x44da, 0xa6, 0x6e, 0xb8, 0xb9, 0xed, 0x6c, 0x39, 0x95) #endif #else typedef struct IDWriteBitmapRenderTarget2Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteBitmapRenderTarget2 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteBitmapRenderTarget2* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteBitmapRenderTarget2 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteBitmapRenderTarget2* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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); + HDC(STDMETHODCALLTYPE* GetMemoryDC)( + IDWriteBitmapRenderTarget2* This); - FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( - IDWriteBitmapRenderTarget2 *This); + FLOAT(STDMETHODCALLTYPE* GetPixelsPerDip)( + IDWriteBitmapRenderTarget2* This); - HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( - IDWriteBitmapRenderTarget2 *This, - FLOAT pixels_per_dip); + HRESULT(STDMETHODCALLTYPE* SetPixelsPerDip)( + IDWriteBitmapRenderTarget2* This, + FLOAT pixels_per_dip); - HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( - IDWriteBitmapRenderTarget2 *This, - DWRITE_MATRIX *transform); + HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( + IDWriteBitmapRenderTarget2* This, + DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( - IDWriteBitmapRenderTarget2 *This, - const DWRITE_MATRIX *transform); + HRESULT(STDMETHODCALLTYPE* SetCurrentTransform)( + IDWriteBitmapRenderTarget2* This, + const DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *GetSize)( - IDWriteBitmapRenderTarget2 *This, - SIZE *size); + HRESULT(STDMETHODCALLTYPE* GetSize)( + IDWriteBitmapRenderTarget2* This, + SIZE* size); - HRESULT (STDMETHODCALLTYPE *Resize)( - IDWriteBitmapRenderTarget2 *This, - UINT32 width, - UINT32 height); + HRESULT(STDMETHODCALLTYPE* Resize)( + IDWriteBitmapRenderTarget2* This, + UINT32 width, + UINT32 height); - /*** IDWriteBitmapRenderTarget1 methods ***/ - DWRITE_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( - IDWriteBitmapRenderTarget2 *This); + /*** IDWriteBitmapRenderTarget1 methods ***/ + DWRITE_TEXT_ANTIALIAS_MODE(STDMETHODCALLTYPE* GetTextAntialiasMode)( + IDWriteBitmapRenderTarget2* This); - HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( - IDWriteBitmapRenderTarget2 *This, - DWRITE_TEXT_ANTIALIAS_MODE mode); + HRESULT(STDMETHODCALLTYPE* SetTextAntialiasMode)( + IDWriteBitmapRenderTarget2* This, + DWRITE_TEXT_ANTIALIAS_MODE mode); - /*** IDWriteBitmapRenderTarget2 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetBitmapData)( - IDWriteBitmapRenderTarget2 *This, - DWRITE_BITMAP_DATA_BGRA32 *bitmap_data); + /*** IDWriteBitmapRenderTarget2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetBitmapData)( + IDWriteBitmapRenderTarget2* This, + DWRITE_BITMAP_DATA_BGRA32* bitmap_data); - END_INTERFACE + END_INTERFACE } IDWriteBitmapRenderTarget2Vtbl; interface IDWriteBitmapRenderTarget2 { - CONST_VTBL IDWriteBitmapRenderTarget2Vtbl* lpVtbl; + 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_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_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) +#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) +#define IDWriteBitmapRenderTarget2_SetTextAntialiasMode(This, mode) (This)->lpVtbl->SetTextAntialiasMode(This, mode) /*** IDWriteBitmapRenderTarget2 methods ***/ -#define IDWriteBitmapRenderTarget2_GetBitmapData(This,bitmap_data) (This)->lpVtbl->GetBitmapData(This,bitmap_data) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteBitmapRenderTarget2_Release(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetMemoryDC(This); } static inline FLOAT IDWriteBitmapRenderTarget2_GetPixelsPerDip(IDWriteBitmapRenderTarget2* This) { - return This->lpVtbl->GetPixelsPerDip(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_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_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_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_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); +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); + return This->lpVtbl->GetTextAntialiasMode(This); } -static inline HRESULT IDWriteBitmapRenderTarget2_SetTextAntialiasMode(IDWriteBitmapRenderTarget2* This,DWRITE_TEXT_ANTIALIAS_MODE mode) { - return This->lpVtbl->SetTextAntialiasMode(This,mode); +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); +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__ */ +#endif /* __IDWriteBitmapRenderTarget2_INTERFACE_DEFINED__ */ /***************************************************************************** * IDWriteBitmapRenderTarget3 interface @@ -14958,230 +14781,225 @@ static inline HRESULT IDWriteBitmapRenderTarget2_GetBitmapData(IDWriteBitmapRend #ifndef __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ #define __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ -DEFINE_GUID(IID_IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e,0x2a, 0x9a,0x41,0xb1,0x67,0xb2,0x38); +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; +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; + 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) +__CRT_UUID_DECL(IDWriteBitmapRenderTarget3, 0xaeec37db, 0xc337, 0x40f1, 0x8e, 0x2a, 0x9a, 0x41, 0xb1, 0x67, 0xb2, 0x38) #endif #else typedef struct IDWriteBitmapRenderTarget3Vtbl { - BEGIN_INTERFACE + BEGIN_INTERFACE - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDWriteBitmapRenderTarget3 *This, - REFIID riid, - void **ppvObject); + /*** IUnknown methods ***/ + HRESULT(STDMETHODCALLTYPE* QueryInterface)( + IDWriteBitmapRenderTarget3* This, + REFIID riid, + void** ppvObject); - ULONG (STDMETHODCALLTYPE *AddRef)( - IDWriteBitmapRenderTarget3 *This); + ULONG(STDMETHODCALLTYPE* AddRef)( + IDWriteBitmapRenderTarget3* This); - ULONG (STDMETHODCALLTYPE *Release)( - 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); + /*** 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); + HDC(STDMETHODCALLTYPE* GetMemoryDC)( + IDWriteBitmapRenderTarget3* This); - FLOAT (STDMETHODCALLTYPE *GetPixelsPerDip)( - IDWriteBitmapRenderTarget3 *This); + FLOAT(STDMETHODCALLTYPE* GetPixelsPerDip)( + IDWriteBitmapRenderTarget3* This); - HRESULT (STDMETHODCALLTYPE *SetPixelsPerDip)( - IDWriteBitmapRenderTarget3 *This, - FLOAT pixels_per_dip); + HRESULT(STDMETHODCALLTYPE* SetPixelsPerDip)( + IDWriteBitmapRenderTarget3* This, + FLOAT pixels_per_dip); - HRESULT (STDMETHODCALLTYPE *GetCurrentTransform)( - IDWriteBitmapRenderTarget3 *This, - DWRITE_MATRIX *transform); + HRESULT(STDMETHODCALLTYPE* GetCurrentTransform)( + IDWriteBitmapRenderTarget3* This, + DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *SetCurrentTransform)( - IDWriteBitmapRenderTarget3 *This, - const DWRITE_MATRIX *transform); + HRESULT(STDMETHODCALLTYPE* SetCurrentTransform)( + IDWriteBitmapRenderTarget3* This, + const DWRITE_MATRIX* transform); - HRESULT (STDMETHODCALLTYPE *GetSize)( - IDWriteBitmapRenderTarget3 *This, - SIZE *size); + HRESULT(STDMETHODCALLTYPE* GetSize)( + IDWriteBitmapRenderTarget3* This, + SIZE* size); - HRESULT (STDMETHODCALLTYPE *Resize)( - IDWriteBitmapRenderTarget3 *This, - UINT32 width, - UINT32 height); + HRESULT(STDMETHODCALLTYPE* Resize)( + IDWriteBitmapRenderTarget3* This, + UINT32 width, + UINT32 height); - /*** IDWriteBitmapRenderTarget1 methods ***/ - DWRITE_TEXT_ANTIALIAS_MODE (STDMETHODCALLTYPE *GetTextAntialiasMode)( - IDWriteBitmapRenderTarget3 *This); + /*** IDWriteBitmapRenderTarget1 methods ***/ + DWRITE_TEXT_ANTIALIAS_MODE(STDMETHODCALLTYPE* GetTextAntialiasMode)( + IDWriteBitmapRenderTarget3* This); - HRESULT (STDMETHODCALLTYPE *SetTextAntialiasMode)( - IDWriteBitmapRenderTarget3 *This, - DWRITE_TEXT_ANTIALIAS_MODE mode); + HRESULT(STDMETHODCALLTYPE* SetTextAntialiasMode)( + IDWriteBitmapRenderTarget3* This, + DWRITE_TEXT_ANTIALIAS_MODE mode); - /*** IDWriteBitmapRenderTarget2 methods ***/ - HRESULT (STDMETHODCALLTYPE *GetBitmapData)( - IDWriteBitmapRenderTarget3 *This, - DWRITE_BITMAP_DATA_BGRA32 *bitmap_data); + /*** IDWriteBitmapRenderTarget2 methods ***/ + HRESULT(STDMETHODCALLTYPE* GetBitmapData)( + IDWriteBitmapRenderTarget3* This, + DWRITE_BITMAP_DATA_BGRA32* bitmap_data); - /*** IDWriteBitmapRenderTarget3 methods ***/ - DWRITE_PAINT_FEATURE_LEVEL (STDMETHODCALLTYPE *GetPaintFeatureLevel)( - IDWriteBitmapRenderTarget3 *This); + /*** 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* 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); + 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 + END_INTERFACE } IDWriteBitmapRenderTarget3Vtbl; interface IDWriteBitmapRenderTarget3 { - CONST_VTBL IDWriteBitmapRenderTarget3Vtbl* lpVtbl; + 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_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_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) +#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) +#define IDWriteBitmapRenderTarget3_SetTextAntialiasMode(This, mode) (This)->lpVtbl->SetTextAntialiasMode(This, mode) /*** IDWriteBitmapRenderTarget2 methods ***/ -#define IDWriteBitmapRenderTarget3_GetBitmapData(This,bitmap_data) (This)->lpVtbl->GetBitmapData(This,bitmap_data) +#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) +#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 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); + return This->lpVtbl->AddRef(This); } static inline ULONG IDWriteBitmapRenderTarget3_Release(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->Release(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 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); + return This->lpVtbl->GetMemoryDC(This); } static inline FLOAT IDWriteBitmapRenderTarget3_GetPixelsPerDip(IDWriteBitmapRenderTarget3* This) { - return This->lpVtbl->GetPixelsPerDip(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_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_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_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_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); +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); + return This->lpVtbl->GetTextAntialiasMode(This); } -static inline HRESULT IDWriteBitmapRenderTarget3_SetTextAntialiasMode(IDWriteBitmapRenderTarget3* This,DWRITE_TEXT_ANTIALIAS_MODE mode) { - return This->lpVtbl->SetTextAntialiasMode(This,mode); +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); +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); + 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_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); +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__ */ +#endif /* __IDWriteBitmapRenderTarget3_INTERFACE_DEFINED__ */ /* Begin additional prototypes for all interfaces */ - /* End additional prototypes */ #ifdef __cplusplus diff --git a/src/text/ft2.c b/src/text/ft2.c index b83b06c..13e8208 100644 --- a/src/text/ft2.c +++ b/src/text/ft2.c @@ -159,7 +159,7 @@ static void ft2_MwFontFree(void* handle) { free(ttf); } -int MWFL_FT2Setup(void) { +int MwFL_FT2Setup(void) { /* Try and load FreeType2. If it fails, return 1, signifying we default to stbtt. */ void* ftlib; #ifdef __APPLE__ diff --git a/src/text/gdi.c b/src/text/gdi.c new file mode 100644 index 0000000..d3573b9 --- /dev/null +++ b/src/text/gdi.c @@ -0,0 +1,148 @@ +#ifdef USE_GDI_TEXT +#include + +struct _MwFLFont { + HANDLE handle; + HFONT font; + HDC dc; +}; + +static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, MwLLColor color) { + BITMAPINFOHEADER bmih; + int tw; + int th; + HBITMAP hbm; + RGBQUAD* bits = NULL; + HDC hmdc; + char* t = MwUTF8ToACP(text); + unsigned char* px; + int y, x; + MwRect r; + MwLLPixmap p; + + tw = MwTextWidth(handle, ttf, text); + th = MwTextHeight(handle, ttf, text); + + px = malloc(tw * th * 4); + + bmih.biSize = sizeof(bmih); + bmih.biWidth = tw; + bmih.biHeight = -(LONG)th; + bmih.biPlanes = 1; + bmih.biBitCount = 32; + bmih.biCompression = BI_RGB; + bmih.biSizeImage = 0; + bmih.biXPelsPerMeter = 0; + bmih.biYPelsPerMeter = 0; + bmih.biClrUsed = 0; + bmih.biClrImportant = 0; + + hbm = CreateDIBSection(ttf->dc, (BITMAPINFO*)&bmih, DIB_RGB_COLORS, (void**)&bits, NULL, 0); + + hmdc = CreateCompatibleDC(ttf->dc); + SelectObject(hmdc, hbm); + SelectObject(hmdc, ttf->font); + + TextOut(hmdc, 0, 0, t, strlen(t)); + + DeleteDC(hmdc); + + for(y = 0; y < th; y++) { + for(x = 0; x < tw; x++) { + unsigned char* opx = &px[(y * tw + x) * 4]; + + opx[0] = color->common.red; + opx[1] = color->common.green; + opx[2] = color->common.blue; + opx[3] = 255 - bits[y * tw + x].rgbRed; + } + } + + p = MwLoadRaw(handle, px, tw, th); + r.x = point->x; + r.y = point->y - th / 2; + r.width = tw; + r.height = th; + + MwLLDrawPixmap(handle->lowlevel, &r, p); + MwLLDestroyPixmap(p); + free(px); + + DeleteObject(hbm); + + free(t); + + return 0; +} + +static int GDI_MwTextWidth(MwFLFont ttf, const char* text) { + char* t = MwUTF8ToACP(text); + SIZE sz; + + GetTextExtentPoint32(ttf->dc, t, strlen(t), &sz); + + free(t); + + return sz.cx; +} + +static int GDI_MwTextHeight(MwFLFont ttf, int count) { + TEXTMETRIC tm; + + GetTextMetrics(ttf->dc, &tm); + + return tm.tmHeight * count; +} + +static void* GDI_MwFontLoad(unsigned char* data, unsigned int size, int px) { + MwFLFont ttf = malloc(sizeof(*ttf)); + DWORD c; + MwTTFInfo info; + + if((info = MwTTFGetInfo(data, size)) == NULL) { + free(ttf); + return NULL; + } + + ttf->dc = GetDC(NULL); + + if((ttf->handle = AddFontMemResourceEx(data, size, 0, &c)) == NULL) { + ReleaseDC(NULL, ttf->dc); + MwTTFFreeInfo(info); + free(ttf); + return NULL; + } + + if((ttf->font = CreateFont(-px, 0, 0, 0, info->weight, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, info->family)) == NULL) { + RemoveFontMemResourceEx(ttf->handle); + ReleaseDC(NULL, ttf->dc); + MwTTFFreeInfo(info); + free(ttf); + return NULL; + } + + MwTTFFreeInfo(info); + + SelectObject(ttf->dc, ttf->font); + + return ttf; +} + +static void GDI_MwFontFree(void* handle) { + MwFLFont ttf = handle; + + DeleteObject(ttf->font); + RemoveFontMemResourceEx(ttf->handle); + ReleaseDC(NULL, ttf->dc); + free(ttf); +} + +int MwFL_GDISetup(void) { + MwFLDrawText = GDI_MwDrawText; + MwFLTextWidth = GDI_MwTextWidth; + MwFLTextHeight = GDI_MwTextHeight; + MwFLFontLoad = GDI_MwFontLoad; + MwFLFontFree = GDI_MwFontFree; + return 0; +} +#endif diff --git a/src/text/text.c b/src/text/text.c index e43de8c..f0b80c7 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -3,7 +3,7 @@ int (*MwFLDrawText)(MwWidget handle, MwFLFont font, MwPoint* point, const char* text, MwLLColor color) = NULL; int (*MwFLTextWidth)(MwFLFont font, const char* text) = NULL; int (*MwFLTextHeight)(MwFLFont font, int count) = NULL; -int (*MwFLTextHeightWithText)(MwFLFont ttf, const char * text) = NULL; +int (*MwFLTextHeightWithText)(MwFLFont ttf, const char* text) = NULL; void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px) = NULL; void (*MwFLFontFree)(void* handle) = NULL; @@ -222,7 +222,7 @@ int MwTextHeight(MwWidget handle, MwFLFont ttf, const char* text) { if(MwFLTextHeight) if(!MwGetInteger(handle, MwNbitmapFont) && ttf != NULL && (st = MwFLTextHeight(ttf, c)) != -1) return st; if(MwFLTextHeightWithText) - if(!MwGetInteger(handle, MwNbitmapFont) && ttf != NULL && (st = MwFLTextHeightWithText(ttf, text)) != -1) return st; + if(!MwGetInteger(handle, MwNbitmapFont) && ttf != NULL && (st = MwFLTextHeightWithText(ttf, text)) != -1) return st; #endif return FontHeight * c; } @@ -300,11 +300,14 @@ static void bitmap_MwDrawText(MwWidget handle, MwPoint* point, const char* text, typedef int (*call_t)(void); void MwFLSetup(void) { call_t calls[] = { +#ifdef USE_GDI_TEXT + MwFL_GDISetup, +#endif #ifdef USE_DIRECTWRITE - MWFL_DWSetup, + MwFL_DWSetup, #endif #ifdef USE_FREETYPE2 - MWFL_FT2Setup, + MwFL_FT2Setup, #endif #ifdef USE_STB_TRUETYPE MwFL_STBTTSetup, diff --git a/src/ttf.c b/src/ttf.c new file mode 100644 index 0000000..e200714 --- /dev/null +++ b/src/ttf.c @@ -0,0 +1,142 @@ +#include + +#define REMAIN (size - (data - old)) + +MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ + unsigned short n = 0; + int i; + unsigned char* old = data; + MwTTFInfo info = malloc(sizeof(*info)); + + memset(info, 0, sizeof(*info)); + + if(size < 12){ + MwTTFFreeInfo(info); + return NULL; + } + n |= data[4 + 0]; + n = n << 8; + n |= data[4 + 1]; + + data += 12; + for(i = 0; REMAIN > 0 && i < n; i++){ + unsigned int offset = 0; + unsigned int length = 0; + int j; + + if(REMAIN < (4 + 4 + 4 + 4)){ + MwTTFFreeInfo(info); + return NULL; + } + + for(j = 0; j < 4; j++){ + offset = offset << 8; + offset |= data[4 + 4 + j]; + + length = length << 8; + length |= data[4 + 4 + 4 + j]; + } + + if(memcmp(data, "OS/2", 4) == 0){ + if(length >= 68){ + unsigned char* rev = data; + unsigned short us_weight = 0; + + data = old + offset; + if(REMAIN < 68){ + MwTTFFreeInfo(info); + return NULL; + } + + for(j = 0; j < 2; j++){ + us_weight = us_weight << 8; + us_weight |= data[0x4 + j]; + } + + info->weight = us_weight; + + data = rev; + } + }else if(memcmp(data, "name", 4) == 0){ + if(length >= 6){ + unsigned short count = 0; + unsigned char* rev = data; + unsigned short str_off = 0; + unsigned char* beg; + + data = old + offset; + if(REMAIN < (2 + 2 + 2)){ + MwTTFFreeInfo(info); + return NULL; + } + + beg = data; + + for(j = 0; j < 2; j++){ + count = count << 8; + count |= data[2 + j]; + + str_off = str_off << 8; + str_off |= data[2 + 2 + j]; + } + + data += 2 + 2 + 2; + for(j = 0; j < count; j++){ + unsigned short platform = 0; + unsigned short name = 0; + unsigned short nam_len = 0; + unsigned short nam_off = 0; + int k; + + if(REMAIN < (2 + 2 + 2 + 2 + 2 + 2)){ + MwTTFFreeInfo(info); + return NULL; + } + + for(k = 0; k < 2; k++){ + platform = platform << 8; + platform |= data[0 + k]; + + name = name << 8; + name |= data[2 + 2 + 2 + k]; + + nam_len = nam_len << 8; + nam_len |= data[2 + 2 + 2 + 2 + k]; + + nam_off = nam_off << 8; + nam_off |= data[2 + 2 + 2 + 2 + 2 + k]; + } + + /* FIXME: this does not work with surrogate */ + if((platform == 0 || platform == 3) && name == 1){ + data = beg + str_off + nam_off; + if(REMAIN < nam_len){ + MwTTFFreeInfo(info); + return NULL; + } + + if(info->family != NULL) free(info->family); + + info->family = malloc(nam_len / 2 + 1); + + for(k = 0; k < nam_len / 2; k++) info->family[k] = data[k * 2 + 1]; + info->family[k] = 0; + } + + data += 2 + 2 + 2 + 2 + 2 + 2; + } + + data = rev; + } + } + + data += 4 + 4 + 4 + 4; + } + + return info; +} + +void MwTTFFreeInfo(MwTTFInfo info){ + if(info->family != NULL) free(info->family); + free(info); +} diff --git a/src/widget/label.c b/src/widget/label.c index 5a165e7..a0be9ca 100644 --- a/src/widget/label.c +++ b/src/widget/label.c @@ -336,7 +336,7 @@ static void draw_normal(MwWidget handle) { r.width -= MwGetInteger(handle, MwNleftPadding); -#if 0 +#if 1 if(align == MwALIGNMENT_CENTER) { p.x = r.width / 2; } else if(align == MwALIGNMENT_BEGINNING) { @@ -353,11 +353,11 @@ static void draw_normal(MwWidget handle) { p.x += 1; p.y += 1; - MwDrawText(handle, NULL, &p, str, MwALIGNMENT_BEGINNING, shadow); + MwDrawText(handle, NULL, &p, str, MwALIGNMENT_CENTER, shadow); p.x -= 1; p.y -= 1; - MwDrawText(handle, NULL, &p, str, MwALIGNMENT_BEGINNING, text); + MwDrawText(handle, NULL, &p, str, MwALIGNMENT_CENTER, text); MwLLFreeColor(shadow); MwLLFreeColor(text); diff --git a/src/widget/window.c b/src/widget/window.c index 930b092..3d0afe2 100644 --- a/src/widget/window.c +++ b/src/widget/window.c @@ -36,7 +36,7 @@ static void mwWindowMakeBorderlessImpl(MwWidget handle, int toggle) { } static void mwWindowShouldCloseImpl(MwWidget handle, MwBool* out) { - *out = handle->close; + *out = handle->close; } static void func_handler(MwWidget handle, const char* name, void* out, va_list va) { @@ -47,7 +47,7 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v mwWindowMakeBorderlessImpl(handle, toggle); } if(strcmp(name, "mwWindowShouldClose") == 0) { - MwBool *out = va_arg(va, MwBool*); + MwBool* out = va_arg(va, MwBool*); mwWindowShouldCloseImpl(handle, out); } } From 6bc00c6dca2366153c21da479d28cee557652812 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 19 Jul 2026 20:39:31 +0900 Subject: [PATCH 060/119] better naming --- src/{ttf.c => truetype.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{ttf.c => truetype.c} (100%) diff --git a/src/ttf.c b/src/truetype.c similarity index 100% rename from src/ttf.c rename to src/truetype.c From bc5fc1081640f7179c06ddb1cf737f0b3ffcda19 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 19 Jul 2026 21:04:33 +0900 Subject: [PATCH 061/119] faster gdi text rendering --- include/Mw/LowLevel/GDI.h | 3 +- src/backend/gdi.c | 3 +- src/text/gdi.c | 15 ++++++++- src/truetype.c | 64 +++++++++++++++++++-------------------- 4 files changed, 50 insertions(+), 35 deletions(-) diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index d2e2473..e505b0a 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -34,7 +34,8 @@ struct _MwLLGDI { struct _MwLLGDIColor { struct _MwLLCommonColor common; - HBRUSH brush; + COLORREF color; + HBRUSH brush; }; struct _MwLLGDIPixmap { diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 62a1a1b..acc341e 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -502,7 +502,8 @@ static void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) { if(b < 0) b = 0; if(c->gdi.brush != NULL) DeleteObject(c->gdi.brush); - c->gdi.brush = CreateSolidBrush(GetNearestColor(dc, RGB(r, g, b))); + c->gdi.color = GetNearestColor(dc, RGB(r, g, b)); + c->gdi.brush = CreateSolidBrush(c->gdi.color); c->common.red = r; c->common.green = g; c->common.blue = b; diff --git a/src/text/gdi.c b/src/text/gdi.c index d3573b9..8915eea 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -23,6 +23,20 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c tw = MwTextWidth(handle, ttf, text); th = MwTextHeight(handle, ttf, text); + if(handle->lowlevel->common.type == MwLLBackendGDI) { + HFONT old_font = SelectObject(handle->lowlevel->gdi.hDC, ttf->font); + int old_bkmode = SetBkMode(handle->lowlevel->gdi.hDC, TRANSPARENT); + COLORREF old_color = SetTextColor(handle->lowlevel->gdi.hDC, color->gdi.color); + + TextOut(handle->lowlevel->gdi.hDC, point->x, point->y - th / 2, t, strlen(t)); + + SetTextColor(handle->lowlevel->gdi.hDC, old_color); + SetBkMode(handle->lowlevel->gdi.hDC, old_bkmode); + SelectObject(handle->lowlevel->gdi.hDC, old_font); + + return 0; + } + px = malloc(tw * th * 4); bmih.biSize = sizeof(bmih); @@ -69,7 +83,6 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c free(px); DeleteObject(hbm); - free(t); return 0; diff --git a/src/truetype.c b/src/truetype.c index e200714..4f2c819 100644 --- a/src/truetype.c +++ b/src/truetype.c @@ -2,15 +2,15 @@ #define REMAIN (size - (data - old)) -MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ +MwTTFInfo MwTTFGetInfo(unsigned char* data, int size) { unsigned short n = 0; - int i; - unsigned char* old = data; - MwTTFInfo info = malloc(sizeof(*info)); + int i; + unsigned char* old = data; + MwTTFInfo info = malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); - if(size < 12){ + if(size < 12) { MwTTFFreeInfo(info); return NULL; } @@ -19,17 +19,17 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ n |= data[4 + 1]; data += 12; - for(i = 0; REMAIN > 0 && i < n; i++){ + for(i = 0; REMAIN > 0 && i < n; i++) { unsigned int offset = 0; unsigned int length = 0; - int j; + int j; - if(REMAIN < (4 + 4 + 4 + 4)){ + if(REMAIN < (4 + 4 + 4 + 4)) { MwTTFFreeInfo(info); return NULL; } - for(j = 0; j < 4; j++){ + for(j = 0; j < 4; j++) { offset = offset << 8; offset |= data[4 + 4 + j]; @@ -37,18 +37,18 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ length |= data[4 + 4 + 4 + j]; } - if(memcmp(data, "OS/2", 4) == 0){ - if(length >= 68){ - unsigned char* rev = data; + if(memcmp(data, "OS/2", 4) == 0) { + if(length >= 68) { + unsigned char* rev = data; unsigned short us_weight = 0; data = old + offset; - if(REMAIN < 68){ + if(REMAIN < 68) { MwTTFFreeInfo(info); return NULL; } - for(j = 0; j < 2; j++){ + for(j = 0; j < 2; j++) { us_weight = us_weight << 8; us_weight |= data[0x4 + j]; } @@ -57,22 +57,22 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ data = rev; } - }else if(memcmp(data, "name", 4) == 0){ - if(length >= 6){ - unsigned short count = 0; - unsigned char* rev = data; + } else if(memcmp(data, "name", 4) == 0) { + if(length >= 6) { + unsigned short count = 0; + unsigned char* rev = data; unsigned short str_off = 0; unsigned char* beg; data = old + offset; - if(REMAIN < (2 + 2 + 2)){ + if(REMAIN < (2 + 2 + 2)) { MwTTFFreeInfo(info); return NULL; } beg = data; - for(j = 0; j < 2; j++){ + for(j = 0; j < 2; j++) { count = count << 8; count |= data[2 + j]; @@ -81,19 +81,19 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ } data += 2 + 2 + 2; - for(j = 0; j < count; j++){ + for(j = 0; j < count; j++) { unsigned short platform = 0; - unsigned short name = 0; - unsigned short nam_len = 0; - unsigned short nam_off = 0; - int k; + unsigned short name = 0; + unsigned short nam_len = 0; + unsigned short nam_off = 0; + int k; - if(REMAIN < (2 + 2 + 2 + 2 + 2 + 2)){ + if(REMAIN < (2 + 2 + 2 + 2 + 2 + 2)) { MwTTFFreeInfo(info); return NULL; } - for(k = 0; k < 2; k++){ + for(k = 0; k < 2; k++) { platform = platform << 8; platform |= data[0 + k]; @@ -107,10 +107,10 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ nam_off |= data[2 + 2 + 2 + 2 + 2 + k]; } - /* FIXME: this does not work with surrogate */ - if((platform == 0 || platform == 3) && name == 1){ + /* FIXME: this does not work with surrogate */ + if((platform == 0 || platform == 3) && name == 1) { data = beg + str_off + nam_off; - if(REMAIN < nam_len){ + if(REMAIN < nam_len) { MwTTFFreeInfo(info); return NULL; } @@ -118,7 +118,7 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ if(info->family != NULL) free(info->family); info->family = malloc(nam_len / 2 + 1); - + for(k = 0; k < nam_len / 2; k++) info->family[k] = data[k * 2 + 1]; info->family[k] = 0; } @@ -136,7 +136,7 @@ MwTTFInfo MwTTFGetInfo(unsigned char* data, int size){ return info; } -void MwTTFFreeInfo(MwTTFInfo info){ +void MwTTFFreeInfo(MwTTFInfo info) { if(info->family != NULL) free(info->family); free(info); } From 84531e9be179fd7cdc2ad1fef55d30eff6a53313 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 19 Jul 2026 21:06:32 +0900 Subject: [PATCH 062/119] fix documentation --- include/Mw/TrueType.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Mw/TrueType.h b/include/Mw/TrueType.h index 7204c31..eea90c9 100644 --- a/include/Mw/TrueType.h +++ b/include/Mw/TrueType.h @@ -22,7 +22,7 @@ MWDECL MwTTFInfo MwTTFGetInfo(unsigned char* data, int size); /*! * @brief Free the TrueType font information - * @brief info Information + * @param info Information */ MWDECL void MwTTFFreeInfo(MwTTFInfo info); From 09fc854aba641a8bffe18394bf3502be809ce2b8 Mon Sep 17 00:00:00 2001 From: nishi Date: Sun, 19 Jul 2026 21:11:43 +0900 Subject: [PATCH 063/119] fix memleak --- src/text/gdi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/text/gdi.c b/src/text/gdi.c index 8915eea..7823ee7 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -34,6 +34,8 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c SetBkMode(handle->lowlevel->gdi.hDC, old_bkmode); SelectObject(handle->lowlevel->gdi.hDC, old_font); + free(t); + return 0; } From b285d1ba8d8b4e2f90c3e1bb1ea060cc08aa6493 Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 20 Jul 2026 03:36:31 +0900 Subject: [PATCH 064/119] fix tick --- src/core.c | 4 ++-- src/widget/opengl.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core.c b/src/core.c index c72b868..bcbcb6e 100644 --- a/src/core.c +++ b/src/core.c @@ -527,7 +527,7 @@ static void MwAfterStep(MwWidget handle) { } #endif - if(arrlen(handle->tick_list) > 0 && (MwTimeGetTick() - handle->last_tick) >= MwWaitMS) { + if(arrlen(handle->tick_list) > 0 && (MwTimeGetTick() - handle->last_tick) >= (MwGetInteger(handle, MwNwaitMS) == MwDEFAULT ? MwWaitMS : MwGetInteger(handle, MwNwaitMS))) { for(i = 0; i < arrlen(handle->tick_list); i++) { MwDispatch(handle->tick_list[i], tick); MwDispatchUserHandler(handle->tick_list[i], MwNtickHandler, NULL); @@ -569,7 +569,7 @@ int MwPending(MwWidget handle) { for(i = 0; i < arrlen(handle->children); i++) { if(MwPending(handle->children[i])) return 1; } - return (arrlen(handle->tick_list) > 0 && (MwTimeGetTick() - handle->last_tick) >= MwWaitMS) || (arrlen(handle->destroy_queue) > 0) || (handle->widget_class == NULL ? 0 : MwLLPending(handle->lowlevel)); + return (arrlen(handle->tick_list) > 0 && (MwTimeGetTick() - handle->last_tick) >= (MwGetInteger(handle, MwNwaitMS) == MwDEFAULT ? MwWaitMS : MwGetInteger(handle, MwNwaitMS))) || (arrlen(handle->destroy_queue) > 0) || (handle->widget_class == NULL ? 0 : MwLLPending(handle->lowlevel)); } void MwLoop(MwWidget handle) { diff --git a/src/widget/opengl.c b/src/widget/opengl.c index db839ea..30a1cee 100644 --- a/src/widget/opengl.c +++ b/src/widget/opengl.c @@ -682,4 +682,4 @@ MWDECL MwClass MwOpenGLClass; MwClass MwOpenGLClass = NULL; #endif -#endif \ No newline at end of file +#endif From d36c9190ec562339225a553e4a2045207c7f1d76 Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 20 Jul 2026 03:45:50 +0900 Subject: [PATCH 065/119] better timer --- CMakeLists.txt | 2 +- include/Mw/MachDep.h | 1 + src/abstract/time.c | 2 +- src/core.c | 4 ++++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1fbb2a..11c3390 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -344,7 +344,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MSYS") PRIVATE USE_GDI ) - list(APPEND LIBRARIES gdi32) + list(APPEND LIBRARIES gdi32 winmm) target_link_options( Mw PRIVATE diff --git a/include/Mw/MachDep.h b/include/Mw/MachDep.h index 0415b4c..4c98b24 100644 --- a/include/Mw/MachDep.h +++ b/include/Mw/MachDep.h @@ -25,6 +25,7 @@ #ifdef _MILSKO #include +#include #ifndef GWLP_USERDATA #define GWLP_USERDATA GWL_USERDATA #define GWLP_WNDPROC GWL_WNDPROC diff --git a/src/abstract/time.c b/src/abstract/time.c index d1ddb83..59e9774 100644 --- a/src/abstract/time.c +++ b/src/abstract/time.c @@ -2,7 +2,7 @@ #if defined(_WIN32) long MwTimeGetTick(void) { - return GetTickCount(); + return timeGetTime(); } void MwTimeSleep(int ms) { diff --git a/src/core.c b/src/core.c index bcbcb6e..355097c 100644 --- a/src/core.c +++ b/src/core.c @@ -1072,6 +1072,10 @@ int MwLibraryInit(void) { NULL}; int i; +#ifdef _WIN32 + timeBeginPeriod(10); +#endif + #ifdef USE_WAYLAND if(MwWaylandCairoOnly) { calls[0] = MwLLCairoCallInit; From 8a6bfb62de920ccb0630460f23bfd1462172b60a Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 20 Jul 2026 03:58:29 +0900 Subject: [PATCH 066/119] work --- pl/ostype/Windows.pl | 1 + tools/genmk.pl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pl/ostype/Windows.pl b/pl/ostype/Windows.pl index 29bdc98..f79469f 100644 --- a/pl/ostype/Windows.pl +++ b/pl/ostype/Windows.pl @@ -4,5 +4,6 @@ $executable_suffix = ".exe"; $math = ""; add_ldflags("-Wl,--out-implib,src/libMw.dll.a -static-libgcc"); use_backend("gdi"); +add_libs("-lwinmm"); 1; diff --git a/tools/genmk.pl b/tools/genmk.pl index 6977df2..4b419b1 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -190,7 +190,7 @@ sub generate { print(OUT "src${dir}Mw.dll: " . cobjs($dir) . "\n"); print( OUT " \$(LD) \$(MW_LDFLAGS) $c_dllout $dllout\$@ " . cobjs($dir, $prefobj) - . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}user32.lib ${lib}advapi32.lib\n" + . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}winmm.lib ${lib}user32.lib ${lib}advapi32.lib\n" ); print(OUT " $c_dllafter\n"); print(OUT "\n"); From b7ed160614465b1a7f5b7b87ef949b9c699ac35f Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 20 Jul 2026 04:00:56 +0900 Subject: [PATCH 067/119] generate makefile --- NTMakefile | 7 +++++-- WatMakefile | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/NTMakefile b/NTMakefile index b4943e7..aa8b199 100644 --- a/NTMakefile +++ b/NTMakefile @@ -64,6 +64,7 @@ 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 @@ -71,8 +72,10 @@ clean: del /f /q src\text\font\monottf.obj del /f /q src\text\font\ttf.obj del /f /q src\text\ft2.obj + del /f /q src\text\gdi.obj del /f /q src\text\stbtt.obj del /f /q src\text\text.obj + del /f /q src\truetype.obj del /f /q src\unicode.obj del /f /q src\widget\box.obj del /f /q src\widget\button.obj @@ -318,8 +321,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\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\stbtt.obj src\text\text.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\stbtt.obj src\text\text.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 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\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 .c.obj: diff --git a/WatMakefile b/WatMakefile index 7e32bba..84c510b 100644 --- a/WatMakefile +++ b/WatMakefile @@ -63,6 +63,7 @@ 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 @@ -70,8 +71,10 @@ clean: .SYMBOLIC %erase src/text/font/monottf.obj %erase src/text/font/ttf.obj %erase src/text/ft2.obj + %erase src/text/gdi.obj %erase src/text/stbtt.obj %erase src/text/text.obj + %erase src/truetype.obj %erase src/unicode.obj %erase src/widget/box.obj %erase src/widget/button.obj @@ -317,9 +320,9 @@ 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/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/stbtt.obj src/text/text.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/stbtt.obj file src/text/text.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 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/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 + external/libz/src/adler32.obj: external/libz/src/adler32.c @@ -430,6 +433,8 @@ 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 @@ -444,10 +449,14 @@ src/text/font/ttf.obj: src/text/font/ttf.c $(CC) $(MW_CFLAGS) -fo=$@ src/text/font/ttf.c src/text/ft2.obj: src/text/ft2.c $(CC) $(MW_CFLAGS) -fo=$@ src/text/ft2.c +src/text/gdi.obj: src/text/gdi.c + $(CC) $(MW_CFLAGS) -fo=$@ src/text/gdi.c src/text/stbtt.obj: src/text/stbtt.c $(CC) $(MW_CFLAGS) -fo=$@ src/text/stbtt.c src/text/text.obj: src/text/text.c $(CC) $(MW_CFLAGS) -fo=$@ src/text/text.c +src/truetype.obj: src/truetype.c + $(CC) $(MW_CFLAGS) -fo=$@ src/truetype.c src/unicode.obj: src/unicode.c $(CC) $(MW_CFLAGS) -fo=$@ src/unicode.c src/widget/box.obj: src/widget/box.c From 1fe59521bfad3f8c1759e84423158eb7e04bf33d Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 19 Jul 2026 14:16:14 -0700 Subject: [PATCH 068/119] 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 From ad8173d562bc0fae824926b06c39c4109dbb96d4 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 19 Jul 2026 14:20:43 -0700 Subject: [PATCH 069/119] have cmake not prefix the library --- CMakeLists.txt | 5 +++++ examples/basic/example.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a16283e..fde6fd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,11 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +if(WIN32) +set(CMAKE_STATIC_LIBRARY_PREFIX "") +set(CMAKE_SHARED_LIBRARY_PREFIX "") +endif() + option(MW_CLASSIC_THEME "Use classic theme" OFF) option(MW_BUILD_EXAMPLES "Build examples" OFF) option(MW_USE_STB_IMAGE "Use stb_image" ON) diff --git a/examples/basic/example.c b/examples/basic/example.c index fdf6027..8fe38da 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, "日本語の表記体系", + MwNtext, "lorem ipsum", MwNbackground, "#f66", MwNforeground, "#000", NULL); From a30d306da0366bc78bd71f223320fcbf2aed296b Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 20 Jul 2026 06:21:25 +0900 Subject: [PATCH 070/119] fix perl files --- configure | 5 ++++- pl/rules.pl | 3 ++- pl/utils.pl | 13 +++++-------- src/text/gdi.c | 2 +- tools/color.pl | 7 +++++-- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/configure b/configure index 57df6d8..44db66d 100755 --- a/configure +++ b/configure @@ -82,7 +82,10 @@ my @features_keys = ( ); sub def_platform { - if($target ne "Darwin" and $target ne "ClassicMacOS" and $target ne "Windows" and $target ne "Haiku") { + if($target eq "Windows") { + param_set("freetype2", 0); + param_set("stb-truetype", 0); + } elsif($target ne "Darwin" and $target ne "ClassicMacOS" and $target ne "Haiku") { param_set("freetype2", 1); param_set("stb-truetype", 0); } else { diff --git a/pl/rules.pl b/pl/rules.pl index 986ee98..89f13e9 100644 --- a/pl/rules.pl +++ b/pl/rules.pl @@ -66,7 +66,8 @@ if (grep(/^wayland$/, @backends)) { scan_wayland_protocol("unstable", "primary-selection", "-unstable-v1"); scan_wayland_protocol("unstable", "pointer-constraints", "-unstable-v1"); scan_wayland_protocol("unstable", "relative-pointer", "-unstable-v1"); - scan_wayland_protocol_from_file("wlr-layer-shell", "wlr-layer-shell-unstable-v1.xml"); + scan_wayland_protocol_from_file("wlr-layer-shell", + "wlr-layer-shell-unstable-v1.xml"); $gl_libs = "-lGL -lGLU"; } diff --git a/pl/utils.pl b/pl/utils.pl index 23e16f0..504e8dc 100644 --- a/pl/utils.pl +++ b/pl/utils.pl @@ -125,21 +125,19 @@ sub scan_wayland_protocol { } } - sub scan_wayland_protocol_from_file { - my $proto = $_[0]; - my $file = $_[1]; + my $proto = $_[0]; + my $file = $_[1]; my $proto_c = "src/backend/wayland/wayland-${proto}-protocol.c"; if ( system( -"wayland-scanner private-code ./resource/wayland/${file} ${proto_c}" + "wayland-scanner private-code ./resource/wayland/${file} ${proto_c}" ) != 0 ) { print( -"^ Error on getting private code for ./resource/wayland/${file}\n" - ); + "^ Error on getting private code for ./resource/wayland/${file}\n"); } else { new_object($proto_c); @@ -151,12 +149,11 @@ sub scan_wayland_protocol_from_file { ) { print( -"^ Error on getting client header for ./resource/wayland/${file}\n" + "^ Error on getting client header for ./resource/wayland/${file}\n" ); } } - our %params = (); sub param_set { diff --git a/src/text/gdi.c b/src/text/gdi.c index 7823ee7..0d5913d 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -34,7 +34,7 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c SetBkMode(handle->lowlevel->gdi.hDC, old_bkmode); SelectObject(handle->lowlevel->gdi.hDC, old_font); - free(t); + free(t); return 0; } diff --git a/tools/color.pl b/tools/color.pl index 0e7c6bb..eca072c 100755 --- a/tools/color.pl +++ b/tools/color.pl @@ -28,7 +28,9 @@ print(OUT " rgb->green = (v >> 8) & 0xff;"); print(OUT " rgb->blue = (v >> 0) & 0xff;"); print(OUT "}\n"); print(OUT "\n"); -print(OUT "static void add_color(const char* name, int red, int green, int blue){\n"); +print(OUT + "static void add_color(const char* name, int red, int green, int blue){\n" +); print(OUT " MwU32 v = (red << 16) | (green << 8) | (blue << 0);\n"); print(OUT " shput(colors, name, v);\n"); print(OUT "}\n"); @@ -36,10 +38,11 @@ print(OUT "\n"); print(OUT "void MwColorTableInit(void){\n"); print(OUT " sh_new_strdup(colors);\n"); print(OUT " shdefault(colors, 0);\n"); + while (my $l = ) { $l =~ s/\r?\n$//; if ($l =~ /^[ \t]*([0-9]+)[ \t]+([0-9]+)[ \t]+([0-9]+)[ \t]+(.+)$/) { - print(OUT " add_color(\"$4\", $1, $2, $3);\n"); + print(OUT " add_color(\"$4\", $1, $2, $3);\n"); } } print(OUT "}\n"); From d056d1b7fb47041488bd0c9763e0730eae18e5bf Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 15:06:10 -0700 Subject: [PATCH 071/119] wayland: min width/height of 50 --- src/backend/wayland/wayland.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 278b453..a0b700c 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -177,6 +177,9 @@ static void xdg_toplevel_configure(void* data, } } + if(width < 50) width = 50; + if(height < 50) height = 50; + MwLLWaylandRegionInvalidate(self); self->wayland.ww = width; self->wayland.wh = height; @@ -451,6 +454,9 @@ static void popup_configure(void* data, int32_t height) { MwLL self = data; (void)xdg_popup; + + if(width < 50) width = 50; + if(height < 50) height = 50; self->wayland.x = x; self->wayland.y = y; self->wayland.ww = width; @@ -600,6 +606,9 @@ static void layer_shell_configure(void* data, MwLL self = data; zwlr_layer_surface_v1_ack_configure(surface, serial); + if(width < 50) width = 50; + if(height < 50) height = 50; + self->wayland.ww = width; self->wayland.wh = height; @@ -1106,13 +1115,11 @@ static void MwLLSetWHImpl(MwLL handle, int w, int h) { } /* Prevent an integer underflow when the w/h is too low */ - if((w < 2 || h < 2)) { - handle->wayland.ww = 2; - handle->wayland.wh = 2; - } else { - handle->wayland.ww = w; - handle->wayland.wh = h; - } + if(w < 50) w = 50; + if(h < 50) h = 50; + + handle->wayland.ww = w; + handle->wayland.wh = h; if(!handle->wayland.setting_wh) { handle->wayland.setting_wh = 1; From 74a800b3ef240f2caa2988bbba7e453d02d3bb2a Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 20 Jul 2026 09:07:30 +0900 Subject: [PATCH 072/119] fix reparent freeze --- src/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core.c b/src/core.c index 9b5242d..cb39b1c 100644 --- a/src/core.c +++ b/src/core.c @@ -1143,8 +1143,10 @@ void MwReparent(MwWidget handle, MwWidget new_parent) { if(new_parent == NULL) { handle->top_step = 1; + arrput(handle->tick_list, handle); } else { handle->top_step = 0; + arrfree(handle->tick_list); } MwForceRender(handle); From d9bf9bbb95c2b8f83ac98f3571f70730706d5217 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 20:44:28 -0700 Subject: [PATCH 073/119] support gdi text under win95 --- NTMakefile | 2 +- WatMakefile | 2 +- include/Mw/TypeDefs.h | 4 ++ src/text/gdi.c | 124 +++++++++++++++++++++++++++++++++++++++--- tools/genmk.pl | 2 +- 5 files changed, 122 insertions(+), 12 deletions(-) diff --git a/NTMakefile b/NTMakefile index 47ef312..a3fc76a 100644 --- a/NTMakefile +++ b/NTMakefile @@ -1,7 +1,7 @@ CC = cl /TC /c /nologo LD = link /nologo -MW_CFLAGS = /Iinclude /Iexternal\libz\include /D_MILSKO /D_MILSKO_BUILD /DUSE_GDI /DUSE_STB_TRUETYPE /DUSE_STB_IMAGE /DSTBI_NO_SIMD +MW_CFLAGS = /Iinclude /Iexternal\libz\include /D_MILSKO /D_MILSKO_BUILD /DUSE_GDI /DUSE_STB_IMAGE /DSTBI_NO_SIMD /DUSE_GDI_TEXT MW_LDFLAGS = /DLL EXE_CFLAGS = /Iinclude EXE_LDFLAGS = diff --git a/WatMakefile b/WatMakefile index 5f3e000..afeb560 100644 --- a/WatMakefile +++ b/WatMakefile @@ -1,7 +1,7 @@ CC = wcc386 -bt=nt -q LD = wlink option quiet -MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_TRUETYPE -dUSE_STB_IMAGE -dSTBI_NO_SIMD +MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dUSE_GDI_TEXT MW_LDFLAGS = system nt_dll EXE_CFLAGS = -i=include EXE_LDFLAGS = system nt diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 4944105..edad6bf 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -248,6 +248,10 @@ struct _MwMouse { int button; }; +enum _MwTTFType { + MwTTFTypeUNKNOWN = 0 +}; + struct _MwTTFInfo { char* family; int weight; diff --git a/src/text/gdi.c b/src/text/gdi.c index 0d5913d..cf4e655 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -1,6 +1,11 @@ #ifdef USE_GDI_TEXT #include +static HANDLE WINAPI (*AddFontMemResourceEx)(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) = NULL; +static BOOL WINAPI (*RemoveFontMemResourceEx)(HANDLE h) = NULL; +static HANDLE WINAPI AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts); +static BOOL WINAPI RemoveFontMemResourceExPolyFill(HANDLE h); + struct _MwFLFont { HANDLE handle; HFONT font; @@ -121,15 +126,30 @@ static void* GDI_MwFontLoad(unsigned char* data, unsigned int size, int px) { ttf->dc = GetDC(NULL); - if((ttf->handle = AddFontMemResourceEx(data, size, 0, &c)) == NULL) { - ReleaseDC(NULL, ttf->dc); - MwTTFFreeInfo(info); - free(ttf); - return NULL; - } + ttf->handle = NULL; - if((ttf->font = CreateFont(-px, 0, 0, 0, info->weight, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, info->family)) == NULL) { - RemoveFontMemResourceEx(ttf->handle); + if(AddFontMemResourceEx) { + if((ttf->handle = AddFontMemResourceEx(data, size, 0, &c)) == NULL) { + ReleaseDC(NULL, ttf->dc); + MwTTFFreeInfo(info); + free(ttf); + return NULL; + } + } /*else { + if((ttf->handle = AddFontMemResourceExPolyFill(data, size, 0, &c)) == NULL) { + ReleaseDC(NULL, ttf->dc); + MwTTFFreeInfo(info); + free(ttf); + return NULL; + } + }*/ + + if((ttf->font = CreateFont(-px, 0, 0, 0, info->weight, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, ttf->handle ? info->family : "Sans Serif")) == NULL) { + if(RemoveFontMemResourceEx) { + RemoveFontMemResourceEx(ttf->handle); + } else { + RemoveFontMemResourceExPolyFill(ttf->handle); + } ReleaseDC(NULL, ttf->dc); MwTTFFreeInfo(info); free(ttf); @@ -147,12 +167,97 @@ static void GDI_MwFontFree(void* handle) { MwFLFont ttf = handle; DeleteObject(ttf->font); - RemoveFontMemResourceEx(ttf->handle); + if(RemoveFontMemResourceEx) { + RemoveFontMemResourceEx(ttf->handle); + } else { + RemoveFontMemResourceExPolyFill(ttf->handle); + } ReleaseDC(NULL, ttf->dc); free(ttf); } +static HANDLE WINAPI AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) { + CHAR temp_path_dir[MAX_PATH]; + CHAR temp_path_name[MAX_PATH]; + HANDLE tempFile = NULL; + int hr; + + (void)pvResrved; + + hr = GetTempPathA(MAX_PATH, temp_path_dir); + if(hr == 0) { + printf("GetTempPathA error %08lX\n", hr); + return hr; + } + hr = GetTempFileNameA(temp_path_dir, TEXT("MILSKO"), 0, temp_path_name); + if(hr == 0) { + printf("GetTempFileNameA error %08lX\n", hr); + return hr; + } + + printf("extracting mem font to %s\n", temp_path_name); + + tempFile = CreateFileA(temp_path_name, + GENERIC_WRITE, + 0, + NULL, + CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, + NULL); + + if(tempFile == INVALID_HANDLE_VALUE) { + DWORD err = GetLastError(); + if(err == ERROR_ALREADY_EXISTS) { + tempFile = CreateFileA(temp_path_name, + GENERIC_WRITE, + 0, + NULL, + OPEN_ALWAYS, + FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, + NULL); + printf("%d\n", tempFile); + if(tempFile != INVALID_HANDLE_VALUE) { + goto success; + } else { + err = GetLastError(); + } + } + printf("CreateFileA error %08lX\n", err); + return hr; + } + +success: + hr = WriteFile(tempFile, pFileView, cjSize, NULL, NULL); + if(hr != 0) { + printf("WriteFile error %08lX\n", hr); + return 0; + } + + *pNumFonts = AddFontResource(temp_path_name); + + return tempFile; +}; +static BOOL WINAPI RemoveFontMemResourceExPolyFill(HANDLE h) { + if(h) + CloseHandle(h); + return TRUE; +}; + int MwFL_GDISetup(void) { + void* gdilib = LoadLibrary("gdi32.dll"); + if(!gdilib) { + printf("gdi32.dll not found(?????)\n"); + } else { + AddFontMemResourceEx = (void*)GetProcAddress(gdilib, "AddFontMemResourceEx"); + if(!AddFontMemResourceEx) { + AddFontMemResourceEx = AddFontMemResourceExPolyFill; + } + RemoveFontMemResourceEx = (void*)GetProcAddress(gdilib, "RemoveFontMemResourceEx"); + if(!RemoveFontMemResourceEx) { + RemoveFontMemResourceEx = RemoveFontMemResourceExPolyFill; + } + } + MwFLDrawText = GDI_MwDrawText; MwFLTextWidth = GDI_MwTextWidth; MwFLTextHeight = GDI_MwTextHeight; @@ -160,4 +265,5 @@ int MwFL_GDISetup(void) { MwFLFontFree = GDI_MwFontFree; return 0; } + #endif diff --git a/tools/genmk.pl b/tools/genmk.pl index 4b419b1..9903c11 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -116,7 +116,7 @@ sub generate { print(OUT "LD = $link\n"); print(OUT "\n"); print(OUT -"MW_CFLAGS = ${cdll} ${inc}include ${inc}external${dir}libz${dir}include ${def}_MILSKO ${def}_MILSKO_BUILD ${def}USE_GDI ${def}USE_STB_TRUETYPE ${def}USE_STB_IMAGE ${def}STBI_NO_SIMD\n" +"MW_CFLAGS = ${cdll} ${inc}include ${inc}external${dir}libz${dir}include ${def}_MILSKO ${def}_MILSKO_BUILD ${def}USE_GDI ${def}USE_STB_IMAGE ${def}STBI_NO_SIMD ${def}USE_GDI_TEXT\n" ); print(OUT "MW_LDFLAGS = $dll\n"); print(OUT "EXE_CFLAGS = ${inc}include\n"); From 3dc4641ff92dcfa79a9d1854f589c47e53cb901b Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 20:52:07 -0700 Subject: [PATCH 074/119] underscore prefix for gdi dynloaded functions --- .gitignore | 2 ++ src/text/gdi.c | 42 +++++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 4e56495..58b172a 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,8 @@ compile_flags.txt .DS_Store /vms /BorMakefile +*.err +*.zip *.pef *.dsk diff --git a/src/text/gdi.c b/src/text/gdi.c index cf4e655..1ef1985 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -1,10 +1,10 @@ #ifdef USE_GDI_TEXT #include -static HANDLE WINAPI (*AddFontMemResourceEx)(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) = NULL; -static BOOL WINAPI (*RemoveFontMemResourceEx)(HANDLE h) = NULL; -static HANDLE WINAPI AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts); -static BOOL WINAPI RemoveFontMemResourceExPolyFill(HANDLE h); +static HANDLE WINAPI (*_AddFontMemResourceEx)(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) = NULL; +static BOOL WINAPI (*_RemoveFontMemResourceEx)(HANDLE h) = NULL; +static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts); +static BOOL WINAPI _RemoveFontMemResourceExPolyFill(HANDLE h); struct _MwFLFont { HANDLE handle; @@ -128,15 +128,15 @@ static void* GDI_MwFontLoad(unsigned char* data, unsigned int size, int px) { ttf->handle = NULL; - if(AddFontMemResourceEx) { - if((ttf->handle = AddFontMemResourceEx(data, size, 0, &c)) == NULL) { + if(_AddFontMemResourceEx) { + if((ttf->handle = _AddFontMemResourceEx(data, size, 0, &c)) == NULL) { ReleaseDC(NULL, ttf->dc); MwTTFFreeInfo(info); free(ttf); return NULL; } } /*else { - if((ttf->handle = AddFontMemResourceExPolyFill(data, size, 0, &c)) == NULL) { + if((ttf->handle = _AddFontMemResourceExPolyFill(data, size, 0, &c)) == NULL) { ReleaseDC(NULL, ttf->dc); MwTTFFreeInfo(info); free(ttf); @@ -145,10 +145,10 @@ static void* GDI_MwFontLoad(unsigned char* data, unsigned int size, int px) { }*/ if((ttf->font = CreateFont(-px, 0, 0, 0, info->weight, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, ttf->handle ? info->family : "Sans Serif")) == NULL) { - if(RemoveFontMemResourceEx) { - RemoveFontMemResourceEx(ttf->handle); + if(_RemoveFontMemResourceEx) { + _RemoveFontMemResourceEx(ttf->handle); } else { - RemoveFontMemResourceExPolyFill(ttf->handle); + _RemoveFontMemResourceExPolyFill(ttf->handle); } ReleaseDC(NULL, ttf->dc); MwTTFFreeInfo(info); @@ -167,16 +167,16 @@ static void GDI_MwFontFree(void* handle) { MwFLFont ttf = handle; DeleteObject(ttf->font); - if(RemoveFontMemResourceEx) { - RemoveFontMemResourceEx(ttf->handle); + if(_RemoveFontMemResourceEx) { + _RemoveFontMemResourceEx(ttf->handle); } else { - RemoveFontMemResourceExPolyFill(ttf->handle); + _RemoveFontMemResourceExPolyFill(ttf->handle); } ReleaseDC(NULL, ttf->dc); free(ttf); } -static HANDLE WINAPI AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) { +static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) { CHAR temp_path_dir[MAX_PATH]; CHAR temp_path_name[MAX_PATH]; HANDLE tempFile = NULL; @@ -237,7 +237,7 @@ success: return tempFile; }; -static BOOL WINAPI RemoveFontMemResourceExPolyFill(HANDLE h) { +static BOOL WINAPI _RemoveFontMemResourceExPolyFill(HANDLE h) { if(h) CloseHandle(h); return TRUE; @@ -248,13 +248,13 @@ int MwFL_GDISetup(void) { if(!gdilib) { printf("gdi32.dll not found(?????)\n"); } else { - AddFontMemResourceEx = (void*)GetProcAddress(gdilib, "AddFontMemResourceEx"); - if(!AddFontMemResourceEx) { - AddFontMemResourceEx = AddFontMemResourceExPolyFill; + _AddFontMemResourceEx = (void*)GetProcAddress(gdilib, "_AddFontMemResourceEx"); + if(!_AddFontMemResourceEx) { + _AddFontMemResourceEx = _AddFontMemResourceExPolyFill; } - RemoveFontMemResourceEx = (void*)GetProcAddress(gdilib, "RemoveFontMemResourceEx"); - if(!RemoveFontMemResourceEx) { - RemoveFontMemResourceEx = RemoveFontMemResourceExPolyFill; + _RemoveFontMemResourceEx = (void*)GetProcAddress(gdilib, "_RemoveFontMemResourceEx"); + if(!_RemoveFontMemResourceEx) { + _RemoveFontMemResourceEx = _RemoveFontMemResourceExPolyFill; } } From d0d2339d6bd17892869e82a1617b2617c70fd055 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 20:56:34 -0700 Subject: [PATCH 075/119] fix --- include/Mw/TypeDefs.h | 4 ---- src/text/gdi.c | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index edad6bf..4944105 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -248,10 +248,6 @@ struct _MwMouse { int button; }; -enum _MwTTFType { - MwTTFTypeUNKNOWN = 0 -}; - struct _MwTTFInfo { char* family; int weight; diff --git a/src/text/gdi.c b/src/text/gdi.c index 1ef1985..457b4dc 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -1,8 +1,8 @@ #ifdef USE_GDI_TEXT #include -static HANDLE WINAPI (*_AddFontMemResourceEx)(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) = NULL; -static BOOL WINAPI (*_RemoveFontMemResourceEx)(HANDLE h) = NULL; +static HANDLE(WINAPI* _AddFontMemResourceEx)(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts) = NULL; +static BOOL(WINAPI* _RemoveFontMemResourceEx)(HANDLE h) = NULL; static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts); static BOOL WINAPI _RemoveFontMemResourceExPolyFill(HANDLE h); @@ -28,7 +28,7 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c tw = MwTextWidth(handle, ttf, text); th = MwTextHeight(handle, ttf, text); - if(handle->lowlevel->common.type == MwLLBackendGDI) { + if(handle->lowlevel->common.type == MwLLBackendGDI && MwGetInteger(handle, MwNmodernLook) == MwFALMwFALSE) { HFONT old_font = SelectObject(handle->lowlevel->gdi.hDC, ttf->font); int old_bkmode = SetBkMode(handle->lowlevel->gdi.hDC, TRANSPARENT); COLORREF old_color = SetTextColor(handle->lowlevel->gdi.hDC, color->gdi.color); From 2c2e21503f1d648d53aa88b1c9b522e1f9663155 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 20:58:32 -0700 Subject: [PATCH 076/119] MwFALMwFALSE -> MwFALSE --- src/text/gdi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/text/gdi.c b/src/text/gdi.c index 457b4dc..e0f19bf 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -28,7 +28,7 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c tw = MwTextWidth(handle, ttf, text); th = MwTextHeight(handle, ttf, text); - if(handle->lowlevel->common.type == MwLLBackendGDI && MwGetInteger(handle, MwNmodernLook) == MwFALMwFALSE) { + if(handle->lowlevel->common.type == MwLLBackendGDI && MwGetInteger(handle, MwNmodernLook) == MwFALSE) { HFONT old_font = SelectObject(handle->lowlevel->gdi.hDC, ttf->font); int old_bkmode = SetBkMode(handle->lowlevel->gdi.hDC, TRANSPARENT); COLORREF old_color = SetTextColor(handle->lowlevel->gdi.hDC, color->gdi.color); From f91fc66fb61ee7246e49cfed0eec8ba5f13d93ca Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 23:01:43 -0700 Subject: [PATCH 077/119] make some updates to get classicmacos.c working but its probably over --- CMakeLists.txt | 4 ++-- src/backend/classicmacos.c | 27 ++++++++++++++++++++++----- src/core.c | 8 ++------ src/dialog/messagebox.c | 2 +- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fde6fd1..b9e90d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,8 +12,8 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) if(WIN32) -set(CMAKE_STATIC_LIBRARY_PREFIX "") -set(CMAKE_SHARED_LIBRARY_PREFIX "") + set(CMAKE_STATIC_LIBRARY_PREFIX "") + set(CMAKE_SHARED_LIBRARY_PREFIX "") endif() option(MW_CLASSIC_THEME "Use classic theme" OFF) diff --git a/src/backend/classicmacos.c b/src/backend/classicmacos.c index fb2549e..956e1e0 100644 --- a/src/backend/classicmacos.c +++ b/src/backend/classicmacos.c @@ -1,6 +1,5 @@ #include #include -#include #include "../../external/stb_ds.h" @@ -65,7 +64,11 @@ static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLL } ClosePoly(); - FillCPoly(p, &qd.ltGray); + + PenMode(patCopy); + RGBForeColor(&col); + PaintPoly(p); + KillPoly(p); EndUpdate(handle->cmacos.window); @@ -132,9 +135,23 @@ static void MwLLNextEventImpl(MwLL handle) { switch(event.what) { case updateEvt: { - } - // MwLLDispatch(handle, draw, NULL); - break; + /* + This is our blocker for getting anything running. + This needs to be called at this point to start drawing anything. + ...It locks up and/or crashes the entire system. At least on SheepShaver. + It's not a stack overflow, it's not anything in the drawing functions. + It's *something* else. But because Classic Mac OS development is like + digging up forbidden tombs while stabbing yourself in the eye several times, + I don't know what. + + Fun fact: for as much as everyone loves to glaze about AI being the future + of programming, even Claude got confused when I gave up and tried to ask it + for help. Information about Classic Mac OS probably takes up 0.0001% of its + knowledge base; god knows it's hard enough finding information online about + this! + */ + MwLLDispatch(handle, draw, NULL); + } break; case osEvt: break; case mouseUp: diff --git a/src/core.c b/src/core.c index cb39b1c..98da305 100644 --- a/src/core.c +++ b/src/core.c @@ -1063,9 +1063,7 @@ int MwLibraryInit(void) { #ifdef USE_GDI MwLLGDICallInit, #endif -#ifdef CLASSIC_MAC_OS - MwLLClassicMacOSCallInit, -#endif + #ifdef USE_HAIKU MwLLHaikuCallInit, #endif @@ -1109,9 +1107,7 @@ int MwLibraryInit(void) { #ifdef USE_GDI " GDI" #endif -#ifdef CLASSIC_MAC_OS - " ClassicMacOS" -#endif + "\n"); #endif return 1; diff --git a/src/dialog/messagebox.c b/src/dialog/messagebox.c index f7084ab..6a96f6d 100644 --- a/src/dialog/messagebox.c +++ b/src/dialog/messagebox.c @@ -70,7 +70,7 @@ MwWidget MwMessageBox(MwWidget handle, const char* text, const char* title, unsi if((flag & MwMB_ICONMASK) != 0) { MwWidget icon; MwLLPixmap px; - unsigned int* data = NULL; + MwU32* data = NULL; icon = MwCreateWidget(MwImageClass, "image", window, 8, (h - 48) / 2, 48, 48); From d2191ef33a490129c291547f0ebfc923ef58d959 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 23:03:09 -0700 Subject: [PATCH 078/119] accidentally removed classic mac os init code from core.c --- src/core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core.c b/src/core.c index 98da305..cb39b1c 100644 --- a/src/core.c +++ b/src/core.c @@ -1063,7 +1063,9 @@ int MwLibraryInit(void) { #ifdef USE_GDI MwLLGDICallInit, #endif - +#ifdef CLASSIC_MAC_OS + MwLLClassicMacOSCallInit, +#endif #ifdef USE_HAIKU MwLLHaikuCallInit, #endif @@ -1107,7 +1109,9 @@ int MwLibraryInit(void) { #ifdef USE_GDI " GDI" #endif - +#ifdef CLASSIC_MAC_OS + " ClassicMacOS" +#endif "\n"); #endif return 1; From 6c6b97d92e533a27d5594e7bffed3e739bc9b13c Mon Sep 17 00:00:00 2001 From: IoIxD Date: Sun, 19 Jul 2026 23:06:26 -0700 Subject: [PATCH 079/119] classicmacos: remove dupl setrgb/penmode call --- src/backend/classicmacos.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/backend/classicmacos.c b/src/backend/classicmacos.c index 956e1e0..d3da454 100644 --- a/src/backend/classicmacos.c +++ b/src/backend/classicmacos.c @@ -52,9 +52,6 @@ static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLL col.green = color->common.green * 0x101; col.blue = color->common.blue * 0x101; - RGBForeColor(&col); - PenMode(patCopy); - for(i = 0; i < points_count; i++) { if(i == 0) { MoveTo(points[i].x, points[i].y); From e2aa8dec7b025a5400e6b19490590abdf85697d7 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Mon, 20 Jul 2026 21:18:26 -0700 Subject: [PATCH 080/119] wayland size limit should only apply to toplevels oops --- src/backend/wayland/wayland.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index a0b700c..4756086 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -177,8 +177,10 @@ static void xdg_toplevel_configure(void* data, } } - if(width < 50) width = 50; - if(height < 50) height = 50; + if(self->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + if(width < 50) width = 50; + if(height < 50) height = 50; + } MwLLWaylandRegionInvalidate(self); self->wayland.ww = width; @@ -1115,8 +1117,10 @@ static void MwLLSetWHImpl(MwLL handle, int w, int h) { } /* Prevent an integer underflow when the w/h is too low */ - if(w < 50) w = 50; - if(h < 50) h = 50; + if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { + if(w < 50) w = 50; + if(h < 50) h = 50; + } handle->wayland.ww = w; handle->wayland.wh = h; From 529309df3719081033e3b9fde02e5debb6264fdc Mon Sep 17 00:00:00 2001 From: IoIxD Date: Mon, 20 Jul 2026 21:56:42 -0700 Subject: [PATCH 081/119] wayland: fix size hints --- include/Mw/LowLevel/Wayland.h | 1 + src/backend/wayland/wayland.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/include/Mw/LowLevel/Wayland.h b/include/Mw/LowLevel/Wayland.h index 1de48b3..ccd1f2f 100644 --- a/include/Mw/LowLevel/Wayland.h +++ b/include/Mw/LowLevel/Wayland.h @@ -320,6 +320,7 @@ struct _MwLLWayland { MwRect clipping_rect; MwBool no; + MwBool changing; MwBool detatching; MwPoint detach_point; diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 4756086..45f160a 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1604,6 +1604,7 @@ static void MwLLDetachImpl(MwLL handle, MwPoint* point) { p = p->wayland.parent; } + handle->wayland.changing = MwTRUE; handle->wayland.detatching = MwTRUE; handle->wayland.detach_point = *point; handle->wayland.detach_point.x += x; @@ -1637,6 +1638,10 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) { xdg_toplevel_set_min_size(handle->wayland.toplevel->xdg_top_level, minx, miny); xdg_toplevel_set_max_size(handle->wayland.toplevel->xdg_top_level, maxx, maxy); + + wl_surface_commit(handle->wayland.framebuffer.surface); + wl_surface_commit(handle->wayland.backbuffer.surface); + printf("h??\n"); } } @@ -1753,6 +1758,8 @@ static void MwLLMakeToolWindowImpl(MwLL handle) { } else { handle->wayland.type_to_be = MwLL_WAYLAND_POPUP; } + + handle->wayland.changing = MwTRUE; } static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { @@ -1783,6 +1790,11 @@ static void MwLLEndStateChangeImpl(MwLL handle) { int x, y; WIDGET_CHECK(handle); + if(!handle->wayland.changing) { + return; + } + handle->wayland.changing = MwFALSE; + x = handle->wayland.detatching ? handle->wayland.detach_point.x : handle->wayland.x; y = handle->wayland.detatching ? handle->wayland.detach_point.y : handle->wayland.y; From 5a660bfe90982f162671c7df024cda2536ae3b05 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Mon, 20 Jul 2026 22:02:13 -0700 Subject: [PATCH 082/119] remove accidental debug print --- src/backend/wayland/wayland.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 45f160a..48d6c76 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1641,7 +1641,6 @@ static void MwLLSetSizeHintsImpl(MwLL handle, int minx, int miny, int maxx, int wl_surface_commit(handle->wayland.framebuffer.surface); wl_surface_commit(handle->wayland.backbuffer.surface); - printf("h??\n"); } } From 80e3d25147e1aa205fc67aa83be79925256b5daa Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Mon, 20 Jul 2026 23:39:02 -0700 Subject: [PATCH 083/119] gdi text loading should be loading the right functions Oops --- src/text/gdi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/text/gdi.c b/src/text/gdi.c index e0f19bf..b764353 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -248,11 +248,11 @@ int MwFL_GDISetup(void) { if(!gdilib) { printf("gdi32.dll not found(?????)\n"); } else { - _AddFontMemResourceEx = (void*)GetProcAddress(gdilib, "_AddFontMemResourceEx"); + _AddFontMemResourceEx = (void*)GetProcAddress(gdilib, "AddFontMemResourceEx"); if(!_AddFontMemResourceEx) { _AddFontMemResourceEx = _AddFontMemResourceExPolyFill; } - _RemoveFontMemResourceEx = (void*)GetProcAddress(gdilib, "_RemoveFontMemResourceEx"); + _RemoveFontMemResourceEx = (void*)GetProcAddress(gdilib, "RemoveFontMemResourceEx"); if(!_RemoveFontMemResourceEx) { _RemoveFontMemResourceEx = _RemoveFontMemResourceExPolyFill; } From 2c19489acd7a005dbfe0c55914f2a66769610865 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 00:15:33 -0700 Subject: [PATCH 084/119] entry ending box should tick --- include/Mw/TypeDefs.h | 3 ++ src/core.c | 7 +-- src/widget/entry.c | 99 +++++++++++++++++++++++++++++++------------ 3 files changed, 78 insertions(+), 31 deletions(-) diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 4944105..5989e1b 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -117,6 +117,7 @@ struct _MwWidget { int top_step; MwWidget* draw_queue; MwWidget* resize_queue; + MwWidget* monitored_entries; int berserk; long last_tick; @@ -138,6 +139,8 @@ struct _MwEntry { int cursor; int right; int length; + int active; + int cursor_blink_timer; MwPoint mouse; }; diff --git a/src/core.c b/src/core.c index cb39b1c..7059840 100644 --- a/src/core.c +++ b/src/core.c @@ -262,9 +262,10 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, h->opaque = NULL; h->user = NULL; - h->top_step = 0; - h->draw_queue = NULL; - h->resize_queue = NULL; + h->top_step = 0; + h->draw_queue = NULL; + h->resize_queue = NULL; + h->monitored_entries = NULL; if(parent == NULL) arrput(h->tick_list, h); diff --git a/src/widget/entry.c b/src/widget/entry.c index 8580768..6fde9ca 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -1,12 +1,18 @@ #include +#include "stb_ds.h" static int wcreate(MwWidget handle) { - MwEntry t = malloc(sizeof(*t)); + MwEntry t = malloc(sizeof(*t)); + MwWidget topmost_parent = handle->parent; - t->cursor = 0; - t->right = 0; - t->length = 0; - handle->internal = t; + t->cursor = 0; + t->right = 0; + t->length = 0; + t->cursor_blink_timer = 0; + handle->internal = t; + + while(topmost_parent->parent) topmost_parent = topmost_parent->parent; + arrpush(topmost_parent->monitored_entries, handle); MwSetDefault(handle); @@ -16,9 +22,27 @@ static int wcreate(MwWidget handle) { } static void destroy(MwWidget handle) { + int i; + MwWidget topmost_parent = handle->parent; + + while(topmost_parent->parent) topmost_parent = topmost_parent->parent; + for(i = 0; i < arrlen(topmost_parent->monitored_entries); i++) { + if(topmost_parent->monitored_entries[i] == handle) { + arrdel(topmost_parent->monitored_entries, i); + break; + } + } free(handle->internal); } - +static void tick(MwWidget handle) { + MwEntry t = handle->internal; + if(t->active) { + if(++t->cursor_blink_timer >= 30) { + t->cursor_blink_timer = 0; + } + MwDispatch(handle, draw); + } +} static void draw(MwWidget handle) { MwRect r; MwEntry t = handle->internal; @@ -71,11 +95,13 @@ static void draw(MwWidget handle) { for(i = 0; i < textlen; i++) show[i] = 'M'; show[i] = 0; - currc.x = p.x + MwTextWidth(handle, font, show); - currc.y = (r.height - h) / 2 + MwDefaultBorderWidth(handle); - currc.width = 1; - currc.height = h; - MwDrawRect(handle, &currc, text); + if(t->active && t->cursor_blink_timer <= 15) { + currc.x = p.x + MwTextWidth(handle, font, show); + currc.y = (r.height - h) / 2 + MwDefaultBorderWidth(handle); + currc.width = 1; + currc.height = h; + MwDrawRect(handle, &currc, text); + } free(show); } @@ -148,6 +174,23 @@ static void mouse_up(MwWidget handle, void* ptr) { #define mouse_up MwForceRender2 #endif +static void mouse_down(MwWidget handle, void* ptr) { + int i = 0; + MwEntry t = handle->internal; + MwWidget topmost_parent = handle->parent; + + while(topmost_parent->parent) topmost_parent = topmost_parent->parent; + + for(i = 0; i < arrlen(topmost_parent->monitored_entries); i++) { + MwEntry t = topmost_parent->monitored_entries[i]->internal; + t->active = MwFALSE; + t->cursor_blink_timer = 0; + MwDispatch(topmost_parent->monitored_entries[i], draw); + } + t->active = MwTRUE; + MwForceRender2(handle, NULL); +} + static void prop_change(MwWidget handle, const char* prop) { if(strcmp(prop, MwNtext) == 0 || strcmp(prop, MwNhideInput) == 0) MwForceRender(handle); @@ -187,23 +230,23 @@ static void clipboard(MwWidget handle, const char* data) { } MwClassRec MwEntryClassRec = { - wcreate, /* create */ - destroy, /* destroy */ - draw, /* draw */ - NULL, /* click */ - NULL, /* parent_resize */ - prop_change, /* prop_change */ - NULL, /* mouse_move */ - mouse_up, /* mouse_up */ - MwForceRender2, /* mouse_down */ - key, /* key */ - NULL, /* execute */ - NULL, /* tick */ - NULL, /* resize */ - NULL, /* children_update */ - NULL, /* children_prop_change */ - clipboard, /* clipboard */ - NULL, /* props_change */ + wcreate, /* create */ + destroy, /* destroy */ + draw, /* draw */ + NULL, /* click */ + NULL, /* parent_resize */ + prop_change, /* prop_change */ + NULL, /* mouse_move */ + mouse_up, /* mouse_up */ + mouse_down, /* mouse_down */ + key, /* key */ + NULL, /* execute */ + tick, /* tick */ + NULL, /* resize */ + NULL, /* children_update */ + NULL, /* children_prop_change */ + clipboard, /* clipboard */ + NULL, /* props_change */ NULL, NULL, NULL}; From 1103751f578434c9f72128bd57be7d9c315abddc Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 00:24:37 -0700 Subject: [PATCH 085/119] fix stb_ds include --- src/widget/entry.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widget/entry.c b/src/widget/entry.c index 6fde9ca..cb170ed 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -1,5 +1,5 @@ #include -#include "stb_ds.h" +#include static int wcreate(MwWidget handle) { MwEntry t = malloc(sizeof(*t)); From 639f8e619fbab38734dc20842fb9e2fa7bf1f77f Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 00:26:58 -0700 Subject: [PATCH 086/119] fix stb_ds include --- src/widget/entry.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widget/entry.c b/src/widget/entry.c index cb170ed..65cd903 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -1,5 +1,5 @@ #include -#include +#include "../../external/stb_ds.h" static int wcreate(MwWidget handle) { MwEntry t = malloc(sizeof(*t)); From 6db8ce17c31d7f5687bf90ce9500a9027695cb95 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 01:25:20 -0700 Subject: [PATCH 087/119] changelog --- CHANGELOG.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 CHANGELOG.txt diff --git a/CHANGELOG.txt b/CHANGELOG.txt new file mode 100644 index 0000000..8a95ba9 --- /dev/null +++ b/CHANGELOG.txt @@ -0,0 +1,16 @@ +========================= 1.4 ========================= +- CMakeLists.txt downgraded to version 3.13 to allow compiling on Windows XP +- CMake build now generates a pkgconfig file. +- GDI backend now natively uses GDI for text rendering +- Widgets can now be disabled with MwNdisabled +- Added `MwTabFocus` for letting a tab widget steal focus. +- New table widget (`MwTableClass`). +- Added `MwWindowShouldClose` for letting custom loops know when a window should close. +- Menu widget works better under compositors that use CSD. +- Remove VMS build files +- Wayland backend: + - Can now create layer surfaces (Use `MwLLMakeToolWindow` on a parentless window) + - Now properly handles keys being held down + - has drastically improved CSD (functionality wise) + - Uses KMSDRM directly for the OpenGL widget instead of wl_egl for a smoother experience + - Various overall performance improvements putting it on the same level as the X11 backend finally From 6843d6ae050882a14d083e8bc843dd151b97de73 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 01:26:37 -0700 Subject: [PATCH 088/119] changelog had item in wrong place --- CHANGELOG.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 8a95ba9..a303c98 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -6,7 +6,6 @@ - Added `MwTabFocus` for letting a tab widget steal focus. - New table widget (`MwTableClass`). - Added `MwWindowShouldClose` for letting custom loops know when a window should close. -- Menu widget works better under compositors that use CSD. - Remove VMS build files - Wayland backend: - Can now create layer surfaces (Use `MwLLMakeToolWindow` on a parentless window) @@ -14,3 +13,4 @@ - has drastically improved CSD (functionality wise) - Uses KMSDRM directly for the OpenGL widget instead of wl_egl for a smoother experience - Various overall performance improvements putting it on the same level as the X11 backend finally + - Menu widget works better under compositors that use CSD. From 6a635fc1dfa2c3f71dd839cb2d4c96a8bf23a81d Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 01:30:33 -0700 Subject: [PATCH 089/119] changelog should mention newest entry change --- CHANGELOG.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index a303c98..83daed8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -7,6 +7,7 @@ - New table widget (`MwTableClass`). - Added `MwWindowShouldClose` for letting custom loops know when a window should close. - Remove VMS build files +- Entry widgets now have blinking cursor that appears only when you hover over the widget. - Wayland backend: - Can now create layer surfaces (Use `MwLLMakeToolWindow` on a parentless window) - Now properly handles keys being held down From 90f69b63d4af26b1c20003d9af9610b622a61d1e Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 21 Jul 2026 01:45:29 -0700 Subject: [PATCH 090/119] version bump --- README.txt | 2 +- include/Mw/Version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.txt b/README.txt index fbf3732..0f57f90 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,5 @@ -Greetings - Welcome to the Milsko GUI Toolkit (Version 1.3) +Greetings - Welcome to the Milsko GUI Toolkit (Version 1.4) This document contains a brief summary of the contents of this source distributions and building instructions for Milsko GUI Toolkit. diff --git a/include/Mw/Version.h b/include/Mw/Version.h index 5fb57f6..9821dc6 100644 --- a/include/Mw/Version.h +++ b/include/Mw/Version.h @@ -23,7 +23,7 @@ /*! * @brief Version in string */ -#define MwVERSION "1.3" +#define MwVERSION "1.4" /*! * @brief Version in string From 7d6f6ca93ab0d1f6eeb0da5c665bacaf78a53b8f Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Tue, 21 Jul 2026 19:37:34 -0700 Subject: [PATCH 091/119] fix gdi text on mingw --- src/text/gdi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/text/gdi.c b/src/text/gdi.c index b764353..ab54664 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -180,19 +180,19 @@ static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize CHAR temp_path_dir[MAX_PATH]; CHAR temp_path_name[MAX_PATH]; HANDLE tempFile = NULL; - int hr; + DWORD hr; (void)pvResrved; hr = GetTempPathA(MAX_PATH, temp_path_dir); if(hr == 0) { printf("GetTempPathA error %08lX\n", hr); - return hr; + return NULL; } hr = GetTempFileNameA(temp_path_dir, TEXT("MILSKO"), 0, temp_path_name); if(hr == 0) { printf("GetTempFileNameA error %08lX\n", hr); - return hr; + return NULL; } printf("extracting mem font to %s\n", temp_path_name); @@ -223,14 +223,14 @@ static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize } } printf("CreateFileA error %08lX\n", err); - return hr; + return NULL; } success: hr = WriteFile(tempFile, pFileView, cjSize, NULL, NULL); if(hr != 0) { printf("WriteFile error %08lX\n", hr); - return 0; + return NULL; } *pNumFonts = AddFontResource(temp_path_name); From d3af13ebd655fdd1f5168468385642a88180dfb4 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Thu, 23 Jul 2026 11:45:01 +0900 Subject: [PATCH 092/119] drag and drop beginnings Reviewed-on: https://forgejo.nishi.boats/pyrite-dev/milsko/pulls/33 --- include/Mw/LowLevel.h | 7 ++ include/Mw/LowLevel/GDI.h | 13 ++ include/Mw/StringDefs.h | 4 + include/Mw/TypeDefs.h | 2 +- src/backend/cairo.c | 13 +- src/backend/call.c | 5 +- src/backend/classicmacos.c | 4 + src/backend/cocoa.m | 4 + src/backend/gdi.c | 221 +++++++++++++++++++++++++++++++++- src/backend/haiku.cc | 4 + src/backend/wayland/wayland.c | 4 + src/backend/x11.c | 4 + src/core.c | 10 ++ src/lowlevel.c | 5 +- src/widget/entry.c | 5 +- 15 files changed, 288 insertions(+), 17 deletions(-) diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index a2be271..b58d54e 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -39,6 +39,7 @@ struct _MwLLCommon { int type; int coordinate_type; MwBool supports_transparency; + const char** known_mime_types; MwLLHandler handler; }; @@ -315,6 +316,12 @@ MWDECL void (*MwLLGetClipboard)(MwLL handle, int clipboard_type); MWDECL void (*MwLLGetCursorCoord)(MwLL handle, MwPoint* point); MWDECL void (*MwLLGetScreenSize)(MwLL handle, MwRect* rect); +/*! + * @brief Setup drag and drop capabilities, should the user request it with MwNacceptsDnD + * @param handle Handle + */ +MWDECL void (*MwLLSetupDragAndDrop)(MwLL handle); + /*! * @brief Set any extra parameters for dark theme * @param handle Handle diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index e505b0a..6230a36 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -29,6 +29,11 @@ struct _MwLLGDI { int force_render; int get_clipboard; int get_darktheme; + + /* drag and drop */ + struct _MwLLGDIDropTarget* dropTarget; + struct _MwLLGDIDropSource* dropSource; + MwBool drag_update; }; struct _MwLLGDIColor { @@ -47,6 +52,14 @@ struct _MwLLGDIPixmap { HBITMAP hMask2; }; +struct _MwLLGDIDropTarget{ + struct IDropTargetVtbl *lpVtbl; + LONG refCount; + HWND hwnd; + MwLL handle; +}; +typedef struct _MwLLGDIDropTarget MwLLGDIDropTarget; + MWDECL int MwLLGDICallInit(void); MWDECL HCURSOR MwLLGDICreateCursor(MwCursor* image, MwCursor* mask); diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index b95fe93..5f9e3e4 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -53,6 +53,7 @@ #define MwNcolumnSpan "IcolumnSpan" #define MwNrowSpan "IrowSpan" #define MwNdisabled "Idisabled" +#define MwNacceptsDnD "IacceptsDnD" #define MwNtitle "Stitle" #define MwNtext "Stext" @@ -62,6 +63,8 @@ #define MwNforeground "Sforeground" #define MwNsubForeground "SsubForeground" #define MwNtitleForeground "StitleForeground" +#define MwNacceptedMimeType "SacceptedMimeType" + #define MwNvulkanExtension "SEvulkanExtension" #define MwNvulkanLayer "SEvulkanLayer" @@ -98,5 +101,6 @@ #define MwNdrawHandler "Cdraw" #define MwNclipboardHandler "Cclipboard" #define MwNdarkThemeHandler "CdarkTheme" +#define MwNdragAndDropHandler "CdragAndDrop" #endif diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index 5989e1b..fbc91fa 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -274,7 +274,7 @@ struct _MwClass { MwHandlerChildrenProp children_prop_change; MwHandlerClipboardReceived clipboard; MwHandlerProps props_change; - void* reserved1; + MwHandler drag_and_drop; void* reserved2; void* reserved3; }; diff --git a/src/backend/cairo.c b/src/backend/cairo.c index 0c26ff3..d70de1b 100644 --- a/src/backend/cairo.c +++ b/src/backend/cairo.c @@ -212,8 +212,8 @@ static void MwLLFreeColorImpl(MwLLColor color) {} static MwBool lmao = MwFALSE; static int MwLLPendingImpl(MwLL handle) { - lmao = !lmao; - return lmao; + lmao = !lmao; + return lmao; } static void MwLLNextEventImpl(MwLL handle) { MwLLDispatch(handle, draw, NULL); @@ -255,11 +255,12 @@ static MwBool MwLLDoModernImpl(MwLL handle) { } static void MwLLRaiseImpl(MwLL handle) {} static void MwLLClipImpl(MwLL handle, MwRect* rect) {} +static void MwLLSetupDragAndDropImpl(MwLL handle) {} static int MwLLCairoCallInitImpl(void) { - if(cairo_load_funcs() != 0) { - return 1; - } - return 0; + if(cairo_load_funcs() != 0) { + return 1; + } + return 0; } #include "call.c" CALL(Cairo); diff --git a/src/backend/call.c b/src/backend/call.c index f84247f..0deffb4 100644 --- a/src/backend/call.c +++ b/src/backend/call.c @@ -52,8 +52,9 @@ MwLLSetClipboard = MwLLSetClipboardImpl; \ MwLLGetClipboard = MwLLGetClipboardImpl; \ \ - MwLLGetCursorCoord = MwLLGetCursorCoordImpl; \ - MwLLGetScreenSize = MwLLGetScreenSizeImpl; \ + MwLLGetCursorCoord = MwLLGetCursorCoordImpl; \ + MwLLGetScreenSize = MwLLGetScreenSizeImpl; \ + MwLLSetupDragAndDrop = MwLLSetupDragAndDropImpl; \ \ MwLLSetDarkTheme = MwLLSetDarkThemeImpl; \ MwLLDoModern = MwLLDoModernImpl; \ diff --git a/src/backend/classicmacos.c b/src/backend/classicmacos.c index d3da454..f063551 100644 --- a/src/backend/classicmacos.c +++ b/src/backend/classicmacos.c @@ -347,6 +347,10 @@ static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { MwLLShow(handle, 0); } diff --git a/src/backend/cocoa.m b/src/backend/cocoa.m index e07eb64..85b8b5b 100644 --- a/src/backend/cocoa.m +++ b/src/backend/cocoa.m @@ -1146,6 +1146,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { rect->height = [screen frame].size.height; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { MwLLShow(handle, 0); } diff --git a/src/backend/gdi.c b/src/backend/gdi.c index acc341e..dbd87ac 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -1,5 +1,7 @@ #include +#include "../../external/stb_ds.h" + typedef struct userdata { MwLL ll; POINT min; @@ -10,8 +12,26 @@ typedef struct userdata { static struct symtbl { void* lib_dwmapi; + void* shell32lib; + void* ole32lib; + void* urlmonlib; + MwBool has_drag_and_drop; HRESULT(WINAPI* DwmSetWindowAttribute)(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute); + UINT(WINAPI* DragQueryFileW)(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); + UINT(WINAPI* DragQueryFileA)(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); + void(WINAPI* ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); + HRESULT(WINAPI* OleInitialize)(LPVOID pvReserved); + HRESULT(WINAPI* RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); + HRESULT(WINAPI* FindMimeFromData)( + LPBC pBC, + LPCWSTR pwzUrl, + LPVOID pBuffer, + DWORD cbSize, + LPCWSTR pwzMimeProposed, + DWORD dwMimeFlags, + LPWSTR* ppwzMimeOut, + DWORD dwReserved); } wsymtbl; static int is_plgblt_reliable = 0; @@ -420,6 +440,9 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { SetWindowPos(r->gdi.hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + r->gdi.dropTarget = NULL; + r->gdi.drag_update = MwFALSE; + return r; } @@ -434,6 +457,8 @@ static void MwLLDestroyImpl(MwLL handle) { if(handle->gdi.cursor != NULL) DestroyCursor(handle->gdi.cursor); + if(handle->gdi.dropTarget) free(handle->gdi.dropTarget); + free(handle); } @@ -547,7 +572,7 @@ static int MwLLPendingImpl(MwLL handle) { (void)handle; - if(handle->gdi.get_clipboard || handle->gdi.get_darktheme) return 1; + if(handle->gdi.get_clipboard || handle->gdi.get_darktheme || handle->gdi.drag_update) return 1; return PeekMessage(&msg, handle->gdi.hWnd, 0, 0, PM_NOREMOVE) ? 1 : 0; } @@ -579,8 +604,7 @@ static void MwLLNextEventImpl(MwLL handle) { handle->gdi.get_darktheme = 0; } - while(PeekMessage(&msg, handle->gdi.hWnd, 0, 0, PM_NOREMOVE)) { - GetMessage(&msg, handle->gdi.hWnd, 0, 0); + while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } @@ -994,8 +1018,134 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) { } } +static HRESULT STDMETHODCALLTYPE GDIDT_QueryInterface(IDropTarget* this_, REFIID riid, void** ppv) { + if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDropTarget)) { + *ppv = this_; + this_->lpVtbl->AddRef(this_); + return S_OK; + } + *ppv = NULL; + return E_NOINTERFACE; +} + +static ULONG STDMETHODCALLTYPE GDIDT_AddRef(IDropTarget* this_) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + return InterlockedIncrement(&self->refCount); +} + +static ULONG STDMETHODCALLTYPE GDIDT_Release(IDropTarget* this_) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + LONG c = InterlockedDecrement(&self->refCount); + if(c == 0) free(self); + return c; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_DragEnter(IDropTarget* this_, IDataObject* pDataObj, + DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { + *pdwEffect = DROPEFFECT_COPY; + return S_OK; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_DragOver(IDropTarget* this_, DWORD grfKeyState, + POINTL pt, DWORD* pdwEffect) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + self->handle->gdi.drag_update = MwTRUE; + + return S_OK; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_DragLeave(IDropTarget* this_) { + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + self->handle->gdi.drag_update = MwFALSE; + return S_OK; +} + +static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDataObj, + DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { + FORMATETC fmt = {CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + STGMEDIUM stg; + MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; + + self->handle->gdi.drag_update = MwTRUE; + + if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { + HDROP hDrop = (HDROP)stg.hGlobal; + UINT count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + UINT i, n; + HRESULT hr; + + for(i = 0; i < count; i++) { + wchar_t path[MAX_PATH]; + char path_normal[MAX_PATH]; + char* mime_type_normal; + wchar_t* mime_type = NULL; + int mime_type_size; + HRESULT hr; + int i; + + wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); + wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); + hr = wsymtbl.FindMimeFromData(NULL, path, NULL, 0, + NULL, FMFD_DEFAULT, &mime_type, 0x0); + + mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); + mime_type_normal = malloc(sizeof(mime_type_size)); + WideCharToMultiByte(CP_ACP, 0, mime_type, -1, mime_type_normal, mime_type_size, NULL, FALSE); + + if(mime_type_size == 0) { + printf("Error converting mime type to multi-byte: %ld\n", GetLastError()); + } else { + if(self->handle->common.known_mime_types) { + for(n = 0; n < arrlen(self->handle->common.known_mime_types); n++) { + if(strcmp(mime_type_normal, self->handle->common.known_mime_types[n]) == 0) { + MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + break; + } + } + } else { + MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + } + } + free(mime_type); + } + + wsymtbl.ReleaseStgMedium(&stg); + *pdwEffect = DROPEFFECT_COPY; + } else { + *pdwEffect = DROPEFFECT_NONE; + } + return S_OK; +} + +static IDropTargetVtbl DropTarget_Vtbl = { + GDIDT_QueryInterface, + GDIDT_AddRef, + GDIDT_Release, + GDIDT_DragEnter, + GDIDT_DragOver, + GDIDT_DragLeave, + GDIDT_Drop}; + +static void MwLLSetupDragAndDropImpl(MwLL handle) { + HRESULT hr = 0; + + handle->gdi.dropTarget = (MwLLGDIDropTarget*)malloc(sizeof(MwLLGDIDropTarget)); + handle->gdi.dropTarget->lpVtbl = &DropTarget_Vtbl; + handle->gdi.dropTarget->refCount = 1; + handle->gdi.dropTarget->hwnd = handle->gdi.hWnd; + handle->gdi.dropTarget->handle = handle; + + hr = wsymtbl.RegisterDragDrop(handle->gdi.hWnd, (IDropTarget*)handle->gdi.dropTarget); + if(!SUCCEEDED(hr)) { + printf("RegisterDragDrop failed; %08lx\n", hr); + return; + } + printf("dnd setup\n"); +} + static int MwLLGDICallInitImpl(void) { - void* ntdll; + void* ntdll; + HRESULT hr; memset(&wsymtbl, 0, sizeof(wsymtbl)); @@ -1009,6 +1159,69 @@ static int MwLLGDICallInitImpl(void) { is_plgblt_reliable = 1; } + wsymtbl.has_drag_and_drop = MwFALSE; + + /* Drag and Drop initialization */ + { + hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + /* The only other error - COM already being initialized - can be ignored */ + if(hr == RPC_E_CHANGED_MODE) { + goto no_dnd; + } + if(!SUCCEEDED(hr) && hr != S_FALSE) { + printf("CoInitialize error: %08lx\n", hr); + goto dnd_error; + } + hr = OleInitialize(NULL); + if(!SUCCEEDED(hr)) { + if(hr == RPC_E_CHANGED_MODE) { + no_dnd: + printf("Cannot do drag and drop; Microsoft hates you and if you use COM anywhere else it has to be apartment threaded.\n"); + goto dnd_error; + } else { + printf("OleInitialize failed; %08lx. Drag and Drop won't be supported.\n", hr); + goto dnd_error; + } + } + + wsymtbl.has_drag_and_drop = MwTRUE; + + if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) { + goto dnd_error; + }; + if(!(wsymtbl.ole32lib = LoadLibrary("ole32.dll"))) { + goto dnd_error; + }; + if(!(wsymtbl.urlmonlib = LoadLibrary("Urlmon.dll"))) { + goto dnd_error; + }; + +#define SHELL32_FUNC(x) \ + if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.shell32lib, #x))) { \ + printf(#x "not found, drag and drop will not be supported"); \ + goto dnd_error; \ + } +#define OLE32_FUNC(x) \ + if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.ole32lib, #x))) { \ + printf(#x "not found, drag and drop will not be supported"); \ + goto dnd_error; \ + } +#define URLMON_FUNC(x) \ + if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.urlmonlib, #x))) { \ + printf(#x "not found, drag and drop will not be supported"); \ + goto dnd_error; \ + } + + SHELL32_FUNC(DragQueryFileW); + SHELL32_FUNC(DragQueryFileA); + OLE32_FUNC(ReleaseStgMedium); + OLE32_FUNC(RegisterDragDrop); + URLMON_FUNC(FindMimeFromData); + + wsymtbl.has_drag_and_drop = MwTRUE; + } +dnd_error: + /* TODO: check properly */ return 0; } diff --git a/src/backend/haiku.cc b/src/backend/haiku.cc index 8c4f8bf..2c796d6 100644 --- a/src/backend/haiku.cc +++ b/src/backend/haiku.cc @@ -879,6 +879,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { delete screen; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) { (void)handle; (void)toggle; diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 48d6c76..839e9ac 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -1779,6 +1779,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { rect->height = handle->wayland.mh; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { (void)handle; /* no-op */ diff --git a/src/backend/x11.c b/src/backend/x11.c index 79ce429..cc4d22b 100644 --- a/src/backend/x11.c +++ b/src/backend/x11.c @@ -1361,6 +1361,10 @@ static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { rect->height = xwa.height; } +static void MwLLSetupDragAndDropImpl(MwLL handle) { + (void)handle; +} + static void MwLLBeginStateChangeImpl(MwLL handle) { MwLLShow(handle, 0); } diff --git a/src/core.c b/src/core.c index 7059840..2eca665 100644 --- a/src/core.c +++ b/src/core.c @@ -658,6 +658,10 @@ void MwSetInteger(MwWidget handle, const char* key, int n) { if(h->lowlevel != NULL) MwLLSetDarkTheme(h->lowlevel, n); } + + if(strcmp(key, MwNacceptsDnD) == 0) { + if(handle->lowlevel != NULL) MwLLSetupDragAndDrop(handle->lowlevel); + } } void MwSetText(MwWidget handle, const char* key, const char* value) { @@ -692,6 +696,12 @@ void MwSetText(MwWidget handle, const char* key, const char* value) { if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0 || strcmp(key, MwNsubBackground) == 0 || strcmp(key, MwNsubForeground) == 0) { MwForceRender(handle); } + + if(strcmp(key, MwNacceptedMimeType) == 0) { + if(handle->lowlevel != NULL) { + arrput(handle->lowlevel->common.known_mime_types, value); + } + } } void MwSetVoid(MwWidget handle, const char* key, void* value) { diff --git a/src/lowlevel.c b/src/lowlevel.c index bc9e55b..aca10c2 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -50,8 +50,8 @@ void (*MwLLGetClipboard)(MwLL, int clipboard_type) = NULL; void (*MwLLGetCursorCoord)(MwLL handle, MwPoint* point) = NULL; void (*MwLLGetScreenSize)(MwLL handle, MwRect* rect) = NULL; - -void (*MwLLSetDarkTheme)(MwLL handle, int toggle) = NULL; +void (*MwLLSetupDragAndDrop)(MwLL handle) = NULL; +void (*MwLLSetDarkTheme)(MwLL handle, int toggle) = NULL; MwBool (*MwLLDoModern)(MwLL handle) = NULL; @@ -64,6 +64,7 @@ void MwLLCreateCommon(MwLL handle) { memset(handle->common.handler, 0, sizeof(*handle->common.handler)); handle->common.supports_transparency = 0; + handle->common.known_mime_types = NULL; } void MwLLDestroyCommon(MwLL handle) { diff --git a/src/widget/entry.c b/src/widget/entry.c index 65cd903..dd867d7 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -9,6 +9,7 @@ static int wcreate(MwWidget handle) { t->right = 0; t->length = 0; t->cursor_blink_timer = 0; + t->active = 0; handle->internal = t; while(topmost_parent->parent) topmost_parent = topmost_parent->parent; @@ -40,7 +41,7 @@ static void tick(MwWidget handle) { if(++t->cursor_blink_timer >= 30) { t->cursor_blink_timer = 0; } - MwDispatch(handle, draw); + MwForceRender(handle); } } static void draw(MwWidget handle) { @@ -185,7 +186,7 @@ static void mouse_down(MwWidget handle, void* ptr) { MwEntry t = topmost_parent->monitored_entries[i]->internal; t->active = MwFALSE; t->cursor_blink_timer = 0; - MwDispatch(topmost_parent->monitored_entries[i], draw); + MwForceRender(topmost_parent->monitored_entries[i]); } t->active = MwTRUE; MwForceRender2(handle, NULL); From 27b4f8384078bd63295a08e4be2fcc3a40937e46 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:49:05 -0700 Subject: [PATCH 093/119] linke to ole32 --- CMakeLists.txt | 2 +- NTMakefile | 2 +- WatMakefile | 2 +- pl/ostype/Windows.pl | 1 + tools/genmk.pl | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9e90d0..39f26d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -329,7 +329,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MSYS") PRIVATE USE_GDI ) - list(APPEND LIBRARIES gdi32 winmm) + list(APPEND LIBRARIES gdi32 ole32 winmm) target_link_options( Mw PRIVATE diff --git a/NTMakefile b/NTMakefile index a3fc76a..8afa320 100644 --- a/NTMakefile +++ b/NTMakefile @@ -321,7 +321,7 @@ examples\gldemos\tripaint.obj: 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\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 + $(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 ole32.lib user32.lib advapi32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index afeb560..c2af03e 100644 --- a/WatMakefile +++ b/WatMakefile @@ -320,7 +320,7 @@ examples/gldemos/tripaint.obj: 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/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 + $(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 ole32.lib library user32.lib library advapi32.lib diff --git a/pl/ostype/Windows.pl b/pl/ostype/Windows.pl index f79469f..af9486c 100644 --- a/pl/ostype/Windows.pl +++ b/pl/ostype/Windows.pl @@ -5,5 +5,6 @@ $math = ""; add_ldflags("-Wl,--out-implib,src/libMw.dll.a -static-libgcc"); use_backend("gdi"); add_libs("-lwinmm"); +add_libs("-lole32"); 1; diff --git a/tools/genmk.pl b/tools/genmk.pl index 9903c11..2c68608 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -190,7 +190,7 @@ sub generate { print(OUT "src${dir}Mw.dll: " . cobjs($dir) . "\n"); print( OUT " \$(LD) \$(MW_LDFLAGS) $c_dllout $dllout\$@ " . cobjs($dir, $prefobj) - . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}winmm.lib ${lib}user32.lib ${lib}advapi32.lib\n" + . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}winmm.lib ${lib}ole32.lib ${lib}user32.lib ${lib}advapi32.lib\n" ); print(OUT " $c_dllafter\n"); print(OUT "\n"); From b3e24df2f677c9b642119552b812f2b1c0eff916 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:51:11 -0700 Subject: [PATCH 094/119] include urlmon.h in MachDep.h --- include/Mw/MachDep.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/Mw/MachDep.h b/include/Mw/MachDep.h index 4c98b24..5433c7e 100644 --- a/include/Mw/MachDep.h +++ b/include/Mw/MachDep.h @@ -26,6 +26,7 @@ #ifdef _MILSKO #include #include +#include #ifndef GWLP_USERDATA #define GWLP_USERDATA GWL_USERDATA #define GWLP_WNDPROC GWL_WNDPROC From 981591120c5f3e66beadc8dede29760272c659d6 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:54:27 -0700 Subject: [PATCH 095/119] linke to uuid --- CMakeLists.txt | 2 +- pl/ostype/Windows.pl | 1 + tools/genmk.pl | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 39f26d0..e7aefde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -329,7 +329,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MSYS") PRIVATE USE_GDI ) - list(APPEND LIBRARIES gdi32 ole32 winmm) + list(APPEND LIBRARIES gdi32 ole32 winmm uuid) target_link_options( Mw PRIVATE diff --git a/pl/ostype/Windows.pl b/pl/ostype/Windows.pl index af9486c..9a066d8 100644 --- a/pl/ostype/Windows.pl +++ b/pl/ostype/Windows.pl @@ -6,5 +6,6 @@ add_ldflags("-Wl,--out-implib,src/libMw.dll.a -static-libgcc"); use_backend("gdi"); add_libs("-lwinmm"); add_libs("-lole32"); +add_libs("-luuid"); 1; diff --git a/tools/genmk.pl b/tools/genmk.pl index 2c68608..8362bd3 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -190,7 +190,7 @@ sub generate { print(OUT "src${dir}Mw.dll: " . cobjs($dir) . "\n"); print( OUT " \$(LD) \$(MW_LDFLAGS) $c_dllout $dllout\$@ " . cobjs($dir, $prefobj) - . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}winmm.lib ${lib}ole32.lib ${lib}user32.lib ${lib}advapi32.lib\n" + . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}winmm.lib ${lib}ole32.lib ${lib}uuid.lib ${lib}user32.lib ${lib}advapi32.lib\n" ); print(OUT " $c_dllafter\n"); print(OUT "\n"); From fb6c7a47729b364b585569495a8c4b8e30ae3d7f Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 19:55:40 -0700 Subject: [PATCH 096/119] replace FMFD_DEFAULT with 0 --- include/Mw/MachDep.h | 1 - src/backend/gdi.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/Mw/MachDep.h b/include/Mw/MachDep.h index 5433c7e..4c98b24 100644 --- a/include/Mw/MachDep.h +++ b/include/Mw/MachDep.h @@ -26,7 +26,6 @@ #ifdef _MILSKO #include #include -#include #ifndef GWLP_USERDATA #define GWLP_USERDATA GWL_USERDATA #define GWLP_WNDPROC GWL_WNDPROC diff --git a/src/backend/gdi.c b/src/backend/gdi.c index dbd87ac..e08d4e1 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -1086,7 +1086,7 @@ static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDa wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); hr = wsymtbl.FindMimeFromData(NULL, path, NULL, 0, - NULL, FMFD_DEFAULT, &mime_type, 0x0); + NULL, 0, &mime_type, 0x0); mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); mime_type_normal = malloc(sizeof(mime_type_size)); From 0fd0611a993abf47413a590eb713bbf76220274b Mon Sep 17 00:00:00 2001 From: IoIxD Date: Wed, 22 Jul 2026 20:02:01 -0700 Subject: [PATCH 097/119] dynload CoInitializeEx --- src/backend/gdi.c | 48 ++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index e08d4e1..078c174 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -32,6 +32,9 @@ static struct symtbl { DWORD dwMimeFlags, LPWSTR* ppwzMimeOut, DWORD dwReserved); + HRESULT (*CoInitializeEx)( + LPVOID pvReserved, + DWORD dwCoInit); } wsymtbl; static int is_plgblt_reliable = 0; @@ -1163,29 +1166,6 @@ static int MwLLGDICallInitImpl(void) { /* Drag and Drop initialization */ { - hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); - /* The only other error - COM already being initialized - can be ignored */ - if(hr == RPC_E_CHANGED_MODE) { - goto no_dnd; - } - if(!SUCCEEDED(hr) && hr != S_FALSE) { - printf("CoInitialize error: %08lx\n", hr); - goto dnd_error; - } - hr = OleInitialize(NULL); - if(!SUCCEEDED(hr)) { - if(hr == RPC_E_CHANGED_MODE) { - no_dnd: - printf("Cannot do drag and drop; Microsoft hates you and if you use COM anywhere else it has to be apartment threaded.\n"); - goto dnd_error; - } else { - printf("OleInitialize failed; %08lx. Drag and Drop won't be supported.\n", hr); - goto dnd_error; - } - } - - wsymtbl.has_drag_and_drop = MwTRUE; - if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) { goto dnd_error; }; @@ -1216,8 +1196,30 @@ static int MwLLGDICallInitImpl(void) { SHELL32_FUNC(DragQueryFileA); OLE32_FUNC(ReleaseStgMedium); OLE32_FUNC(RegisterDragDrop); + OLE32_FUNC(CoInitializeEx); URLMON_FUNC(FindMimeFromData); + hr = wsymtbl.CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + /* The only other error - COM already being initialized - can be ignored */ + if(hr == RPC_E_CHANGED_MODE) { + goto no_dnd; + } + if(!SUCCEEDED(hr) && hr != S_FALSE) { + printf("CoInitialize error: %08lx\n", hr); + goto dnd_error; + } + hr = OleInitialize(NULL); + if(!SUCCEEDED(hr)) { + if(hr == RPC_E_CHANGED_MODE) { + no_dnd: + printf("Cannot do drag and drop; Microsoft hates you and if you use COM anywhere else it has to be apartment threaded.\n"); + goto dnd_error; + } else { + printf("OleInitialize failed; %08lx. Drag and Drop won't be supported.\n", hr); + goto dnd_error; + } + } + wsymtbl.has_drag_and_drop = MwTRUE; } dnd_error: From 7e339cfd60bd2d7d274cc78675cf5416f85ae141 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Wed, 22 Jul 2026 21:31:03 -0700 Subject: [PATCH 098/119] gdi: properly quit drag and drop after its finished --- include/Mw/LowLevel/GDI.h | 1 + src/backend/gdi.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index 6230a36..581c32d 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -34,6 +34,7 @@ struct _MwLLGDI { struct _MwLLGDIDropTarget* dropTarget; struct _MwLLGDIDropSource* dropSource; MwBool drag_update; + MwBool finishing_drag; }; struct _MwLLGDIColor { diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 078c174..6e0383b 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -607,6 +607,10 @@ static void MwLLNextEventImpl(MwLL handle) { handle->gdi.get_darktheme = 0; } + if(handle->gdi.finishing_drag) { + handle->gdi.drag_update = 0; + handle->gdi.finishing_drag = 0; + } while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); @@ -1102,11 +1106,12 @@ static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDa for(n = 0; n < arrlen(self->handle->common.known_mime_types); n++) { if(strcmp(mime_type_normal, self->handle->common.known_mime_types[n]) == 0) { MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); - break; + self->handle->gdi.finishing_drag = 1; } } } else { MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); + self->handle->gdi.finishing_drag = 1; } } free(mime_type); From c404e9e14b05d1c4285635f4e1266c6e3ca9b3e7 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Wed, 22 Jul 2026 21:33:37 -0700 Subject: [PATCH 099/119] remove some leftover debug prints oops --- src/backend/gdi.c | 1 - src/text/gdi.c | 1 - 2 files changed, 2 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 6e0383b..37bb9c5 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -1148,7 +1148,6 @@ static void MwLLSetupDragAndDropImpl(MwLL handle) { printf("RegisterDragDrop failed; %08lx\n", hr); return; } - printf("dnd setup\n"); } static int MwLLGDICallInitImpl(void) { diff --git a/src/text/gdi.c b/src/text/gdi.c index ab54664..b5f3ced 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -215,7 +215,6 @@ static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, NULL); - printf("%d\n", tempFile); if(tempFile != INVALID_HANDLE_VALUE) { goto success; } else { From f35e7817624f93b6512cd0b0cc9a8443377857df Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Thu, 23 Jul 2026 00:10:26 -0700 Subject: [PATCH 100/119] win32: move away from com for drag and drop to avoid conflicts (and because com sucks) --- include/Mw/LowLevel/GDI.h | 14 --- src/backend/gdi.c | 188 +++++++++++--------------------------- 2 files changed, 53 insertions(+), 149 deletions(-) diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index 581c32d..e505b0a 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -29,12 +29,6 @@ struct _MwLLGDI { int force_render; int get_clipboard; int get_darktheme; - - /* drag and drop */ - struct _MwLLGDIDropTarget* dropTarget; - struct _MwLLGDIDropSource* dropSource; - MwBool drag_update; - MwBool finishing_drag; }; struct _MwLLGDIColor { @@ -53,14 +47,6 @@ struct _MwLLGDIPixmap { HBITMAP hMask2; }; -struct _MwLLGDIDropTarget{ - struct IDropTargetVtbl *lpVtbl; - LONG refCount; - HWND hwnd; - MwLL handle; -}; -typedef struct _MwLLGDIDropTarget MwLLGDIDropTarget; - MWDECL int MwLLGDICallInit(void); MWDECL HCURSOR MwLLGDICreateCursor(MwCursor* image, MwCursor* mask); diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 37bb9c5..849f8af 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -91,6 +91,8 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { if(u == NULL) return DefWindowProc(hWnd, msg, wp, lp); switch(msg) { + case WM_INITDIALOG: + return TRUE; case WM_PAINT: { PAINTSTRUCT ps; @@ -181,6 +183,49 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { MwLLDispatch(u->ll, up, &p); break; } + case WM_DROPFILES: { + HDROP hDrop = (HDROP)wp; + UINT count; + UINT i, n; + HRESULT hr; + + count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + + for(i = 0; i < count; i++) { + wchar_t path[MAX_PATH]; + char path_normal[MAX_PATH]; + char* mime_type_normal; + wchar_t* mime_type = NULL; + int mime_type_size; + HRESULT hr; + int i; + + wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); + wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); + hr = wsymtbl.FindMimeFromData(NULL, path, NULL, 0, + NULL, 0, &mime_type, 0x0); + + mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); + mime_type_normal = malloc(sizeof(mime_type_size)); + WideCharToMultiByte(CP_ACP, 0, mime_type, -1, mime_type_normal, mime_type_size, NULL, FALSE); + + if(mime_type_size == 0) { + printf("Error converting mime type to multi-byte: %ld\n", GetLastError()); + } else { + if(u->ll->common.known_mime_types) { + for(n = 0; n < arrlen(u->ll->common.known_mime_types); n++) { + if(strcmp(mime_type_normal, u->ll->common.known_mime_types[n]) == 0) { + MwDispatchUserHandler(u->ll->common.user, MwNdragAndDropHandler, path_normal); + } + } + } else { + MwDispatchUserHandler(u->ll->common.user, MwNdragAndDropHandler, path_normal); + } + } + } + DragFinish(hDrop); + break; + } case WM_MOUSEMOVE: { MwPoint p; @@ -210,6 +255,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { SetCursorPos(p.x, p.y); } + break; } case WM_SIZE: @@ -443,9 +489,6 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { SetWindowPos(r->gdi.hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); - r->gdi.dropTarget = NULL; - r->gdi.drag_update = MwFALSE; - return r; } @@ -460,8 +503,6 @@ static void MwLLDestroyImpl(MwLL handle) { if(handle->gdi.cursor != NULL) DestroyCursor(handle->gdi.cursor); - if(handle->gdi.dropTarget) free(handle->gdi.dropTarget); - free(handle); } @@ -575,7 +616,7 @@ static int MwLLPendingImpl(MwLL handle) { (void)handle; - if(handle->gdi.get_clipboard || handle->gdi.get_darktheme || handle->gdi.drag_update) return 1; + if(handle->gdi.get_clipboard || handle->gdi.get_darktheme) return 1; return PeekMessage(&msg, handle->gdi.hWnd, 0, 0, PM_NOREMOVE) ? 1 : 0; } @@ -607,13 +648,11 @@ static void MwLLNextEventImpl(MwLL handle) { handle->gdi.get_darktheme = 0; } - if(handle->gdi.finishing_drag) { - handle->gdi.drag_update = 0; - handle->gdi.finishing_drag = 0; - } - while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { - TranslateMessage(&msg); - DispatchMessage(&msg); + while(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { + if(GetMessage(&msg, NULL, 0, 0)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } } } @@ -1025,129 +1064,8 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) { } } -static HRESULT STDMETHODCALLTYPE GDIDT_QueryInterface(IDropTarget* this_, REFIID riid, void** ppv) { - if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDropTarget)) { - *ppv = this_; - this_->lpVtbl->AddRef(this_); - return S_OK; - } - *ppv = NULL; - return E_NOINTERFACE; -} - -static ULONG STDMETHODCALLTYPE GDIDT_AddRef(IDropTarget* this_) { - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - return InterlockedIncrement(&self->refCount); -} - -static ULONG STDMETHODCALLTYPE GDIDT_Release(IDropTarget* this_) { - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - LONG c = InterlockedDecrement(&self->refCount); - if(c == 0) free(self); - return c; -} - -static HRESULT STDMETHODCALLTYPE GDIDT_DragEnter(IDropTarget* this_, IDataObject* pDataObj, - DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { - *pdwEffect = DROPEFFECT_COPY; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE GDIDT_DragOver(IDropTarget* this_, DWORD grfKeyState, - POINTL pt, DWORD* pdwEffect) { - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - self->handle->gdi.drag_update = MwTRUE; - - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE GDIDT_DragLeave(IDropTarget* this_) { - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - self->handle->gdi.drag_update = MwFALSE; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE GDIDT_Drop(IDropTarget* this_, IDataObject* pDataObj, - DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) { - FORMATETC fmt = {CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; - STGMEDIUM stg; - MwLLGDIDropTarget* self = (MwLLGDIDropTarget*)this_; - - self->handle->gdi.drag_update = MwTRUE; - - if(pDataObj->lpVtbl->GetData(pDataObj, &fmt, &stg) == S_OK) { - HDROP hDrop = (HDROP)stg.hGlobal; - UINT count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); - UINT i, n; - HRESULT hr; - - for(i = 0; i < count; i++) { - wchar_t path[MAX_PATH]; - char path_normal[MAX_PATH]; - char* mime_type_normal; - wchar_t* mime_type = NULL; - int mime_type_size; - HRESULT hr; - int i; - - wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); - wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); - hr = wsymtbl.FindMimeFromData(NULL, path, NULL, 0, - NULL, 0, &mime_type, 0x0); - - mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); - mime_type_normal = malloc(sizeof(mime_type_size)); - WideCharToMultiByte(CP_ACP, 0, mime_type, -1, mime_type_normal, mime_type_size, NULL, FALSE); - - if(mime_type_size == 0) { - printf("Error converting mime type to multi-byte: %ld\n", GetLastError()); - } else { - if(self->handle->common.known_mime_types) { - for(n = 0; n < arrlen(self->handle->common.known_mime_types); n++) { - if(strcmp(mime_type_normal, self->handle->common.known_mime_types[n]) == 0) { - MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); - self->handle->gdi.finishing_drag = 1; - } - } - } else { - MwDispatchUserHandler(self->handle->common.user, MwNdragAndDropHandler, path_normal); - self->handle->gdi.finishing_drag = 1; - } - } - free(mime_type); - } - - wsymtbl.ReleaseStgMedium(&stg); - *pdwEffect = DROPEFFECT_COPY; - } else { - *pdwEffect = DROPEFFECT_NONE; - } - return S_OK; -} - -static IDropTargetVtbl DropTarget_Vtbl = { - GDIDT_QueryInterface, - GDIDT_AddRef, - GDIDT_Release, - GDIDT_DragEnter, - GDIDT_DragOver, - GDIDT_DragLeave, - GDIDT_Drop}; - static void MwLLSetupDragAndDropImpl(MwLL handle) { - HRESULT hr = 0; - - handle->gdi.dropTarget = (MwLLGDIDropTarget*)malloc(sizeof(MwLLGDIDropTarget)); - handle->gdi.dropTarget->lpVtbl = &DropTarget_Vtbl; - handle->gdi.dropTarget->refCount = 1; - handle->gdi.dropTarget->hwnd = handle->gdi.hWnd; - handle->gdi.dropTarget->handle = handle; - - hr = wsymtbl.RegisterDragDrop(handle->gdi.hWnd, (IDropTarget*)handle->gdi.dropTarget); - if(!SUCCEEDED(hr)) { - printf("RegisterDragDrop failed; %08lx\n", hr); - return; - } + DragAcceptFiles(handle->gdi.hWnd, TRUE); } static int MwLLGDICallInitImpl(void) { From 9dd96d9cecaa94f2b3b9801a4bf09b8b7b6c45fc Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Thu, 23 Jul 2026 00:34:38 -0700 Subject: [PATCH 101/119] dynload drag functions --- include/Mw/LowLevel.h | 1 + src/backend/gdi.c | 52 ++++++++----------------------------------- src/core.c | 11 +++++++++ 3 files changed, 21 insertions(+), 43 deletions(-) diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index b58d54e..6089e48 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -206,6 +206,7 @@ struct _MwLLHandler { void (*focus_out)(MwLL handle, void* data); void (*clipboard)(MwLL handle, void* data); void (*dark_theme)(MwLL handle, void* data); + void (*drag_and_drop)(MwLL handle, void* data); }; struct _MwLLTextDispatchTable { diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 849f8af..e9f3d4c 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -13,16 +13,13 @@ typedef struct userdata { static struct symtbl { void* lib_dwmapi; void* shell32lib; - void* ole32lib; void* urlmonlib; MwBool has_drag_and_drop; HRESULT(WINAPI* DwmSetWindowAttribute)(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute); + UINT(WINAPI* DragQueryFileW)(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); UINT(WINAPI* DragQueryFileA)(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); - void(WINAPI* ReleaseStgMedium)(LPSTGMEDIUM unnamedParam1); - HRESULT(WINAPI* OleInitialize)(LPVOID pvReserved); - HRESULT(WINAPI* RegisterDragDrop)(HWND hwnd, LPDROPTARGET pDropTarget); HRESULT(WINAPI* FindMimeFromData)( LPBC pBC, LPCWSTR pwzUrl, @@ -32,9 +29,8 @@ static struct symtbl { DWORD dwMimeFlags, LPWSTR* ppwzMimeOut, DWORD dwReserved); - HRESULT (*CoInitializeEx)( - LPVOID pvReserved, - DWORD dwCoInit); + void (*DragAcceptFiles)(HWND hWnd, BOOL fAccept); + void (*DragFinish)(HDROP hDrop); } wsymtbl; static int is_plgblt_reliable = 0; @@ -215,15 +211,15 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { if(u->ll->common.known_mime_types) { for(n = 0; n < arrlen(u->ll->common.known_mime_types); n++) { if(strcmp(mime_type_normal, u->ll->common.known_mime_types[n]) == 0) { - MwDispatchUserHandler(u->ll->common.user, MwNdragAndDropHandler, path_normal); + MwLLDispatch(u->ll, drag_and_drop, path_normal); } } } else { - MwDispatchUserHandler(u->ll->common.user, MwNdragAndDropHandler, path_normal); + MwLLDispatch(u->ll, drag_and_drop, path_normal); } } } - DragFinish(hDrop); + wsymtbl.DragFinish(hDrop); break; } case WM_MOUSEMOVE: @@ -1065,7 +1061,7 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) { } static void MwLLSetupDragAndDropImpl(MwLL handle) { - DragAcceptFiles(handle->gdi.hWnd, TRUE); + wsymtbl.DragAcceptFiles(handle->gdi.hWnd, TRUE); } static int MwLLGDICallInitImpl(void) { @@ -1091,9 +1087,6 @@ static int MwLLGDICallInitImpl(void) { if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) { goto dnd_error; }; - if(!(wsymtbl.ole32lib = LoadLibrary("ole32.dll"))) { - goto dnd_error; - }; if(!(wsymtbl.urlmonlib = LoadLibrary("Urlmon.dll"))) { goto dnd_error; }; @@ -1103,11 +1096,6 @@ static int MwLLGDICallInitImpl(void) { printf(#x "not found, drag and drop will not be supported"); \ goto dnd_error; \ } -#define OLE32_FUNC(x) \ - if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.ole32lib, #x))) { \ - printf(#x "not found, drag and drop will not be supported"); \ - goto dnd_error; \ - } #define URLMON_FUNC(x) \ if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.urlmonlib, #x))) { \ printf(#x "not found, drag and drop will not be supported"); \ @@ -1116,32 +1104,10 @@ static int MwLLGDICallInitImpl(void) { SHELL32_FUNC(DragQueryFileW); SHELL32_FUNC(DragQueryFileA); - OLE32_FUNC(ReleaseStgMedium); - OLE32_FUNC(RegisterDragDrop); - OLE32_FUNC(CoInitializeEx); + SHELL32_FUNC(DragAcceptFiles); + SHELL32_FUNC(DragFinish); URLMON_FUNC(FindMimeFromData); - hr = wsymtbl.CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); - /* The only other error - COM already being initialized - can be ignored */ - if(hr == RPC_E_CHANGED_MODE) { - goto no_dnd; - } - if(!SUCCEEDED(hr) && hr != S_FALSE) { - printf("CoInitialize error: %08lx\n", hr); - goto dnd_error; - } - hr = OleInitialize(NULL); - if(!SUCCEEDED(hr)) { - if(hr == RPC_E_CHANGED_MODE) { - no_dnd: - printf("Cannot do drag and drop; Microsoft hates you and if you use COM anywhere else it has to be apartment threaded.\n"); - goto dnd_error; - } else { - printf("OleInitialize failed; %08lx. Drag and Drop won't be supported.\n", hr); - goto dnd_error; - } - } - wsymtbl.has_drag_and_drop = MwTRUE; } dnd_error: diff --git a/src/core.c b/src/core.c index 2eca665..d1a5d9b 100644 --- a/src/core.c +++ b/src/core.c @@ -192,6 +192,16 @@ static void llclipboardhandler(MwLL handle, void* data) { MwDispatchUserHandler(h, MwNclipboardHandler, data); } +static void lldraganddrophandler(MwLL handle, void* data) { + MwWidget h = (MwWidget)handle->common.user; + const char * p = data; + if(MwGetInteger(h, MwNdisabled) == 1) return; + + printf("%s\n",p); + MwDispatchUserHandler(h, MwNdragAndDropHandler, data); +} + + /* if both of them are true * 1. widget class is not NULL * 2. parent is NULL @@ -285,6 +295,7 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, h->lowlevel->common.handler->focus_out = llfocusouthandler; h->lowlevel->common.handler->clipboard = llclipboardhandler; h->lowlevel->common.handler->dark_theme = lldarkthemehandler; + h->lowlevel->common.handler->drag_and_drop = lldraganddrophandler; } if(parent != NULL) arrput(parent->children, h); From e20684f89ba3001fa79b15ba60bcba4cce00b359 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Thu, 23 Jul 2026 00:56:13 -0700 Subject: [PATCH 102/119] remove mime type stuff for now Windows's built in function for getting mime type sucks, and I don't want to have to vendor in libmagic. We'll leave this as something the user can handle themselves. --- include/Mw/LowLevel.h | 1 - include/Mw/StringDefs.h | 1 - src/backend/gdi.c | 43 +++-------------------------------------- src/core.c | 6 ------ src/lowlevel.c | 1 - 5 files changed, 3 insertions(+), 49 deletions(-) diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 6089e48..0c53bd3 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -39,7 +39,6 @@ struct _MwLLCommon { int type; int coordinate_type; MwBool supports_transparency; - const char** known_mime_types; MwLLHandler handler; }; diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index 5f9e3e4..885e07e 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -63,7 +63,6 @@ #define MwNforeground "Sforeground" #define MwNsubForeground "SsubForeground" #define MwNtitleForeground "StitleForeground" -#define MwNacceptedMimeType "SacceptedMimeType" #define MwNvulkanExtension "SEvulkanExtension" diff --git a/src/backend/gdi.c b/src/backend/gdi.c index e9f3d4c..aa5f7c1 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -20,15 +20,6 @@ static struct symtbl { UINT(WINAPI* DragQueryFileW)(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); UINT(WINAPI* DragQueryFileA)(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); - HRESULT(WINAPI* FindMimeFromData)( - LPBC pBC, - LPCWSTR pwzUrl, - LPVOID pBuffer, - DWORD cbSize, - LPCWSTR pwzMimeProposed, - DWORD dwMimeFlags, - LPWSTR* ppwzMimeOut, - DWORD dwReserved); void (*DragAcceptFiles)(HWND hWnd, BOOL fAccept); void (*DragFinish)(HDROP hDrop); } wsymtbl; @@ -188,36 +179,9 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); for(i = 0; i < count; i++) { - wchar_t path[MAX_PATH]; - char path_normal[MAX_PATH]; - char* mime_type_normal; - wchar_t* mime_type = NULL; - int mime_type_size; - HRESULT hr; - int i; - - wsymtbl.DragQueryFileW(hDrop, i, path, MAX_PATH); - wsymtbl.DragQueryFileA(hDrop, i, path_normal, MAX_PATH); - hr = wsymtbl.FindMimeFromData(NULL, path, NULL, 0, - NULL, 0, &mime_type, 0x0); - - mime_type_size = WideCharToMultiByte(CP_ACP, 0, mime_type, -1, NULL, 0, NULL, FALSE); - mime_type_normal = malloc(sizeof(mime_type_size)); - WideCharToMultiByte(CP_ACP, 0, mime_type, -1, mime_type_normal, mime_type_size, NULL, FALSE); - - if(mime_type_size == 0) { - printf("Error converting mime type to multi-byte: %ld\n", GetLastError()); - } else { - if(u->ll->common.known_mime_types) { - for(n = 0; n < arrlen(u->ll->common.known_mime_types); n++) { - if(strcmp(mime_type_normal, u->ll->common.known_mime_types[n]) == 0) { - MwLLDispatch(u->ll, drag_and_drop, path_normal); - } - } - } else { - MwLLDispatch(u->ll, drag_and_drop, path_normal); - } - } + char path[MAX_PATH]; + wsymtbl.DragQueryFileA(hDrop, i, path, MAX_PATH); + MwLLDispatch(u->ll, drag_and_drop, path); } wsymtbl.DragFinish(hDrop); break; @@ -1106,7 +1070,6 @@ static int MwLLGDICallInitImpl(void) { SHELL32_FUNC(DragQueryFileA); SHELL32_FUNC(DragAcceptFiles); SHELL32_FUNC(DragFinish); - URLMON_FUNC(FindMimeFromData); wsymtbl.has_drag_and_drop = MwTRUE; } diff --git a/src/core.c b/src/core.c index d1a5d9b..eb81536 100644 --- a/src/core.c +++ b/src/core.c @@ -707,12 +707,6 @@ void MwSetText(MwWidget handle, const char* key, const char* value) { if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0 || strcmp(key, MwNsubBackground) == 0 || strcmp(key, MwNsubForeground) == 0) { MwForceRender(handle); } - - if(strcmp(key, MwNacceptedMimeType) == 0) { - if(handle->lowlevel != NULL) { - arrput(handle->lowlevel->common.known_mime_types, value); - } - } } void MwSetVoid(MwWidget handle, const char* key, void* value) { diff --git a/src/lowlevel.c b/src/lowlevel.c index aca10c2..38a1ab0 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -64,7 +64,6 @@ void MwLLCreateCommon(MwLL handle) { memset(handle->common.handler, 0, sizeof(*handle->common.handler)); handle->common.supports_transparency = 0; - handle->common.known_mime_types = NULL; } void MwLLDestroyCommon(MwLL handle) { From f6c129b31c479e5f2ae31c025b99e9d204e8f386 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Thu, 23 Jul 2026 01:00:52 -0700 Subject: [PATCH 103/119] win32: pass utf8 function to dnd --- src/backend/gdi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index aa5f7c1..d4a8418 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -19,7 +19,6 @@ static struct symtbl { HRESULT(WINAPI* DwmSetWindowAttribute)(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute); UINT(WINAPI* DragQueryFileW)(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); - UINT(WINAPI* DragQueryFileA)(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); void (*DragAcceptFiles)(HWND hWnd, BOOL fAccept); void (*DragFinish)(HDROP hDrop); } wsymtbl; @@ -179,8 +178,13 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); for(i = 0; i < count; i++) { + wchar_t wpath[MAX_PATH]; char path[MAX_PATH]; - wsymtbl.DragQueryFileA(hDrop, i, path, MAX_PATH); + wsymtbl.DragQueryFileW(hDrop, i, wpath, MAX_PATH); + + memset(path, 0, sizeof(path)); + WideCharToMultiByte(CP_UTF8, 0, wpath, -1, path, sizeof(path) - 1, NULL, NULL); + MwLLDispatch(u->ll, drag_and_drop, path); } wsymtbl.DragFinish(hDrop); @@ -1067,7 +1071,6 @@ static int MwLLGDICallInitImpl(void) { } SHELL32_FUNC(DragQueryFileW); - SHELL32_FUNC(DragQueryFileA); SHELL32_FUNC(DragAcceptFiles); SHELL32_FUNC(DragFinish); From 39a458d80f34949a2c6a5242785b45884381ca2e Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Thu, 23 Jul 2026 18:24:56 +0900 Subject: [PATCH 104/119] win32: remove unused urlmon dep --- src/backend/gdi.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index d4a8418..7f4ae6d 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -13,7 +13,6 @@ typedef struct userdata { static struct symtbl { void* lib_dwmapi; void* shell32lib; - void* urlmonlib; MwBool has_drag_and_drop; HRESULT(WINAPI* DwmSetWindowAttribute)(HWND hwnd, DWORD dwAttribute, LPCVOID pvAttribute, DWORD cbAttribute); @@ -1055,20 +1054,12 @@ static int MwLLGDICallInitImpl(void) { if(!(wsymtbl.shell32lib = LoadLibrary("shell32.dll"))) { goto dnd_error; }; - if(!(wsymtbl.urlmonlib = LoadLibrary("Urlmon.dll"))) { - goto dnd_error; - }; #define SHELL32_FUNC(x) \ if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.shell32lib, #x))) { \ printf(#x "not found, drag and drop will not be supported"); \ goto dnd_error; \ } -#define URLMON_FUNC(x) \ - if(!(wsymtbl.x = (void*)GetProcAddress(wsymtbl.urlmonlib, #x))) { \ - printf(#x "not found, drag and drop will not be supported"); \ - goto dnd_error; \ - } SHELL32_FUNC(DragQueryFileW); SHELL32_FUNC(DragAcceptFiles); From 7c2ab989fa30ef5a7641c927c93f2a49c31f4fb9 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Fri, 24 Jul 2026 20:51:17 -0700 Subject: [PATCH 105/119] formatting --- include/Mw/TypeDefs.h | 2 +- src/backend/gdi.c | 35 ++++++++++++++++++----------------- src/core.c | 40 ++++++++++++++++++++-------------------- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/include/Mw/TypeDefs.h b/include/Mw/TypeDefs.h index fbc91fa..ad072a3 100644 --- a/include/Mw/TypeDefs.h +++ b/include/Mw/TypeDefs.h @@ -274,7 +274,7 @@ struct _MwClass { MwHandlerChildrenProp children_prop_change; MwHandlerClipboardReceived clipboard; MwHandlerProps props_change; - MwHandler drag_and_drop; + MwHandler drag_and_drop; void* reserved2; void* reserved3; }; diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 7f4ae6d..2abc8b3 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -77,7 +77,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { switch(msg) { case WM_INITDIALOG: - return TRUE; + return TRUE; case WM_PAINT: { PAINTSTRUCT ps; @@ -168,25 +168,26 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { MwLLDispatch(u->ll, up, &p); break; } - case WM_DROPFILES: { - HDROP hDrop = (HDROP)wp; - UINT count; - UINT i, n; - HRESULT hr; + case WM_DROPFILES: + { + HDROP hDrop = (HDROP)wp; + UINT count; + UINT i, n; + HRESULT hr; - count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); + count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); - for(i = 0; i < count; i++) { - wchar_t wpath[MAX_PATH]; - char path[MAX_PATH]; - wsymtbl.DragQueryFileW(hDrop, i, wpath, MAX_PATH); + for(i = 0; i < count; i++) { + wchar_t wpath[MAX_PATH]; + char path[MAX_PATH]; + wsymtbl.DragQueryFileW(hDrop, i, wpath, MAX_PATH); - memset(path, 0, sizeof(path)); - WideCharToMultiByte(CP_UTF8, 0, wpath, -1, path, sizeof(path) - 1, NULL, NULL); + memset(path, 0, sizeof(path)); + WideCharToMultiByte(CP_UTF8, 0, wpath, -1, path, sizeof(path) - 1, NULL, NULL); MwLLDispatch(u->ll, drag_and_drop, path); - } - wsymtbl.DragFinish(hDrop); + } + wsymtbl.DragFinish(hDrop); break; } case WM_MOUSEMOVE: @@ -612,9 +613,9 @@ static void MwLLNextEventImpl(MwLL handle) { handle->gdi.get_darktheme = 0; } while(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { - if(GetMessage(&msg, NULL, 0, 0)) { + if(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); - DispatchMessage(&msg); + DispatchMessage(&msg); } } } diff --git a/src/core.c b/src/core.c index eb81536..251d255 100644 --- a/src/core.c +++ b/src/core.c @@ -145,8 +145,9 @@ static void llclosehandler(MwLL handle, void* data) { } static void llmovehandler(MwLL handle, void* data) { - MwWidget h = (MwWidget)handle->common.user; - MwPoint* p = data; + MwWidget h = (MwWidget)handle->common.user; + MwPoint* p = data; + h->mouse_point.x = p->x; h->mouse_point.y = p->y; @@ -193,15 +194,13 @@ static void llclipboardhandler(MwLL handle, void* data) { } static void lldraganddrophandler(MwLL handle, void* data) { - MwWidget h = (MwWidget)handle->common.user; - const char * p = data; + MwWidget h = (MwWidget)handle->common.user; + const char* p = data; if(MwGetInteger(h, MwNdisabled) == 1) return; - printf("%s\n",p); MwDispatchUserHandler(h, MwNdragAndDropHandler, data); } - /* if both of them are true * 1. widget class is not NULL * 2. parent is NULL @@ -282,20 +281,20 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, if(parent == NULL) h->top_step = 1; if(h->lowlevel != NULL) { - h->lowlevel->common.user = h; - h->lowlevel->common.handler->draw = lldrawhandler; - h->lowlevel->common.handler->up = lluphandler; - h->lowlevel->common.handler->down = lldownhandler; - h->lowlevel->common.handler->resize = llresizehandler; - h->lowlevel->common.handler->close = llclosehandler; - h->lowlevel->common.handler->move = llmovehandler; - h->lowlevel->common.handler->key = llkeyhandler; - h->lowlevel->common.handler->key_released = llkeyrelhandler; - h->lowlevel->common.handler->focus_in = llfocusinhandler; - h->lowlevel->common.handler->focus_out = llfocusouthandler; - h->lowlevel->common.handler->clipboard = llclipboardhandler; - h->lowlevel->common.handler->dark_theme = lldarkthemehandler; - h->lowlevel->common.handler->drag_and_drop = lldraganddrophandler; + h->lowlevel->common.user = h; + h->lowlevel->common.handler->draw = lldrawhandler; + h->lowlevel->common.handler->up = lluphandler; + h->lowlevel->common.handler->down = lldownhandler; + h->lowlevel->common.handler->resize = llresizehandler; + h->lowlevel->common.handler->close = llclosehandler; + h->lowlevel->common.handler->move = llmovehandler; + h->lowlevel->common.handler->key = llkeyhandler; + h->lowlevel->common.handler->key_released = llkeyrelhandler; + h->lowlevel->common.handler->focus_in = llfocusinhandler; + h->lowlevel->common.handler->focus_out = llfocusouthandler; + h->lowlevel->common.handler->clipboard = llclipboardhandler; + h->lowlevel->common.handler->dark_theme = lldarkthemehandler; + h->lowlevel->common.handler->drag_and_drop = lldraganddrophandler; } if(parent != NULL) arrput(parent->children, h); @@ -573,6 +572,7 @@ int MwStep(MwWidget handle) { MwFreeWidget(handle); return 1; } + return 0; } From 974947b400577d56246197583b5b6b3d35d38863 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 26 Jul 2026 01:21:50 +0900 Subject: [PATCH 106/119] remove warnings --- src/backend/gdi.c | 4 +--- src/core.c | 3 ++- src/text/gdi.c | 2 +- src/widget/entry.c | 2 ++ 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 2abc8b3..71bfcfb 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -172,8 +172,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { { HDROP hDrop = (HDROP)wp; UINT count; - UINT i, n; - HRESULT hr; + UINT i; count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); @@ -1034,7 +1033,6 @@ static void MwLLSetupDragAndDropImpl(MwLL handle) { static int MwLLGDICallInitImpl(void) { void* ntdll; - HRESULT hr; memset(&wsymtbl, 0, sizeof(wsymtbl)); diff --git a/src/core.c b/src/core.c index 251d255..4d584d0 100644 --- a/src/core.c +++ b/src/core.c @@ -195,7 +195,6 @@ static void llclipboardhandler(MwLL handle, void* data) { static void lldraganddrophandler(MwLL handle, void* data) { MwWidget h = (MwWidget)handle->common.user; - const char* p = data; if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatchUserHandler(h, MwNdragAndDropHandler, data); @@ -328,7 +327,9 @@ static MwWidget MwCreateWidget_Internal(MwClass widget_class, const char* name, #if defined(USE_STB_TRUETYPE) || defined(USE_FREETYPE2) || defined(USE_GDI_TEXT) if(IsFirstVisible(h)) { +#ifdef USE_STB_TRUETYPE font_setup: +#endif h->root_font = MwFontLoad(MwTTFData, MwTTFDataSize); h->root_boldfont = MwFontLoad(MwBoldTTFData, MwBoldTTFDataSize); h->root_monofont = MwFontLoad(MwMonospaceTTFData, MwMonospaceTTFDataSize); diff --git a/src/text/gdi.c b/src/text/gdi.c index b5f3ced..b965e2d 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -245,7 +245,7 @@ static BOOL WINAPI _RemoveFontMemResourceExPolyFill(HANDLE h) { int MwFL_GDISetup(void) { void* gdilib = LoadLibrary("gdi32.dll"); if(!gdilib) { - printf("gdi32.dll not found(?????)\n"); + printf("gdi32.dll not found(what)\n"); } else { _AddFontMemResourceEx = (void*)GetProcAddress(gdilib, "AddFontMemResourceEx"); if(!_AddFontMemResourceEx) { diff --git a/src/widget/entry.c b/src/widget/entry.c index dd867d7..44f5a42 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -180,6 +180,8 @@ static void mouse_down(MwWidget handle, void* ptr) { MwEntry t = handle->internal; MwWidget topmost_parent = handle->parent; + (void)ptr; + while(topmost_parent->parent) topmost_parent = topmost_parent->parent; for(i = 0; i < arrlen(topmost_parent->monitored_entries); i++) { From 85b66d0d9af1e0654d81175d39f6bab54910497f Mon Sep 17 00:00:00 2001 From: Nishi Date: Sun, 26 Jul 2026 01:44:01 +0900 Subject: [PATCH 107/119] fix font rendering --- include/Mw/LowLevel/GDI.h | 3 +-- include/Mw/StringDefs.h | 1 - src/backend/cairo.c | 12 ++++++------ src/backend/gdi.c | 16 +++++++++------- src/core.c | 2 +- src/dialog/messagebox.c | 6 +++--- src/text/gdi.c | 6 +++--- src/text/text.c | 1 + src/widget/entry.c | 2 +- 9 files changed, 25 insertions(+), 24 deletions(-) diff --git a/include/Mw/LowLevel/GDI.h b/include/Mw/LowLevel/GDI.h index e505b0a..d2e2473 100644 --- a/include/Mw/LowLevel/GDI.h +++ b/include/Mw/LowLevel/GDI.h @@ -34,8 +34,7 @@ struct _MwLLGDI { struct _MwLLGDIColor { struct _MwLLCommonColor common; - COLORREF color; - HBRUSH brush; + HBRUSH brush; }; struct _MwLLGDIPixmap { diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index 885e07e..6ad4e46 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -64,7 +64,6 @@ #define MwNsubForeground "SsubForeground" #define MwNtitleForeground "StitleForeground" - #define MwNvulkanExtension "SEvulkanExtension" #define MwNvulkanLayer "SEvulkanLayer" #define MwNvulkanConfig "VEvulkanConfig" diff --git a/src/backend/cairo.c b/src/backend/cairo.c index d70de1b..65380fb 100644 --- a/src/backend/cairo.c +++ b/src/backend/cairo.c @@ -212,8 +212,8 @@ static void MwLLFreeColorImpl(MwLLColor color) {} static MwBool lmao = MwFALSE; static int MwLLPendingImpl(MwLL handle) { - lmao = !lmao; - return lmao; + lmao = !lmao; + return lmao; } static void MwLLNextEventImpl(MwLL handle) { MwLLDispatch(handle, draw, NULL); @@ -257,10 +257,10 @@ static void MwLLRaiseImpl(MwLL handle) {} static void MwLLClipImpl(MwLL handle, MwRect* rect) {} static void MwLLSetupDragAndDropImpl(MwLL handle) {} static int MwLLCairoCallInitImpl(void) { - if(cairo_load_funcs() != 0) { - return 1; - } - return 0; + if(cairo_load_funcs() != 0) { + return 1; + } + return 0; } #include "call.c" CALL(Cairo); diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 71bfcfb..89caab2 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -170,9 +170,9 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { } case WM_DROPFILES: { - HDROP hDrop = (HDROP)wp; - UINT count; - UINT i; + HDROP hDrop = (HDROP)wp; + UINT count; + UINT i; count = wsymtbl.DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0); @@ -524,7 +524,8 @@ static MwLLColor MwLLAllocColorImpl(MwLL handle, int r, int g, int b) { } static void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) { - HDC dc = GetDC(handle->gdi.hWnd); + HDC dc = GetDC(handle->gdi.hWnd); + COLORREF color; if(r > 255) r = 255; if(g > 255) g = 255; @@ -533,9 +534,10 @@ static void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) { if(g < 0) g = 0; if(b < 0) b = 0; + color = GetNearestColor(dc, RGB(r, g, b)); + if(c->gdi.brush != NULL) DeleteObject(c->gdi.brush); - c->gdi.color = GetNearestColor(dc, RGB(r, g, b)); - c->gdi.brush = CreateSolidBrush(c->gdi.color); + c->gdi.brush = CreateSolidBrush(color); c->common.red = r; c->common.green = g; c->common.blue = b; @@ -1032,7 +1034,7 @@ static void MwLLSetupDragAndDropImpl(MwLL handle) { } static int MwLLGDICallInitImpl(void) { - void* ntdll; + void* ntdll; memset(&wsymtbl, 0, sizeof(wsymtbl)); diff --git a/src/core.c b/src/core.c index 4d584d0..9d149d8 100644 --- a/src/core.c +++ b/src/core.c @@ -194,7 +194,7 @@ static void llclipboardhandler(MwLL handle, void* data) { } static void lldraganddrophandler(MwLL handle, void* data) { - MwWidget h = (MwWidget)handle->common.user; + MwWidget h = (MwWidget)handle->common.user; if(MwGetInteger(h, MwNdisabled) == 1) return; MwDispatchUserHandler(h, MwNdragAndDropHandler, data); diff --git a/src/dialog/messagebox.c b/src/dialog/messagebox.c index 6a96f6d..ff72bc8 100644 --- a/src/dialog/messagebox.c +++ b/src/dialog/messagebox.c @@ -68,9 +68,9 @@ MwWidget MwMessageBox(MwWidget handle, const char* text, const char* title, unsi if(flag & MwMB_BUTTONYES) spawn_button(window, w - (x += 8 + 80), h - 8 - 24, MwMB_BUTTONYES, "Yes"); if((flag & MwMB_ICONMASK) != 0) { - MwWidget icon; - MwLLPixmap px; - MwU32* data = NULL; + MwWidget icon; + MwLLPixmap px; + MwU32* data = NULL; icon = MwCreateWidget(MwImageClass, "image", window, 8, (h - 48) / 2, 48, 48); diff --git a/src/text/gdi.c b/src/text/gdi.c index b965e2d..97e6870 100644 --- a/src/text/gdi.c +++ b/src/text/gdi.c @@ -28,10 +28,10 @@ static int GDI_MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const c tw = MwTextWidth(handle, ttf, text); th = MwTextHeight(handle, ttf, text); - if(handle->lowlevel->common.type == MwLLBackendGDI && MwGetInteger(handle, MwNmodernLook) == MwFALSE) { + if(handle->lowlevel->common.type == MwLLBackendGDI) { HFONT old_font = SelectObject(handle->lowlevel->gdi.hDC, ttf->font); int old_bkmode = SetBkMode(handle->lowlevel->gdi.hDC, TRANSPARENT); - COLORREF old_color = SetTextColor(handle->lowlevel->gdi.hDC, color->gdi.color); + COLORREF old_color = SetTextColor(handle->lowlevel->gdi.hDC, RGB(color->common.red, color->common.green, color->common.blue)); TextOut(handle->lowlevel->gdi.hDC, point->x, point->y - th / 2, t, strlen(t)); @@ -180,7 +180,7 @@ static HANDLE WINAPI _AddFontMemResourceExPolyFill(PVOID pFileView, DWORD cjSize CHAR temp_path_dir[MAX_PATH]; CHAR temp_path_name[MAX_PATH]; HANDLE tempFile = NULL; - DWORD hr; + DWORD hr; (void)pvResrved; diff --git a/src/text/text.c b/src/text/text.c index 9ad1e94..9d7d184 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -91,6 +91,7 @@ void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, fadedColor->common.red = fadedColor->common.red + (c->common.red - fadedColor->common.red) * 0.5; fadedColor->common.green = fadedColor->common.green + (c->common.green - fadedColor->common.green) * 0.5; fadedColor->common.blue = fadedColor->common.blue + (c->common.blue - fadedColor->common.blue) * 0.5; + MwLLColorUpdate(handle->lowlevel, fadedColor, fadedColor->common.red, fadedColor->common.green, fadedColor->common.blue); MwLLFreeColor(c); } diff --git a/src/widget/entry.c b/src/widget/entry.c index 44f5a42..9d423bf 100644 --- a/src/widget/entry.c +++ b/src/widget/entry.c @@ -9,7 +9,7 @@ static int wcreate(MwWidget handle) { t->right = 0; t->length = 0; t->cursor_blink_timer = 0; - t->active = 0; + t->active = 0; handle->internal = t; while(topmost_parent->parent) topmost_parent = topmost_parent->parent; From bde66f13a517c18bc80c1ff30b809c508ccb2864 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sat, 8 Aug 2026 15:26:42 -0700 Subject: [PATCH 108/119] fix the wall of warnings on VS2022 --- src/draw.c | 158 +++++++++++++++++++++++++++++------------------------ 1 file changed, 87 insertions(+), 71 deletions(-) diff --git a/src/draw.c b/src/draw.c index ce86d90..2314c02 100644 --- a/src/draw.c +++ b/src/draw.c @@ -43,9 +43,9 @@ static void color_set_disabled_if_disabled(MwWidget handle, MwLLColor rgb) { MwLLColor c = handle->parent == NULL ? NULL : MwParseColor(handle->parent, MwGetText(handle->parent, MwNbackground)); if(c != NULL) { - rgb->common.red = rgb->common.red + (c->common.red - rgb->common.red) * 0.5; - rgb->common.green = rgb->common.green + (c->common.green - rgb->common.green) * 0.5; - rgb->common.blue = rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5; + rgb->common.red = (MwU8)(rgb->common.red + (c->common.red - rgb->common.red) * 0.5); + rgb->common.green = (MwU8)(rgb->common.green + (c->common.green - rgb->common.green) * 0.5); + rgb->common.blue = (MwU8)(rgb->common.blue + (c->common.blue - rgb->common.blue) * 0.5); MwLLColorUpdate(handle->lowlevel, rgb, rgb->common.red, rgb->common.green, rgb->common.blue); MwLLFreeColor(c); @@ -124,8 +124,11 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) { int ColorDiff = get_color_diff(handle); double darkenStep = (ColorDiff / 2.) / rect->height; unsigned long sz = 1 * rect->height * 4; - unsigned char* data = malloc(sz); + unsigned char* data = malloc(sz*2); MwRect r = *rect; + if(!data) { + return; + } if(rect->width <= 0 || rect->height <= 0) { free(data); return; @@ -138,7 +141,7 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) { r.height -= 2; for(y = 0; y < rect->height; y++) { - MwLLColor col = MwLightenColor(handle, color, -darken, -darken, -darken); + MwLLColor col = MwLightenColor(handle, color, (int)-darken, (int)-darken, (int)-darken); int idx = y * 4; color_set_disabled_if_disabled(handle, col); data[idx] = col->common.red; @@ -458,11 +461,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p1[1].x = rect->x; p1[1].y = rect->y + rect->height; - p1[2].x = rect->x + c * border; - p1[2].y = rect->y + rect->height - s * border; + p1[2].x = (int)(rect->x + c * border); + p1[2].y = (int)(rect->y + rect->height - s * border); p1[3].x = rect->x + rect->width / 2; - p1[3].y = rect->y + border; + p1[3].y = (int)(rect->y + border); p2[0].x = rect->x + rect->width / 2; p2[0].y = rect->y; @@ -470,14 +473,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p2[1].x = rect->x + rect->width; p2[1].y = rect->y + rect->height; - p2[2].x = rect->x + rect->width - c * border; - p2[2].y = rect->y + rect->height - s * border; + p2[2].x = (int)(rect->x + rect->width - c * border); + p2[2].y = (int)(rect->y + rect->height - s * border); p2[3].x = rect->x + rect->width / 2; - p2[3].y = rect->y + border; + p2[3].y = (int)(rect->y + border); - p3[0].x = rect->x + c * border; - p3[0].y = rect->y + rect->height - s * border; + p3[0].x = (int)(rect->x + c * border); + p3[0].y = (int)(rect->y + rect->height - s * border); p3[1].x = rect->x; p3[1].y = rect->y + rect->height; @@ -485,30 +488,30 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p3[2].x = rect->x + rect->width; p3[2].y = rect->y + rect->height; - p3[3].x = rect->x + rect->width - c * border; - p3[3].y = rect->y + rect->height - s * border; + p3[3].x = (int)(rect->x + rect->width - c * border); + p3[3].y = (int)(rect->y + rect->height - s * border); MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p2, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); - p4[0].x = rect->x + c * border; - p4[0].y = rect->y + rect->height - s * border; + p4[0].x = (int)(rect->x + c * border); + p4[0].y = (int)(rect->y + rect->height - s * border); - p4[1].x = rect->x + rect->width - c * border; - p4[1].y = rect->y + rect->height - s * border; + p4[1].x = (int)(rect->x + rect->width - c * border); + p4[1].y = (int)(rect->y + rect->height - s * border); p4[2].x = rect->x + rect->width / 2; - p4[2].y = rect->y + border; + p4[2].y = (int)(rect->y + border); } else if(direction == MwSOUTH) { p1[0].x = rect->x; p1[0].y = rect->y; - p1[1].x = rect->x + c * border; - p1[1].y = rect->y + s * border; + p1[1].x = (int)(rect->x + c * border); + p1[1].y = (int)(rect->y + s * border); - p1[2].x = rect->x + rect->width - c * border; - p1[2].y = rect->y + s * border; + p1[2].x = (int)(rect->x + rect->width - c * border); + p1[2].y = (int)(rect->y + s * border); p1[3].x = rect->x + rect->width; p1[3].y = rect->y; @@ -516,11 +519,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p2[0].x = rect->x; p2[0].y = rect->y; - p2[1].x = rect->x + c * border; - p2[1].y = rect->y + s * border; + p2[1].x = (int)(rect->x + c * border); + p2[1].y = (int)(rect->y + s * border); p2[2].x = rect->x + rect->width / 2; - p2[2].y = rect->y + rect->height - border; + p2[2].y = (int)(rect->y + rect->height - border); p2[3].x = rect->x + rect->width / 2; p2[3].y = rect->y + rect->height; @@ -532,32 +535,32 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p3[1].y = rect->y + rect->height; p3[2].x = rect->x + rect->width / 2; - p3[2].y = rect->y + rect->height - border; + p3[2].y = (int)(rect->y + rect->height - border); - p3[3].x = rect->x + rect->width - c * border; - p3[3].y = rect->y + s * border; + p3[3].x = (int)(rect->x + rect->width - c * border); + p3[3].y = (int)(rect->y + s * border); MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p2, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); - p4[0].x = rect->x + c * border; - p4[0].y = rect->y + s * border; + p4[0].x = (int)(rect->x + c * border); + p4[0].y = (int)(rect->y + s * border); - p4[1].x = rect->x + rect->width - c * border; - p4[1].y = rect->y + s * border; + p4[1].x = (int)(rect->x + rect->width - c * border); + p4[1].y = (int)(rect->y + s * border); p4[2].x = rect->x + rect->width / 2; - p4[2].y = rect->y + rect->height - border; + p4[2].y = (int)(rect->y + rect->height - border); } else if(direction == MwEAST) { p1[0].x = rect->x; p1[0].y = rect->y; - p1[1].x = rect->x + c * border; - p1[1].y = rect->y + s * border; + p1[1].x = (int)(rect->x + c * border); + p1[1].y = (int)(rect->y + s * border); - p1[2].x = rect->x + c * border; - p1[2].y = rect->y + rect->height - s * border; + p1[2].x = (int)(rect->x + c * border); + p1[2].y = (int)(rect->y + rect->height - s * border); p1[3].x = rect->x; p1[3].y = rect->y + rect->height; @@ -568,14 +571,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p2[1].x = rect->x + rect->width; p2[1].y = rect->y + rect->height / 2; - p2[2].x = rect->x + rect->width - border; + p2[2].x = (int)(rect->x + rect->width - border); p2[2].y = rect->y + rect->height / 2; - p2[3].x = rect->x + c * border; - p2[3].y = rect->y + s * border; + p2[3].x = (int)(rect->x + c * border); + p2[3].y = (int)(rect->y + s * border); - p3[0].x = rect->x + c * border; - p3[0].y = rect->y + rect->height - s * border; + p3[0].x = (int)(rect->x + c * border); + p3[0].y = (int)(rect->y + rect->height - s * border); p3[1].x = rect->x; p3[1].y = rect->y + rect->height; @@ -583,30 +586,30 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p3[2].x = rect->x + rect->width; p3[2].y = rect->y + rect->height / 2; - p3[3].x = rect->x + rect->width - border; + p3[3].x = (int)(rect->x + rect->width - border); p3[3].y = rect->y + rect->height / 2; MwLLPolygon(handle->lowlevel, p1, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p2, 4, invert ? darker : lighter); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); - p4[0].x = rect->x + rect->width - border; + p4[0].x = (int)(rect->x + rect->width - border); p4[0].y = rect->y + rect->height / 2; - p4[1].x = rect->x + c * border; - p4[1].y = rect->y + rect->height - s * border; + p4[1].x = (int)(rect->x + c * border); + p4[1].y = (int)(rect->y + rect->height - s * border); - p4[2].x = rect->x + c * border; - p4[2].y = rect->y + s * border; + p4[2].x = (int)(rect->x + c * border); + p4[2].y = (int)(rect->y + s * border); } else if(direction == MwWEST) { p1[0].x = rect->x; p1[0].y = rect->y + rect->height / 2; - p1[1].x = rect->x + border; + p1[1].x = (int)(rect->x + border); p1[1].y = rect->y + rect->height / 2; - p1[2].x = rect->x + rect->width - c * border; - p1[2].y = rect->y + s * border; + p1[2].x = (int)(rect->x + rect->width - c * border); + p1[2].y = (int)(rect->y + s * border); p1[3].x = rect->x + rect->width; p1[3].y = rect->y; @@ -614,11 +617,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p2[0].x = rect->x; p2[0].y = rect->y + rect->height / 2; - p2[1].x = rect->x + border; + p2[1].x = (int)(rect->x + border); p2[1].y = rect->y + rect->height / 2; - p2[2].x = rect->x + rect->width - c * border; - p2[2].y = rect->y + rect->height - s * border; + p2[2].x = (int)(rect->x + rect->width - c * border); + p2[2].y = (int)(rect->y + rect->height - s * border); p2[3].x = rect->x + rect->width; p2[3].y = rect->y + rect->height; @@ -626,11 +629,11 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, p3[0].x = rect->x + rect->width; p3[0].y = rect->y; - p3[1].x = rect->x + rect->width - c * border; - p3[1].y = rect->y + s * border; + p3[1].x = (int)(rect->x + rect->width - c * border); + p3[1].y = (int)(rect->y + s * border); - p3[2].x = rect->x + rect->width - c * border; - p3[2].y = rect->y + rect->height - s * border; + p3[2].x = (int)(rect->x + rect->width - c * border); + p3[2].y = (int)(rect->y + rect->height - s * border); p3[3].x = rect->x + rect->width; p3[3].y = rect->y + rect->height; @@ -639,14 +642,14 @@ void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, MwLLPolygon(handle->lowlevel, p2, 4, invert ? lighter : darker); MwLLPolygon(handle->lowlevel, p3, 4, invert ? lighter : darker); - p4[0].x = rect->x + border; + p4[0].x = (int)(rect->x + border); p4[0].y = rect->y + rect->height / 2; - p4[1].x = rect->x + rect->width - c * border; - p4[1].y = rect->y + rect->height - s * border; + p4[1].x = (int)(rect->x + rect->width - c * border); + p4[1].y = (int)(rect->y + rect->height - s * border); - p4[2].x = rect->x + rect->width - c * border; - p4[2].y = rect->y + s * border; + p4[2].x = (int)(rect->x + rect->width - c * border); + p4[2].y = (int)(rect->y + s * border); } MwLLPolygon(handle->lowlevel, p4, 3, col); @@ -830,13 +833,13 @@ void MwPixmapReloadRaw(MwLLPixmap px, unsigned char* rgb) { a /= 255; if(a != 0) { - pout[0] = pin[0] * a; - pout[1] = pin[1] * a; - pout[2] = pin[2] * a; + pout[0] = (unsigned char)(pin[0] * a); + pout[1] = (unsigned char)(pin[1] * a); + pout[2] = (unsigned char)(pin[2] * a); - pout[0] += base->common.red * (1 - a); - pout[1] += base->common.green * (1 - a); - pout[2] += base->common.blue * (1 - a); + pout[0] += (unsigned char)(base->common.red * (1 - a)); + pout[1] += (unsigned char)(base->common.green * (1 - a)); + pout[2] += (unsigned char)(base->common.blue * (1 - a)); pout[3] = 255; } } @@ -868,6 +871,11 @@ MwLLPixmap MwLoadIcon(MwWidget handle, MwU32* data) { MwLLPixmap px; int i; + if(!rgba) { + printf("Null malloc! out of memory?\n"); + return NULL; + } + memset(rgba, 0, width * height * 4); for(i = 0; i < width * height; i++) { @@ -905,7 +913,11 @@ MwLLPixmap MwLoadXPM(MwWidget handle, char** data) { sh_new_strdup(c); +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + sscanf_s(data[0], "%d %d %d %d", &col, &row, &colors, &cpp); +#else sscanf(data[0], "%d %d %d %d", &col, &row, &colors, &cpp); +#endif for(i = 0; i < colors; i++) { char k[128]; @@ -942,6 +954,10 @@ MwLLPixmap MwLoadXPM(MwWidget handle, char** data) { rgb = malloc(row * col * 4); comp = malloc(cpp + 1); + if(!rgb || !comp) { + printf("Null malloc! Out of memory?"); + return NULL; + } comp[cpp] = 0; for(y = 0; y < row; y++) { for(x = 0; x < col; x++) { From 6f976ae0cedc8d5684ec7152bd29adaf96c8e1e3 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sat, 8 Aug 2026 16:02:53 -0700 Subject: [PATCH 109/119] more fuller suite of error mutes for vs2022 --- CMakeLists.txt | 2 ++ src/abstract/directory.c | 32 +++++++++++--------- src/backend/gdi.c | 63 ++++++++++++++++++++++++++++++++++++++-- src/dialog/colorpicker.c | 22 +++++++------- src/string.c | 51 ++++++++++++++++++++++++++++++-- src/text/text.c | 21 ++++++++++++-- src/widget/button.c | 12 ++++---- src/widget/listbox.c | 12 +++++++- src/widget/progressbar.c | 2 +- src/widget/scrollbar.c | 6 ++-- src/widget/viewport.c | 10 +++++-- 11 files changed, 189 insertions(+), 44 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7aefde..b9882e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -330,11 +330,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MSYS") USE_GDI ) list(APPEND LIBRARIES gdi32 ole32 winmm uuid) + if(NOT MSVC) target_link_options( Mw PRIVATE -static-libgcc ) + endif() elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # target_sources( # Mw diff --git a/src/abstract/directory.c b/src/abstract/directory.c index ac5a382..65db1c8 100644 --- a/src/abstract/directory.c +++ b/src/abstract/directory.c @@ -19,15 +19,18 @@ typedef struct dir { void* MwDirectoryOpen(const char* path) { dir_t* dir = malloc(sizeof(*dir)); -#ifdef _WIN32 - char* p = malloc(strlen(path) + 2 + 1); - strcpy(p, path); - if(strchr(path, '/') != NULL) { - strcat(p, "/"); - } else { - strcat(p, "\\"); + if(!dir) { + printf("Out Of Memory\n"); + return NULL; } - strcat(p, "*"); +#ifdef _WIN32 + char* p = MwStringDuplicate(path); + if(strchr(path, '/') != NULL) { + MwStringConcat(p, "/"); + } else { + MwStringConcat(p, "\\"); + } + MwStringConcat(p, "*"); if((dir->hFind = FindFirstFile(p, &dir->ffd)) == INVALID_HANDLE_VALUE) { free(p); free(dir); @@ -65,6 +68,10 @@ void MwDirectoryClose(void* handle) { MwDirectoryEntry* MwDirectoryRead(void* handle) { dir_t* dir = handle; MwDirectoryEntry* entry = malloc(sizeof(*entry)); + if(!entry) { + printf("Out Of Memory\n"); + return NULL; + } #ifdef _WIN32 ULARGE_INTEGER* l; @@ -170,8 +177,8 @@ static void MwDirectoryJoinSingle(char* target, char* p) { b[0] = DIRSEP; b[1] = 0; - strcat(target, b); - strcat(target, p); + MwStringConcat(target, b); + MwStringConcat(target, p); } for(i = strlen(target) - 1; i >= 0; i--) { @@ -187,17 +194,16 @@ static void MwDirectoryJoinSingle(char* target, char* p) { b[0] = DIRSEP; b[1] = 0; - strcat(target, b); + MwStringConcat(target, b); } } char* MwDirectoryJoin(char* a, char* b) { - char* p = malloc(strlen(a) + 1 + strlen(b) + 1); + char* p = MwStringDuplicate(a); char* bdup = MwStringDuplicate(b); char* b2 = bdup; int i; - strcpy(p, a); for(i = strlen(p) - 1; i >= 0; i--) { if(p[i] == DIRSEP) { p[i] = 0; diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 89caab2..eace1d3 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -397,6 +397,11 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) { userdata_t* u = malloc(sizeof(*u)); WNDCLASSEX wc; + if(!r || !u) { + printf("Out Of Memory\n"); + return NULL; + } + memset(&wc, 0, sizeof(wc)); wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; @@ -482,6 +487,11 @@ static void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLL HPEN pen = CreatePen(PS_NULL, 0, RGB(0, 0, 0)); int i; + if(!p) { + printf("Out Of Memory\n"); + return; + } + for(i = 0; i < points_count; i++) { p[i].x = points[i].x; p[i].y = points[i].y; @@ -516,6 +526,11 @@ static void MwLLLineImpl(MwLL handle, MwPoint* points, MwLLColor color) { static MwLLColor MwLLAllocColorImpl(MwLL handle, int r, int g, int b) { MwLLColor c = malloc(sizeof(*c)); + if(!c) { + printf("Out Of Memory\n"); + return NULL; + } + c->gdi.brush = NULL; MwLLColorUpdate(handle, c, r, g, b); @@ -593,10 +608,20 @@ static void MwLLNextEventImpl(MwLL handle) { if(handle->gdi.get_clipboard) { HGLOBAL hg; if(OpenClipboard(handle->gdi.hWnd) != 0 && (hg = GetClipboardData(CF_TEXT)) != NULL) { - char* txt = malloc(GlobalSize(hg)); + int sz = GlobalSize(hg); + char* txt = malloc(sz); char* clp = GlobalLock(hg); + if(!txt || !clp) { + printf("Out of Memory\n"); + return; + } + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + strcpy_s(txt, sz, clp); +#else strcpy(txt, clp); +#endif GlobalUnlock(hg); CloseClipboard(); @@ -626,7 +651,17 @@ static MwLLPixmap MwLLCreatePixmapImpl(MwLL handle, unsigned char* data, int wid HDC dc = GetDC(handle->gdi.hWnd); BITMAPINFOHEADER bmih; + if(!r) { + printf("Out Of Memory\n"); + return NULL; + } + r->common.raw = malloc(width * height * 4); + if(!r->common.raw) { + printf("Out Of Memory\n"); + return NULL; + } + memcpy(r->common.raw, data, 4 * width * height); r->common.width = width; @@ -666,6 +701,12 @@ static void MwLLPixmapUpdateImpl(MwLLPixmap r) { words = malloc(w * r->common.height); words2 = malloc(w * r->common.height); + + if(!words || !words2) { + printf("Out Of Memory\n"); + return; + } + memset(words, 0, w * r->common.height); memset(words2, 0, w * r->common.height); for(y = 0; y < r->common.height; y++) { @@ -917,12 +958,30 @@ static void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_ty (void)clipboard_type; if(OpenClipboard(handle->gdi.hWnd) != 0) { char* lock; + int sz = strlen(text) + 1; EmptyClipboard(); - hg = GlobalAlloc(GHND | GMEM_SHARE, strlen(text) + 1); + hg = GlobalAlloc(GHND | GMEM_SHARE, sz); + + if(!hg) { + printf("Out of Memory\n"); + return; + } lock = GlobalLock(hg); + + if(!lock) { + printf("Out Of Memory\n"); + GlobalUnlock(hg); + CloseClipboard(); + return; + } + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + strcpy_s(lock, sz, text); +#else strcpy(lock, text); +#endif GlobalUnlock(hg); SetClipboardData(CF_TEXT, hg); diff --git a/src/dialog/colorpicker.c b/src/dialog/colorpicker.c index 926fddc..95fc283 100644 --- a/src/dialog/colorpicker.c +++ b/src/dialog/colorpicker.c @@ -110,9 +110,9 @@ static void color_picker_image_update(color_picker_t* picker) { picker->color_picker_image_data[i + 2] = 0; picker->color_picker_image_data[i + 3] = 0; } else if(dist >= 180.) { - picker->color_picker_image_data[i] = dist; - picker->color_picker_image_data[i + 1] = dist; - picker->color_picker_image_data[i + 2] = dist; + picker->color_picker_image_data[i] = (unsigned char)dist; + picker->color_picker_image_data[i + 1] = (unsigned char)dist; + picker->color_picker_image_data[i + 2] = (unsigned char)dist; picker->color_picker_image_data[i + 3] = 255; } else { MwHSV hsv_v; @@ -121,26 +121,26 @@ static void color_picker_image_update(color_picker_t* picker) { double xd = (M_PI / 180.) * ((double)_x); double yd = (M_PI / 180.) * ((double)_y); - float angle = atan2(yd, xd) - M_PI; - float hue = (angle * 180.) / M_PI; + double angle = atan2(yd, xd) - M_PI; + double hue = (angle * 180.) / M_PI; if(hue < 0.0) { hue += 360; } - hsv_v.h = (hue) * (HSV_HUE_STEPS / 360.); - hsv_v.s = (dist) * (HSV_SAT_MAX / 180.); + hsv_v.h = (MwU8)((hue) * (HSV_HUE_STEPS / 360.)); + hsv_v.s = (MwU8)((dist) * (HSV_SAT_MAX / 180.)); picker->hue_table[n] = hsv_v; picker->hue_table[n].generated = 1; } hsv_v = picker->hue_table[n]; - hsv_v.v = HSV_VAL_MAX - (picker->value * HSV_VAL_MAX); + hsv_v.v = (MwU8)(HSV_VAL_MAX - (picker->value * HSV_VAL_MAX)); hsv2rgb(hsv_v.h, hsv_v.s, hsv_v.v, &color.red, &color.green, &color.blue); - picker->color_picker_image_data[i] = color.red; - picker->color_picker_image_data[i + 1] = color.green; - picker->color_picker_image_data[i + 2] = color.blue; + picker->color_picker_image_data[i] = (unsigned char)color.red; + picker->color_picker_image_data[i + 1] = (unsigned char)color.green; + picker->color_picker_image_data[i + 2] = (unsigned char)color.blue; picker->color_picker_image_data[i + 3] = 255; n++; diff --git a/src/string.c b/src/string.c index f56b9ac..c894b9a 100644 --- a/src/string.c +++ b/src/string.c @@ -1,21 +1,53 @@ #include char* MwStringDuplicate(const char* str) { - char* r = malloc(strlen(str) + 1); + int sz = strlen(str) + 1; + char* r = malloc(sz); + if(!r) { + printf("Out Of Memory\n"); + return NULL; + } + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + strcpy_s(r, sz, str); +#else strcpy(r, str); +#endif return r; } char* MwStringConcat(const char* str1, const char* str2) { - char* r = malloc(strlen(str1) + strlen(str2) + 1); + int sz = strlen(str1) + strlen(str2) + 1; + char* r = malloc(sz); + if(!r) { + printf("Out Of Memory\n"); + return NULL; + } + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + strcpy_s(r, sz, str1); + strcat_s(r, sz, str2); +#else strcpy(r, str1); strcat(r, str2); +#endif return r; } void MwStringSize(char* out, MwOffset size) { +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + if(size / 1024 == 0) { + sprintf_s(out, 255, "%d", (int)size); + } else if(size / 1024 / 1024 == 0) { + sprintf_s(out, 255, "%.1fK", (double)size / 1024); + } else if(size / 1024 / 1024 / 1024 == 0) { + sprintf_s(out, 255, "%.1fM", (double)size / 1024 / 1024); + } else { + sprintf_s(out, 255, "%.1fG", (double)size / 1024 / 1024 / 1024); + } +#else if(size / 1024 == 0) { sprintf(out, "%d", (int)size); } else if(size / 1024 / 1024 == 0) { @@ -25,16 +57,28 @@ void MwStringSize(char* out, MwOffset size) { } else { sprintf(out, "%.1fG", (double)size / 1024 / 1024 / 1024); } +#endif } void MwStringTime(char* out, time_t t) { struct tm* tm = localtime(&t); const char* months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; + + if(tm == NULL) { +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + sprintf_s(out, 255, "localtime error"); +#else sprintf(out, "localtime error"); +#endif + } else { +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + sprintf_s(out, 255, "%s %2d %02d:%02d %d", months[tm->tm_mon], tm->tm_mday, tm->tm_hour, tm->tm_min, 1900 + tm->tm_year); +#else sprintf(out, "%s %2d %02d:%02d %d", months[tm->tm_mon], tm->tm_mday, tm->tm_hour, tm->tm_min, 1900 + tm->tm_year); +#endif } } void MwStringPrintIntoBuffer(char* out, MwU32 size, const char* fmt, ...) { @@ -43,6 +87,9 @@ void MwStringPrintIntoBuffer(char* out, MwU32 size, const char* fmt, ...) { #if __STDC_VERSION__ >= 199901L vsnprintf(out, size, fmt, va); +/* MSVC2022 reports the STDC_VERSION as fucking 1994. Thanks Bill Gates. */ +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + vsprintf_s(out, size, fmt, va); #else vsprintf(out, fmt, va); #endif diff --git a/src/text/text.c b/src/text/text.c index 9d7d184..2bb89b6 100644 --- a/src/text/text.c +++ b/src/text/text.c @@ -88,9 +88,9 @@ void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, if(c != NULL) { fadedColor = MwLLAllocColor(handle->lowlevel, color->common.red, color->common.blue, color->common.green); - fadedColor->common.red = fadedColor->common.red + (c->common.red - fadedColor->common.red) * 0.5; - fadedColor->common.green = fadedColor->common.green + (c->common.green - fadedColor->common.green) * 0.5; - fadedColor->common.blue = fadedColor->common.blue + (c->common.blue - fadedColor->common.blue) * 0.5; + fadedColor->common.red = (MwU8)(fadedColor->common.red + (c->common.red - fadedColor->common.red) * 0.5); + fadedColor->common.green = (MwU8)(fadedColor->common.green + (c->common.green - fadedColor->common.green) * 0.5); + fadedColor->common.blue = (MwU8)(fadedColor->common.blue + (c->common.blue - fadedColor->common.blue) * 0.5); MwLLColorUpdate(handle->lowlevel, fadedColor, fadedColor->common.red, fadedColor->common.green, fadedColor->common.blue); MwLLFreeColor(c); @@ -110,6 +110,11 @@ void MwDrawText(MwWidget handle, MwFLFont ttf, MwPoint* point, const char* text, char* line = malloc(input - last + 1); int i; + if(!line) { + printf("Out Of Memory\n"); + return; + } + memcpy(line, last, input - last); line[input - last] = 0; @@ -177,6 +182,11 @@ int MwTextWidth(MwWidget handle, MwFLFont ttf, const char* text) { char* line = malloc(input - last + 1); int i; + if(!line) { + printf("Out Of Memory\n"); + return 1; + } + memcpy(line, last, input - last); line[input - last] = 0; @@ -250,6 +260,11 @@ static void bitmap_MwDrawText(MwWidget handle, MwPoint* point, const char* text, th = MwTextHeight(handle, NULL, text); px = malloc(tw * th * 4); + if(!px) { + printf("Out of Memory\n"); + return; + } + memset(px, 0, tw * th * 4); sx = 0; diff --git a/src/widget/button.c b/src/widget/button.c index 51337e6..7f1da57 100644 --- a/src/widget/button.c +++ b/src/widget/button.c @@ -55,11 +55,11 @@ static void draw(MwWidget handle) { double sh = (double)oh / px->common.height; if(sw < sh) { - r.width = px->common.width * sw; - r.height = px->common.height * sw; + r.width = (int)(px->common.width * sw); + r.height = (int)(px->common.height * sw); } else { - r.width = px->common.width * sh; - r.height = px->common.height * sh; + r.width = (int)(px->common.width * sh); + r.height = (int)(px->common.height * sh); } r.width -= MwGetInteger(handle, MwNpadding) * 2; r.height -= MwGetInteger(handle, MwNpadding) * 2; @@ -68,8 +68,8 @@ static void draw(MwWidget handle) { r.height = px->common.height; } - r.x += (double)(ow - r.width) / 2; - r.y += (double)(oh - r.height) / 2; + r.x += (int)((double)(ow - r.width) / 2); + r.y += (int)((double)(oh - r.height) / 2); MwLLDrawPixmap(handle->lowlevel, &r, px); } else { diff --git a/src/widget/listbox.c b/src/widget/listbox.c index 32be887..cc17362 100644 --- a/src/widget/listbox.c +++ b/src/widget/listbox.c @@ -203,11 +203,16 @@ static void frame_draw(MwWidget handle) { int seek = 0; int l = 0; char* old = str; + int sz = strlen(old) + 5; if(ind < 0) ind = 0; - str = malloc(strlen(old) + 5); + str = malloc(sz); +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + strcpy_s(str, sz, old); +#else strcpy(str, old); +#endif free(old); while(str[seek] != 0) { @@ -317,6 +322,11 @@ static void resize(MwWidget handle, int no_resize) { static int wcreate(MwWidget handle) { MwListBox lb = malloc(sizeof(*lb)); + if(!lb) { + printf("Out Of Memory\n"); + return 1; + } + memset(lb, 0, sizeof(*lb)); handle->internal = lb; diff --git a/src/widget/progressbar.c b/src/widget/progressbar.c index 3185c23..8adf028 100644 --- a/src/widget/progressbar.c +++ b/src/widget/progressbar.c @@ -34,7 +34,7 @@ static void draw(MwWidget handle) { r.width -= MwDefaultBorderWidth(handle) * 2; r.height -= MwDefaultBorderWidth(handle) * 2; - r.width = r.width * w; + r.width = (int)(r.width * w); MwDrawRect(handle, &r, fill); MwLLFreeColor(fill); diff --git a/src/widget/scrollbar.c b/src/widget/scrollbar.c index 346f818..3bd2fdf 100644 --- a/src/widget/scrollbar.c +++ b/src/widget/scrollbar.c @@ -28,7 +28,7 @@ static int calc_length(MwWidget handle) { int area = MwGetInteger(handle, MwNareaShown); if(area > len) area = len; - return max * (double)area / len; + return (int)(max * (double)area / len); } static int calc_position(MwWidget handle) { @@ -36,7 +36,7 @@ static int calc_position(MwWidget handle) { int len = MwGetInteger(handle, MwNmaxValue) - MwGetInteger(handle, MwNminValue); int val = MwGetInteger(handle, MwNvalue); - return (max - calc_length(handle)) * (double)val / len; + return (int)((max - calc_length(handle)) * (double)val / len); } static void add_value(MwWidget handle, int mul) { @@ -54,7 +54,7 @@ static void add_value(MwWidget handle, int mul) { } static void draw(MwWidget handle) { - MwRect r, rt, rbar; + MwRect r = {0}, rt = {0}, rbar = {0}; MwLLColor base = MwParseColor(handle, MwGetText(handle, MwNbackground)); MwLLColor dark = MwLightenColor(handle, base, -64, -64, -64); MwScrollBar scr = handle->internal; diff --git a/src/widget/viewport.c b/src/widget/viewport.c index 2541b65..803c424 100644 --- a/src/widget/viewport.c +++ b/src/widget/viewport.c @@ -76,6 +76,12 @@ static void resize(MwWidget handle) { static int wcreate(MwWidget handle) { MwViewport vp = malloc(sizeof(*vp)); + + if(!vp) { + printf("Out Of Memory\n"); + return 1; + } + memset(vp, 0, sizeof(*vp)); handle->internal = vp; @@ -151,7 +157,7 @@ static void tick(MwWidget handle) { v = MwGetInteger(vp->vscroll, MwNvalue); mv = MwGetInteger(vp->vscroll, MwNmaxValue); l = MwGetInteger(vp->frame, MwNheight); - v = (mv - l) * (double)v / mv; + v = (int)((mv - l) * (double)v / mv); if(v < 0) v = 0; MwVaApply(vp->inframe, @@ -166,7 +172,7 @@ static void tick(MwWidget handle) { v = MwGetInteger(vp->hscroll, MwNvalue); mv = MwGetInteger(vp->hscroll, MwNmaxValue); l = MwGetInteger(vp->frame, MwNwidth); - v = (mv - l) * (double)v / mv; + v = (int)((mv - l) * (double)v / mv); if(v < 0) v = 0; MwVaApply(vp->inframe, From 9856979906a0236e2d4d4c071e9863d9ec0013dd Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sat, 8 Aug 2026 16:24:23 -0700 Subject: [PATCH 110/119] Dynload winmm, which is weird but it fixes vs2022 builds --- CMakeLists.txt | 8 +++++++- include/Mw/LowLevel.h | 6 ++++++ include/Mw/MachDep.h | 1 + src/abstract/time.c | 2 +- src/core.c | 14 +++++++++++++- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9882e4..8866686 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,7 +85,7 @@ if(MW_TRY_VULKAN) if(${Vulkan_FOUND}) set(MW_BUILD_VULKAN ON) message(STATUS "Vulkan widget has been enabled") - else() + else( message(WARNING "Vulkan widget has been disabled") endif() endif() @@ -471,6 +471,12 @@ if(MW_BUILD_VULKAN) PRIVATE MW_VULKAN ) +else() + target_compile_definitions( + Mw + PRIVATE + MW_VULKAN_NO_INCLUDE + ) endif() target_compile_definitions( diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 0c53bd3..44c5b64 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -363,6 +363,12 @@ MWDECL int (*MwFLTextHeightWithText)(MwFLFont ttf, const char* text); MWDECL void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px); MWDECL void (*MwFLFontFree)(void* handle); +#ifdef _WIN32 +void *MwLL_winmmLib; +long (__stdcall* MwLL_PFN_timeGetTime)(void); +unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); +#endif + #ifdef __cplusplus } #endif diff --git a/include/Mw/MachDep.h b/include/Mw/MachDep.h index 4c98b24..c791157 100644 --- a/include/Mw/MachDep.h +++ b/include/Mw/MachDep.h @@ -26,6 +26,7 @@ #ifdef _MILSKO #include #include +#include #ifndef GWLP_USERDATA #define GWLP_USERDATA GWL_USERDATA #define GWLP_WNDPROC GWL_WNDPROC diff --git a/src/abstract/time.c b/src/abstract/time.c index 59e9774..892cd32 100644 --- a/src/abstract/time.c +++ b/src/abstract/time.c @@ -2,7 +2,7 @@ #if defined(_WIN32) long MwTimeGetTick(void) { - return timeGetTime(); + return MwLL_PFN_timeGetTime(); } void MwTimeSleep(int ms) { diff --git a/src/core.c b/src/core.c index 9d149d8..1087577 100644 --- a/src/core.c +++ b/src/core.c @@ -1090,7 +1090,19 @@ int MwLibraryInit(void) { int i; #ifdef _WIN32 - timeBeginPeriod(10); + /* + There's no Windows configuration that Milsko supports that doesn't have winmm. + However, uhh, Visual Studio 2022. For some fucking reason. + Thanks for coming to my TED Talk. + */ + char winmmPath[MAX_PATH] = {0}; + GetSystemDirectory(winmmPath, MAX_PATH); + strcat_s(winmmPath, MAX_PATH, "\\winmm.dll"); + MwLL_winmmLib = LoadLibraryA(winmmPath); + MwLL_PFN_timeGetTime = (void *)GetProcAddress(MwLL_winmmLib, "timeGetTime"); + MwLL_PFN_timeBeginPeriod = (void *)GetProcAddress(MwLL_winmmLib, "timeBeginPeriod"); + + MwLL_PFN_timeBeginPeriod(10); #endif #ifdef USE_WAYLAND From 054b085bcd055f66b7db081bcf2de12b076227f5 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sat, 8 Aug 2026 16:32:11 -0700 Subject: [PATCH 111/119] fix compiles on machines where we have no vulkan --- CMakeLists.txt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8866686..1b565a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,7 +85,7 @@ if(MW_TRY_VULKAN) if(${Vulkan_FOUND}) set(MW_BUILD_VULKAN ON) message(STATUS "Vulkan widget has been enabled") - else( + else() message(WARNING "Vulkan widget has been disabled") endif() endif() @@ -466,17 +466,14 @@ if(MW_BUILD_VULKAN) ) endif() + check_include_files(vulkan/VULKAN.h HAS_VK_HEADER) + if(HAS_VK_HEADER) target_compile_definitions( Mw PRIVATE MW_VULKAN ) -else() - target_compile_definitions( - Mw - PRIVATE - MW_VULKAN_NO_INCLUDE - ) + endif() endif() target_compile_definitions( From ff823028cd59ac430d8ab54a20fe12edfd04d02a Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 9 Aug 2026 15:16:00 +0900 Subject: [PATCH 112/119] Update include/Mw/LowLevel.h --- include/Mw/LowLevel.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 44c5b64..6647672 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -364,9 +364,9 @@ MWDECL void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px); MWDECL void (*MwFLFontFree)(void* handle); #ifdef _WIN32 -void *MwLL_winmmLib; -long (__stdcall* MwLL_PFN_timeGetTime)(void); -unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); +MWDECL void *MwLL_winmmLib; +MWDECL long (__stdcall* MwLL_PFN_timeGetTime)(void); +MWDECL unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); #endif #ifdef __cplusplus From 8e4774054ec0cdf10dbd4d24b76d4979658d4351 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 9 Aug 2026 15:16:32 +0900 Subject: [PATCH 113/119] Update src/lowlevel.c --- src/lowlevel.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lowlevel.c b/src/lowlevel.c index 38a1ab0..2fe1535 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -1,5 +1,11 @@ #include +#ifdef _WIN32 +void *MwLL_winmmLib; +long (__stdcall* MwLL_PFN_timeGetTime)(void); +unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); +#endif + MwLL (*MwLLCreate)(MwLL parent, int x, int y, int width, int height) = NULL; void (*MwLLDestroy)(MwLL handle) = NULL; From 87f6dff101332da62d5147673a8bd688ab05308a Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 9 Aug 2026 15:19:31 +0900 Subject: [PATCH 114/119] Update include/Mw/MachDep.h --- include/Mw/MachDep.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/Mw/MachDep.h b/include/Mw/MachDep.h index c791157..4c98b24 100644 --- a/include/Mw/MachDep.h +++ b/include/Mw/MachDep.h @@ -26,7 +26,6 @@ #ifdef _MILSKO #include #include -#include #ifndef GWLP_USERDATA #define GWLP_USERDATA GWL_USERDATA #define GWLP_WNDPROC GWL_WNDPROC From 6a205453a71f4d204d8b542683e8a8918250c8ec Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 9 Aug 2026 15:26:48 +0900 Subject: [PATCH 115/119] fix c89 discrepency --- src/abstract/directory.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/abstract/directory.c b/src/abstract/directory.c index 65db1c8..01c7331 100644 --- a/src/abstract/directory.c +++ b/src/abstract/directory.c @@ -68,13 +68,20 @@ void MwDirectoryClose(void* handle) { MwDirectoryEntry* MwDirectoryRead(void* handle) { dir_t* dir = handle; MwDirectoryEntry* entry = malloc(sizeof(*entry)); - if(!entry) { +#ifdef _WIN32 + ULARGE_INTEGER* l; +#elif defined(CLASSIC_MAC_OS) +#else + struct dirent* d; + struct stat s; + char* p; +#endif + + if(!entry) { printf("Out Of Memory\n"); return NULL; } #ifdef _WIN32 - ULARGE_INTEGER* l; - if(!dir->next) return NULL; entry->name = MwStringDuplicate(dir->ffd.cFileName); @@ -98,9 +105,6 @@ MwDirectoryEntry* MwDirectoryRead(void* handle) { #elif defined(CLASSIC_MAC_OS) /* todo */ #else - struct dirent* d; - struct stat s; - char* p; if((d = readdir(dir->dir)) == NULL) { free(entry); return NULL; From f652523963b933c86235a85c07146954179180f1 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 9 Aug 2026 15:27:54 +0900 Subject: [PATCH 116/119] fix another c89 issue --- src/abstract/directory.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/abstract/directory.c b/src/abstract/directory.c index 01c7331..ddf10e1 100644 --- a/src/abstract/directory.c +++ b/src/abstract/directory.c @@ -19,12 +19,13 @@ typedef struct dir { void* MwDirectoryOpen(const char* path) { dir_t* dir = malloc(sizeof(*dir)); - if(!dir) { + char * p; + if(!dir) { printf("Out Of Memory\n"); return NULL; } #ifdef _WIN32 - char* p = MwStringDuplicate(path); + p = MwStringDuplicate(path); if(strchr(path, '/') != NULL) { MwStringConcat(p, "/"); } else { From ca41b5936b48a346db4ba957c036a9e6687c68e0 Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Sun, 9 Aug 2026 15:32:56 +0900 Subject: [PATCH 117/119] Update src/core.c --- src/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core.c b/src/core.c index 1087577..bc4645b 100644 --- a/src/core.c +++ b/src/core.c @@ -1095,9 +1095,10 @@ int MwLibraryInit(void) { However, uhh, Visual Studio 2022. For some fucking reason. Thanks for coming to my TED Talk. */ + char * winmmPathFull = NULL; char winmmPath[MAX_PATH] = {0}; GetSystemDirectory(winmmPath, MAX_PATH); - strcat_s(winmmPath, MAX_PATH, "\\winmm.dll"); + winmmPathFull = MwStringConcat(winmmPath, "\\winmm.dll"); MwLL_winmmLib = LoadLibraryA(winmmPath); MwLL_PFN_timeGetTime = (void *)GetProcAddress(MwLL_winmmLib, "timeGetTime"); MwLL_PFN_timeBeginPeriod = (void *)GetProcAddress(MwLL_winmmLib, "timeBeginPeriod"); From df1972e91c923dda68b01561d16c29ae299eb69a Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 10 Aug 2026 01:55:27 +0900 Subject: [PATCH 118/119] remove winmm --- CMakeLists.txt | 2 +- NTMakefile | 2 +- WatMakefile | 2 +- pl/ostype/Windows.pl | 1 - tools/genmk.pl | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b565a9..5441692 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -329,7 +329,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MSYS") PRIVATE USE_GDI ) - list(APPEND LIBRARIES gdi32 ole32 winmm uuid) + list(APPEND LIBRARIES gdi32 ole32 uuid) if(NOT MSVC) target_link_options( Mw diff --git a/NTMakefile b/NTMakefile index 8afa320..8f9a331 100644 --- a/NTMakefile +++ b/NTMakefile @@ -321,7 +321,7 @@ examples\gldemos\tripaint.obj: 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\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 ole32.lib user32.lib advapi32.lib + $(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 ole32.lib uuid.lib user32.lib advapi32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index c2af03e..cbace36 100644 --- a/WatMakefile +++ b/WatMakefile @@ -320,7 +320,7 @@ examples/gldemos/tripaint.obj: 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/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 ole32.lib library user32.lib library advapi32.lib + $(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 ole32.lib library uuid.lib library user32.lib library advapi32.lib diff --git a/pl/ostype/Windows.pl b/pl/ostype/Windows.pl index 9a066d8..e2ed1ab 100644 --- a/pl/ostype/Windows.pl +++ b/pl/ostype/Windows.pl @@ -4,7 +4,6 @@ $executable_suffix = ".exe"; $math = ""; add_ldflags("-Wl,--out-implib,src/libMw.dll.a -static-libgcc"); use_backend("gdi"); -add_libs("-lwinmm"); add_libs("-lole32"); add_libs("-luuid"); diff --git a/tools/genmk.pl b/tools/genmk.pl index 8362bd3..f0618e1 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -190,7 +190,7 @@ sub generate { print(OUT "src${dir}Mw.dll: " . cobjs($dir) . "\n"); print( OUT " \$(LD) \$(MW_LDFLAGS) $c_dllout $dllout\$@ " . cobjs($dir, $prefobj) - . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}winmm.lib ${lib}ole32.lib ${lib}uuid.lib ${lib}user32.lib ${lib}advapi32.lib\n" + . " $needlibs ${lib}opengl32.lib ${lib}gdi32.lib ${lib}ole32.lib ${lib}uuid.lib ${lib}user32.lib ${lib}advapi32.lib\n" ); print(OUT " $c_dllafter\n"); print(OUT "\n"); From ca9a24a2b0e16382ef0bc2b9a187be279496982f Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 10 Aug 2026 04:32:44 +0900 Subject: [PATCH 119/119] watcom opengl fix --- NTMakefile | 2 +- WatMakefile | 2 +- src/core.c | 6 +----- tools/genmk.pl | 2 +- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/NTMakefile b/NTMakefile index 8f9a331..63a4a2c 100644 --- a/NTMakefile +++ b/NTMakefile @@ -1,7 +1,7 @@ CC = cl /TC /c /nologo LD = link /nologo -MW_CFLAGS = /Iinclude /Iexternal\libz\include /D_MILSKO /D_MILSKO_BUILD /DUSE_GDI /DUSE_STB_IMAGE /DSTBI_NO_SIMD /DUSE_GDI_TEXT +MW_CFLAGS = /Iinclude /Iexternal\libz\include /D_MILSKO /D_MILSKO_BUILD /DUSE_GDI /DUSE_STB_IMAGE /DSTBI_NO_SIMD /DUSE_GDI_TEXT /DMW_OPENGL MW_LDFLAGS = /DLL EXE_CFLAGS = /Iinclude EXE_LDFLAGS = diff --git a/WatMakefile b/WatMakefile index cbace36..4533f3c 100644 --- a/WatMakefile +++ b/WatMakefile @@ -1,7 +1,7 @@ CC = wcc386 -bt=nt -q LD = wlink option quiet -MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dUSE_GDI_TEXT +MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dUSE_GDI_TEXT -dMW_OPENGL MW_LDFLAGS = system nt_dll EXE_CFLAGS = -i=include EXE_LDFLAGS = system nt diff --git a/src/core.c b/src/core.c index bc4645b..c27b1a6 100644 --- a/src/core.c +++ b/src/core.c @@ -1095,11 +1095,7 @@ int MwLibraryInit(void) { However, uhh, Visual Studio 2022. For some fucking reason. Thanks for coming to my TED Talk. */ - char * winmmPathFull = NULL; - char winmmPath[MAX_PATH] = {0}; - GetSystemDirectory(winmmPath, MAX_PATH); - winmmPathFull = MwStringConcat(winmmPath, "\\winmm.dll"); - MwLL_winmmLib = LoadLibraryA(winmmPath); + MwLL_winmmLib = LoadLibrary("winmm.dll"); MwLL_PFN_timeGetTime = (void *)GetProcAddress(MwLL_winmmLib, "timeGetTime"); MwLL_PFN_timeBeginPeriod = (void *)GetProcAddress(MwLL_winmmLib, "timeBeginPeriod"); diff --git a/tools/genmk.pl b/tools/genmk.pl index f0618e1..689e09e 100755 --- a/tools/genmk.pl +++ b/tools/genmk.pl @@ -116,7 +116,7 @@ sub generate { print(OUT "LD = $link\n"); print(OUT "\n"); print(OUT -"MW_CFLAGS = ${cdll} ${inc}include ${inc}external${dir}libz${dir}include ${def}_MILSKO ${def}_MILSKO_BUILD ${def}USE_GDI ${def}USE_STB_IMAGE ${def}STBI_NO_SIMD ${def}USE_GDI_TEXT\n" +"MW_CFLAGS = ${cdll} ${inc}include ${inc}external${dir}libz${dir}include ${def}_MILSKO ${def}_MILSKO_BUILD ${def}USE_GDI ${def}USE_STB_IMAGE ${def}STBI_NO_SIMD ${def}USE_GDI_TEXT ${def}MW_OPENGL\n" ); print(OUT "MW_LDFLAGS = $dll\n"); print(OUT "EXE_CFLAGS = ${inc}include\n");