* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
src/base/ftobjs.c, src/base/ftinit.c: adding the new FT_Library_Version API to return the library's current version in dynamic links.
This commit is contained in:
parent
4997097752
commit
83b4a4b515
@ -7,6 +7,10 @@
|
||||
* src/pshinter/pshalgo2.c: changed 'print_zone' to 'psh2_print_zone'
|
||||
* src/pshinter/pshalgo1.c: changed 'print_zone' to 'psh1_print_zone'
|
||||
|
||||
* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
|
||||
src/base/ftobjs.c, src/base/ftinit.c: adding the new FT_Library_Version
|
||||
API to return the library's current version in dynamic links.
|
||||
|
||||
|
||||
2002-03-06 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
|
@ -106,6 +106,7 @@ FT_BEGIN_HEADER
|
||||
/* */
|
||||
/* FT_Init_FreeType */
|
||||
/* FT_Done_FreeType */
|
||||
/* FT_Library_Version */
|
||||
/* */
|
||||
/* FT_New_Face */
|
||||
/* FT_Done_Face */
|
||||
@ -1338,6 +1339,40 @@ FT_BEGIN_HEADER
|
||||
FT_Init_FreeType( FT_Library *alibrary );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_Library_Version */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Return the version of the FreeType library being used. This */
|
||||
/* is useful when dynamically linking to the library, since one */
|
||||
/* cannot use the macros FT_FREETYPE_MAJOR, FT_FREETYPE_MINOR and */
|
||||
/* FT_FREETYPE_PATCH. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* library :: source library handle. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* amajor :: major version number */
|
||||
/* aminor :: minor version number */
|
||||
/* apatch :: patch version number */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* the reason why this function takes a 'library' argument is */
|
||||
/* because certain programs implement library initialisation in */
|
||||
/* a custom way that doesn't use FT_Init_FreeType. */
|
||||
/* */
|
||||
/* in certain such cases, the library version cannot be known until */
|
||||
/* the library object has been created.. */
|
||||
/* */
|
||||
FT_EXPORT( void )
|
||||
FT_Library_Version( FT_Library library,
|
||||
FT_Int *amajor,
|
||||
FT_Int *aminor,
|
||||
FT_Int *apatch );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
|
@ -657,6 +657,10 @@ FT_BEGIN_HEADER
|
||||
|
||||
FT_Generic generic;
|
||||
|
||||
FT_Int version_major;
|
||||
FT_Int version_minor;
|
||||
FT_Int version_patch;
|
||||
|
||||
FT_UInt num_modules;
|
||||
FT_Module modules[FT_MAX_MODULES]; /* module objects */
|
||||
|
||||
|
@ -125,7 +125,13 @@
|
||||
|
||||
error = FT_New_Library( memory, alibrary );
|
||||
if ( !error )
|
||||
{
|
||||
(*alibrary)->version_major = FREETYPE_MAJOR;
|
||||
(*alibrary)->version_minor = FREETYPE_MINOR;
|
||||
(*alibrary)->version_patch = FREETYPE_PATCH;
|
||||
|
||||
FT_Add_Default_Modules( *alibrary );
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
@ -2300,6 +2300,37 @@
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( void )
|
||||
FT_Library_Version( FT_Library library,
|
||||
FT_Int *amajor,
|
||||
FT_Int *aminor,
|
||||
FT_Int *apatch )
|
||||
{
|
||||
FT_Int major = 0;
|
||||
FT_Int minor = 0;
|
||||
FT_Int patch = 0;
|
||||
|
||||
|
||||
if ( library )
|
||||
{
|
||||
major = library->version_major;
|
||||
minor = library->version_minor;
|
||||
patch = library->version_patch;
|
||||
}
|
||||
|
||||
if ( *amajor )
|
||||
*amajor = major;
|
||||
|
||||
if ( *aminor )
|
||||
*aminor = minor;
|
||||
|
||||
if ( *apatch )
|
||||
*apatch = patch;
|
||||
}
|
||||
|
||||
|
||||
/* documentation is in ftmodule.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
|
Loading…
Reference in New Issue
Block a user