summaryrefslogtreecommitdiffstats
path: root/include/freetype/internal/services/svpsinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/freetype/internal/services/svpsinfo.h')
-rw-r--r--include/freetype/internal/services/svpsinfo.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/freetype/internal/services/svpsinfo.h b/include/freetype/internal/services/svpsinfo.h
index 124c6f9..91ba91e 100644
--- a/include/freetype/internal/services/svpsinfo.h
+++ b/include/freetype/internal/services/svpsinfo.h
@@ -53,6 +53,33 @@ FT_BEGIN_HEADER
PS_GetFontPrivateFunc ps_get_font_private;
};
+#ifndef FT_CONFIG_OPTION_PIC
+
+#define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
+ ps_get_font_extra_, has_glyph_names_, get_font_private_) \
+ static const FT_Service_PsInfoRec class_ = \
+ { \
+ get_font_info_, ps_get_font_extra_, has_glyph_names_, \
+ get_font_private_ \
+ };
+
+#else /* FT_CONFIG_OPTION_PIC */
+
+#define FT_DEFINE_SERVICE_PSINFOREC(class_, get_font_info_, \
+ ps_get_font_extra_, has_glyph_names_, get_font_private_) \
+ void \
+ FT_Init_Class_##class_( FT_Library library, \
+ FT_Service_PsInfoRec* clazz) \
+ { \
+ FT_UNUSED(library); \
+ clazz->ps_get_font_info = get_font_info_; \
+ clazz->ps_get_font_extra = ps_get_font_extra_; \
+ clazz->ps_has_glyph_names = has_glyph_names_; \
+ clazz->ps_get_font_private = get_font_private_; \
+ }
+
+#endif /* FT_CONFIG_OPTION_PIC */
+
/* */