Index: include/freetype/internal/ftdriver.h |
diff --git a/include/freetype/internal/ftdriver.h b/include/freetype/internal/ftdriver.h |
index 6f6b206227916882ac5a3d14c65edcd6735b91cc..940218e62d5343be3fd496371237ca6573846c71 100644 |
--- a/include/freetype/internal/ftdriver.h |
+++ b/include/freetype/internal/ftdriver.h |
@@ -4,7 +4,7 @@ |
/* */ |
/* FreeType font driver interface (specification). */ |
/* */ |
-/* Copyright 1996-2003, 2006, 2008, 2011 by */ |
+/* Copyright 1996-2003, 2006, 2008, 2011-2013 by */ |
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -60,22 +60,6 @@ FT_BEGIN_HEADER |
(*FT_Size_SelectFunc)( FT_Size size, |
FT_ULong size_index ); |
-#ifdef FT_CONFIG_OPTION_OLD_INTERNALS |
- |
- typedef FT_Error |
- (*FT_Size_ResetPointsFunc)( FT_Size size, |
- FT_F26Dot6 char_width, |
- FT_F26Dot6 char_height, |
- FT_UInt horz_resolution, |
- FT_UInt vert_resolution ); |
- |
- typedef FT_Error |
- (*FT_Size_ResetPixelsFunc)( FT_Size size, |
- FT_UInt pixel_width, |
- FT_UInt pixel_height ); |
- |
-#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ |
- |
typedef FT_Error |
(*FT_Slot_LoadFunc)( FT_GlyphSlot slot, |
FT_Size size, |
@@ -181,72 +165,42 @@ FT_BEGIN_HEADER |
/* */ |
typedef struct FT_Driver_ClassRec_ |
{ |
- FT_Module_Class root; |
- |
- FT_Long face_object_size; |
- FT_Long size_object_size; |
- FT_Long slot_object_size; |
- |
- FT_Face_InitFunc init_face; |
- FT_Face_DoneFunc done_face; |
+ FT_Module_Class root; |
- FT_Size_InitFunc init_size; |
- FT_Size_DoneFunc done_size; |
+ FT_Long face_object_size; |
+ FT_Long size_object_size; |
+ FT_Long slot_object_size; |
- FT_Slot_InitFunc init_slot; |
- FT_Slot_DoneFunc done_slot; |
+ FT_Face_InitFunc init_face; |
+ FT_Face_DoneFunc done_face; |
-#ifdef FT_CONFIG_OPTION_OLD_INTERNALS |
+ FT_Size_InitFunc init_size; |
+ FT_Size_DoneFunc done_size; |
- FT_Size_ResetPointsFunc set_char_sizes; |
- FT_Size_ResetPixelsFunc set_pixel_sizes; |
+ FT_Slot_InitFunc init_slot; |
+ FT_Slot_DoneFunc done_slot; |
-#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ |
+ FT_Slot_LoadFunc load_glyph; |
- FT_Slot_LoadFunc load_glyph; |
- |
- FT_Face_GetKerningFunc get_kerning; |
- FT_Face_AttachFunc attach_file; |
- FT_Face_GetAdvancesFunc get_advances; |
+ FT_Face_GetKerningFunc get_kerning; |
+ FT_Face_AttachFunc attach_file; |
+ FT_Face_GetAdvancesFunc get_advances; |
/* since version 2.2 */ |
- FT_Size_RequestFunc request_size; |
- FT_Size_SelectFunc select_size; |
+ FT_Size_RequestFunc request_size; |
+ FT_Size_SelectFunc select_size; |
} FT_Driver_ClassRec, *FT_Driver_Class; |
- /* |
- * The following functions are used as stubs for `set_char_sizes' and |
- * `set_pixel_sizes'; the code uses `request_size' and `select_size' |
- * functions instead. |
- * |
- * Implementation is in `src/base/ftobjs.c'. |
- */ |
-#ifdef FT_CONFIG_OPTION_OLD_INTERNALS |
- |
- FT_BASE( FT_Error ) |
- ft_stub_set_char_sizes( FT_Size size, |
- FT_F26Dot6 width, |
- FT_F26Dot6 height, |
- FT_UInt horz_res, |
- FT_UInt vert_res ); |
- |
- FT_BASE( FT_Error ) |
- ft_stub_set_pixel_sizes( FT_Size size, |
- FT_UInt width, |
- FT_UInt height ); |
- |
-#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ |
- |
/*************************************************************************/ |
/* */ |
/* <Macro> */ |
/* FT_DECLARE_DRIVER */ |
/* */ |
/* <Description> */ |
- /* Used to create a forward declaration of a */ |
- /* FT_Driver_ClassRec stract instance. */ |
+ /* Used to create a forward declaration of an FT_Driver_ClassRec */ |
+ /* struct instance. */ |
/* */ |
/* <Macro> */ |
/* FT_DEFINE_DRIVER */ |
@@ -254,160 +208,194 @@ FT_BEGIN_HEADER |
/* <Description> */ |
/* Used to initialize an instance of FT_Driver_ClassRec struct. */ |
/* */ |
- /* When FT_CONFIG_OPTION_PIC is defined a Create funtion will need */ |
- /* to called with a pointer where the allocated stracture is returned.*/ |
- /* And when it is no longer needed a Destroy function needs */ |
- /* to be called to release that allocation. */ |
- /* fcinit.c (ft_create_default_module_classes) already contains */ |
- /* a mechanism to call these functions for the default modules */ |
- /* described in ftmodule.h */ |
+ /* When FT_CONFIG_OPTION_PIC is defined a `create' function has to be */ |
+ /* called with a pointer where the allocated structure is returned. */ |
+ /* And when it is no longer needed a `destroy' function needs to be */ |
+ /* called to release that allocation. */ |
+ /* */ |
+ /* `fcinit.c' (ft_create_default_module_classes) already contains a */ |
+ /* mechanism to call these functions for the default modules */ |
+ /* described in `ftmodule.h'. */ |
/* */ |
- /* Notice that the created Create and Destroy functions call */ |
- /* pic_init and pic_free function to allow you to manually allocate */ |
- /* and initialize any additional global data, like module specific */ |
+ /* Notice that the created `create' and `destroy' functions call */ |
+ /* `pic_init' and `pic_free' to allow you to manually allocate and */ |
+ /* initialize any additional global data, like a module specific */ |
/* interface, and put them in the global pic container defined in */ |
- /* ftpic.h. if you don't need them just implement the functions as */ |
- /* empty to resolve the link error. Also the pic_init and pic_free */ |
- /* functions should be declared in pic.h, to be referred by driver */ |
- /* definition calling FT_DEFINE_DRIVER() in following. */ |
+ /* `ftpic.h'. If you don't need them just implement the functions as */ |
+ /* empty to resolve the link error. Also the `pic_init' and */ |
+ /* `pic_free' functions should be declared in `pic.h', to be referred */ |
+ /* by driver definition calling `FT_DEFINE_DRIVER' in following. */ |
/* */ |
/* When FT_CONFIG_OPTION_PIC is not defined the struct will be */ |
- /* allocated in the global scope (or the scope where the macro */ |
- /* is used). */ |
+ /* allocated in the global scope (or the scope where the macro is */ |
+ /* used). */ |
/* */ |
#ifndef FT_CONFIG_OPTION_PIC |
-#ifdef FT_CONFIG_OPTION_OLD_INTERNALS |
-#define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \ |
- a_, b_, |
-#else |
- #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) |
-#endif |
- |
-#define FT_DECLARE_DRIVER(class_) \ |
+#define FT_DECLARE_DRIVER( class_ ) \ |
FT_CALLBACK_TABLE \ |
const FT_Driver_ClassRec class_; |
-#define FT_DEFINE_DRIVER(class_, \ |
- flags_, size_, name_, version_, requires_, \ |
- interface_, init_, done_, get_interface_, \ |
- face_object_size_, size_object_size_, \ |
- slot_object_size_, init_face_, done_face_, \ |
- init_size_, done_size_, init_slot_, done_slot_, \ |
- old_set_char_sizes_, old_set_pixel_sizes_, \ |
- load_glyph_, get_kerning_, attach_file_, \ |
- get_advances_, request_size_, select_size_ ) \ |
- FT_CALLBACK_TABLE_DEF \ |
- const FT_Driver_ClassRec class_ = \ |
- { \ |
- FT_DEFINE_ROOT_MODULE(flags_,size_,name_,version_,requires_,interface_, \ |
- init_,done_,get_interface_) \ |
- \ |
- face_object_size_, \ |
- size_object_size_, \ |
- slot_object_size_, \ |
- \ |
- init_face_, \ |
- done_face_, \ |
- \ |
- init_size_, \ |
- done_size_, \ |
- \ |
- init_slot_, \ |
- done_slot_, \ |
- \ |
- FT_DEFINE_DRIVERS_OLD_INTERNALS(old_set_char_sizes_, old_set_pixel_sizes_) \ |
- \ |
- load_glyph_, \ |
- \ |
- get_kerning_, \ |
- attach_file_, \ |
- get_advances_, \ |
- \ |
- request_size_, \ |
- select_size_ \ |
+#define FT_DEFINE_DRIVER( \ |
+ class_, \ |
+ flags_, \ |
+ size_, \ |
+ name_, \ |
+ version_, \ |
+ requires_, \ |
+ interface_, \ |
+ init_, \ |
+ done_, \ |
+ get_interface_, \ |
+ face_object_size_, \ |
+ size_object_size_, \ |
+ slot_object_size_, \ |
+ init_face_, \ |
+ done_face_, \ |
+ init_size_, \ |
+ done_size_, \ |
+ init_slot_, \ |
+ done_slot_, \ |
+ load_glyph_, \ |
+ get_kerning_, \ |
+ attach_file_, \ |
+ get_advances_, \ |
+ request_size_, \ |
+ select_size_ ) \ |
+ FT_CALLBACK_TABLE_DEF \ |
+ const FT_Driver_ClassRec class_ = \ |
+ { \ |
+ FT_DEFINE_ROOT_MODULE( flags_, \ |
+ size_, \ |
+ name_, \ |
+ version_, \ |
+ requires_, \ |
+ interface_, \ |
+ init_, \ |
+ done_, \ |
+ get_interface_ ) \ |
+ \ |
+ face_object_size_, \ |
+ size_object_size_, \ |
+ slot_object_size_, \ |
+ \ |
+ init_face_, \ |
+ done_face_, \ |
+ \ |
+ init_size_, \ |
+ done_size_, \ |
+ \ |
+ init_slot_, \ |
+ done_slot_, \ |
+ \ |
+ load_glyph_, \ |
+ \ |
+ get_kerning_, \ |
+ attach_file_, \ |
+ get_advances_, \ |
+ \ |
+ request_size_, \ |
+ select_size_ \ |
}; |
#else /* FT_CONFIG_OPTION_PIC */ |
-#ifdef FT_CONFIG_OPTION_OLD_INTERNALS |
-#define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \ |
- clazz->set_char_sizes = a_; \ |
- clazz->set_pixel_sizes = b_; |
-#else |
- #define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) |
-#endif |
- |
-#define FT_DECLARE_DRIVER(class_) FT_DECLARE_MODULE(class_) |
- |
-#define FT_DEFINE_DRIVER(class_, \ |
- flags_, size_, name_, version_, requires_, \ |
- interface_, init_, done_, get_interface_, \ |
- face_object_size_, size_object_size_, \ |
- slot_object_size_, init_face_, done_face_, \ |
- init_size_, done_size_, init_slot_, done_slot_, \ |
- old_set_char_sizes_, old_set_pixel_sizes_, \ |
- load_glyph_, get_kerning_, attach_file_, \ |
- get_advances_, request_size_, select_size_ ) \ |
- \ |
- void \ |
- FT_Destroy_Class_##class_( FT_Library library, \ |
- FT_Module_Class* clazz ) \ |
- { \ |
- FT_Memory memory = library->memory; \ |
- FT_Driver_Class dclazz = (FT_Driver_Class)clazz; \ |
- class_##_pic_free( library ); \ |
- if ( dclazz ) \ |
- FT_FREE( dclazz ); \ |
- } \ |
- \ |
- FT_Error \ |
- FT_Create_Class_##class_( FT_Library library, \ |
- FT_Module_Class** output_class ) \ |
- { \ |
- FT_Driver_Class clazz; \ |
- FT_Error error; \ |
- FT_Memory memory = library->memory; \ |
- \ |
- if ( FT_ALLOC( clazz, sizeof(*clazz) ) ) \ |
- return error; \ |
- \ |
- error = class_##_pic_init( library ); \ |
- if(error) \ |
- { \ |
- FT_FREE( clazz ); \ |
- return error; \ |
- } \ |
- \ |
- FT_DEFINE_ROOT_MODULE(flags_,size_,name_,version_,requires_,interface_, \ |
- init_,done_,get_interface_) \ |
- \ |
- clazz->face_object_size = face_object_size_; \ |
- clazz->size_object_size = size_object_size_; \ |
- clazz->slot_object_size = slot_object_size_; \ |
- \ |
- clazz->init_face = init_face_; \ |
- clazz->done_face = done_face_; \ |
- \ |
- clazz->init_size = init_size_; \ |
- clazz->done_size = done_size_; \ |
- \ |
- clazz->init_slot = init_slot_; \ |
- clazz->done_slot = done_slot_; \ |
- \ |
- FT_DEFINE_DRIVERS_OLD_INTERNALS(old_set_char_sizes_, old_set_pixel_sizes_) \ |
- \ |
- clazz->load_glyph = load_glyph_; \ |
- \ |
- clazz->get_kerning = get_kerning_; \ |
- clazz->attach_file = attach_file_; \ |
- clazz->get_advances = get_advances_; \ |
- \ |
- clazz->request_size = request_size_; \ |
- clazz->select_size = select_size_; \ |
- \ |
- *output_class = (FT_Module_Class*)clazz; \ |
- return FT_Err_Ok; \ |
+#define FT_DECLARE_DRIVER( class_ ) FT_DECLARE_MODULE( class_ ) |
+ |
+#define FT_DEFINE_DRIVER( \ |
+ class_, \ |
+ flags_, \ |
+ size_, \ |
+ name_, \ |
+ version_, \ |
+ requires_, \ |
+ interface_, \ |
+ init_, \ |
+ done_, \ |
+ get_interface_, \ |
+ face_object_size_, \ |
+ size_object_size_, \ |
+ slot_object_size_, \ |
+ init_face_, \ |
+ done_face_, \ |
+ init_size_, \ |
+ done_size_, \ |
+ init_slot_, \ |
+ done_slot_, \ |
+ load_glyph_, \ |
+ get_kerning_, \ |
+ attach_file_, \ |
+ get_advances_, \ |
+ request_size_, \ |
+ select_size_ ) \ |
+ void \ |
+ FT_Destroy_Class_ ## class_( FT_Library library, \ |
+ FT_Module_Class* clazz ) \ |
+ { \ |
+ FT_Memory memory = library->memory; \ |
+ FT_Driver_Class dclazz = (FT_Driver_Class)clazz; \ |
+ \ |
+ \ |
+ class_ ## _pic_free( library ); \ |
+ if ( dclazz ) \ |
+ FT_FREE( dclazz ); \ |
+ } \ |
+ \ |
+ \ |
+ FT_Error \ |
+ FT_Create_Class_ ## class_( FT_Library library, \ |
+ FT_Module_Class** output_class ) \ |
+ { \ |
+ FT_Driver_Class clazz = NULL; \ |
+ FT_Error error; \ |
+ FT_Memory memory = library->memory; \ |
+ \ |
+ \ |
+ if ( FT_ALLOC( clazz, sizeof ( *clazz ) ) ) \ |
+ return error; \ |
+ \ |
+ error = class_ ## _pic_init( library ); \ |
+ if ( error ) \ |
+ { \ |
+ FT_FREE( clazz ); \ |
+ return error; \ |
+ } \ |
+ \ |
+ FT_DEFINE_ROOT_MODULE( flags_, \ |
+ size_, \ |
+ name_, \ |
+ version_, \ |
+ requires_, \ |
+ interface_, \ |
+ init_, \ |
+ done_, \ |
+ get_interface_ ) \ |
+ \ |
+ clazz->face_object_size = face_object_size_; \ |
+ clazz->size_object_size = size_object_size_; \ |
+ clazz->slot_object_size = slot_object_size_; \ |
+ \ |
+ clazz->init_face = init_face_; \ |
+ clazz->done_face = done_face_; \ |
+ \ |
+ clazz->init_size = init_size_; \ |
+ clazz->done_size = done_size_; \ |
+ \ |
+ clazz->init_slot = init_slot_; \ |
+ clazz->done_slot = done_slot_; \ |
+ \ |
+ clazz->load_glyph = load_glyph_; \ |
+ \ |
+ clazz->get_kerning = get_kerning_; \ |
+ clazz->attach_file = attach_file_; \ |
+ clazz->get_advances = get_advances_; \ |
+ \ |
+ clazz->request_size = request_size_; \ |
+ clazz->select_size = select_size_; \ |
+ \ |
+ *output_class = (FT_Module_Class*)clazz; \ |
+ \ |
+ return FT_Err_Ok; \ |
} |