|
|
|
@ -4,7 +4,7 @@ |
|
|
|
|
/* */ |
|
|
|
|
/* The FreeType position independent code services for base. */ |
|
|
|
|
/* */ |
|
|
|
|
/* Copyright 2009 by */ |
|
|
|
|
/* Copyright 2009, 2012 by */ |
|
|
|
|
/* Oran Agra and Mickey Gabel. */ |
|
|
|
|
/* */ |
|
|
|
|
/* This file is part of the FreeType project, and may only be used, */ |
|
|
|
@ -21,14 +21,22 @@ |
|
|
|
|
#include FT_INTERNAL_OBJECTS_H |
|
|
|
|
#include "basepic.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef FT_CONFIG_OPTION_PIC |
|
|
|
|
|
|
|
|
|
/* forward declaration of PIC init functions from ftglyph.c */ |
|
|
|
|
void FT_Init_Class_ft_outline_glyph_class( FT_Glyph_Class* clazz ); |
|
|
|
|
void FT_Init_Class_ft_bitmap_glyph_class( FT_Glyph_Class* clazz ); |
|
|
|
|
void |
|
|
|
|
FT_Init_Class_ft_outline_glyph_class( FT_Glyph_Class* clazz ); |
|
|
|
|
|
|
|
|
|
/* forward declaration of PIC init function from ftrfork.c (not modularized) */ |
|
|
|
|
void FT_Init_Table_raccess_guess_table( ft_raccess_guess_rec* record ); |
|
|
|
|
void |
|
|
|
|
FT_Init_Class_ft_bitmap_glyph_class( FT_Glyph_Class* clazz ); |
|
|
|
|
|
|
|
|
|
#ifdef FT_CONFIG_OPTION_MAC_FONTS |
|
|
|
|
/* forward declaration of PIC init function from ftrfork.c */ |
|
|
|
|
/* (not modularized) */ |
|
|
|
|
void |
|
|
|
|
FT_Init_Table_raccess_guess_table( ft_raccess_guess_rec* record ); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* forward declaration of PIC init functions from ftinit.c */ |
|
|
|
|
FT_Error |
|
|
|
@ -37,14 +45,18 @@ |
|
|
|
|
void |
|
|
|
|
ft_destroy_default_module_classes( FT_Library library ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
ft_base_pic_free( FT_Library library ) |
|
|
|
|
{ |
|
|
|
|
FT_PIC_Container* pic_container = &library->pic_container; |
|
|
|
|
FT_Memory memory = library->memory; |
|
|
|
|
FT_Memory memory = library->memory; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( pic_container->base ) |
|
|
|
|
{ |
|
|
|
|
/* Destroy default module classes (in case FT_Add_Default_Modules was used) */ |
|
|
|
|
/* destroy default module classes */ |
|
|
|
|
/* (in case FT_Add_Default_Modules was used) */ |
|
|
|
|
ft_destroy_default_module_classes( library ); |
|
|
|
|
|
|
|
|
|
FT_FREE( pic_container->base ); |
|
|
|
@ -57,9 +69,10 @@ |
|
|
|
|
ft_base_pic_init( FT_Library library ) |
|
|
|
|
{ |
|
|
|
|
FT_PIC_Container* pic_container = &library->pic_container; |
|
|
|
|
FT_Error error = FT_Err_Ok; |
|
|
|
|
FT_Error error = FT_Err_Ok; |
|
|
|
|
BasePIC* container; |
|
|
|
|
FT_Memory memory = library->memory; |
|
|
|
|
FT_Memory memory = library->memory; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* allocate pointer, clear and set global container pointer */ |
|
|
|
|
if ( FT_ALLOC ( container, sizeof ( *container ) ) ) |
|
|
|
@ -72,13 +85,16 @@ |
|
|
|
|
if ( error ) |
|
|
|
|
goto Exit; |
|
|
|
|
|
|
|
|
|
/* initialize pointer table - this is how the module usually expects this data */ |
|
|
|
|
/* initialize pointer table - */ |
|
|
|
|
/* this is how the module usually expects this data */ |
|
|
|
|
FT_Init_Class_ft_outline_glyph_class( |
|
|
|
|
&container->ft_outline_glyph_class ); |
|
|
|
|
FT_Init_Class_ft_bitmap_glyph_class( |
|
|
|
|
&container->ft_bitmap_glyph_class ); |
|
|
|
|
#ifdef FT_CONFIG_OPTION_MAC_FONTS |
|
|
|
|
FT_Init_Table_raccess_guess_table( |
|
|
|
|
(ft_raccess_guess_rec*)&container->ft_raccess_guess_table); |
|
|
|
|
(ft_raccess_guess_rec*)&container->ft_raccess_guess_table ); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
Exit: |
|
|
|
|
if( error ) |
|
|
|
|