diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 8eb510adf..f53608d04 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -199,6 +199,8 @@ FT_BEGIN_HEADER } FT_Glyph_Metrics; +#ifdef FT_CONFIG_OPTION_INCREMENTAL + /*************************************************************************/ /* */ /* */ @@ -222,6 +224,8 @@ FT_BEGIN_HEADER FT_Long advance; } FT_Basic_Glyph_Metrics; +#endif /* #ifdef FT_CONFIG_OPTION_INCREMENTAL */ + /*************************************************************************/ /* */ @@ -502,6 +506,8 @@ FT_BEGIN_HEADER } FT_CharMapRec; + +#ifdef FT_CONFIG_OPTION_INCREMENTAL /*************************************************************************/ /* */ @@ -607,6 +613,8 @@ FT_BEGIN_HEADER void* object; } FT_Incremental_Interface; +#endif /* #ifdef FT_CONFIG_OPTION_INCREMENTAL */ + /*************************************************************************/ /*************************************************************************/ @@ -839,6 +847,10 @@ FT_BEGIN_HEADER FT_Face_Internal internal; +#ifdef FT_CONFIG_OPTION_INCREMENTAL + FT_Incremental_Interface* incremental_interface; +#endif + /*@private end */ } FT_FaceRec; @@ -1576,6 +1588,9 @@ FT_BEGIN_HEADER /* */ /* ft_open_params :: Use the `num_params' & `params' field. */ /* */ + /* ft_open_incremental :: Use the 'incremental_interface' field. */ + /* (Available if FT_CONFIG_OPTION_INCREMENTAL is defined.) */ + /* */ /* */ /* The `ft_open_memory', `ft_open_stream', and `ft_open_pathname' */ /* flags are mutually exclusive. */ @@ -1587,6 +1602,9 @@ FT_BEGIN_HEADER ft_open_pathname = 4, ft_open_driver = 8, ft_open_params = 16 +#ifdef FT_CONFIG_OPTION_INCREMENTAL + ,ft_open_incremental = 32 +#endif } FT_Open_Flags; @@ -1648,6 +1666,11 @@ FT_BEGIN_HEADER /* params :: Extra parameters passed to the font driver when */ /* opening a new face. */ /* */ + /* incremental_interface :: If non-null, an interface used to */ + /* implement incremental font loading. This field */ + /* exists only if FT_CONFIG_OPTION_INCREMENTAL is */ + /* defined. */ + /* */ /* */ /* The stream type is determined by the contents of `flags' which */ /* are tested in the following order by @FT_Open_Face: */ @@ -1668,16 +1691,23 @@ FT_BEGIN_HEADER /* `num_params' and `params' will be used. They are ignored */ /* otherwise. */ /* */ + /* If the `ft_open_incremental' bit is set 'incremental_interface' */ + /* will be used, else it is ignored. This feature is available only */ + /* if FT_CONFIG_OPTION_INCREMENTAL is defined. */ + /* */ typedef struct FT_Open_Args_ { - FT_Open_Flags flags; - const FT_Byte* memory_base; - FT_Long memory_size; - FT_String* pathname; - FT_Stream stream; - FT_Module driver; - FT_Int num_params; - FT_Parameter* params; + FT_Open_Flags flags; + const FT_Byte* memory_base; + FT_Long memory_size; + FT_String* pathname; + FT_Stream stream; + FT_Module driver; + FT_Int num_params; + FT_Parameter* params; +#ifdef FT_CONFIG_OPTION_INCREMENTAL + FT_Incremental_Interface* incremental_interface; +#endif } FT_Open_Args;