* 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:
David Turner 2002-03-06 12:42:34 +00:00
parent 4997097752
commit 83b4a4b515
5 changed files with 80 additions and 0 deletions

View File

@ -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>

View File

@ -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> */

View File

@ -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 */

View File

@ -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;
}

View File

@ -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 )