diff options
Diffstat (limited to 'freetype/src/smooth/ftspic.c')
-rw-r--r-- | freetype/src/smooth/ftspic.c | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/freetype/src/smooth/ftspic.c b/freetype/src/smooth/ftspic.c index 41f9a43e3..49485328f 100644 --- a/freetype/src/smooth/ftspic.c +++ b/freetype/src/smooth/ftspic.c @@ -20,21 +20,27 @@ #include FT_FREETYPE_H #include <freetype/internal/ftobjs.h> #include "ftspic.h" +#include "ftsmerrs.h" #ifdef FT_CONFIG_OPTION_PIC /* forward declaration of PIC init functions from ftgrays.c */ - void FT_Init_Class_ft_grays_raster(FT_Raster_Funcs*); + void + FT_Init_Class_ft_grays_raster( FT_Raster_Funcs* funcs ); void - ft_smooth_renderer_class_pic_free( FT_Library library ) + ft_smooth_renderer_class_pic_free( FT_Library library ) { - FT_PIC_Container* pic_container = &library->pic_container; - FT_Memory memory = library->memory; + FT_PIC_Container* pic_container = &library->pic_container; + FT_Memory memory = library->memory; + + if ( pic_container->smooth ) { - SmoothPIC* container = (SmoothPIC*)pic_container->smooth; - if(--container->ref_count) + SmoothPIC* container = (SmoothPIC*)pic_container->smooth; + + + if ( --container->ref_count ) return; FT_FREE( container ); pic_container->smooth = NULL; @@ -51,9 +57,9 @@ FT_Memory memory = library->memory; - /* since this function also serve smooth_lcd and smooth_lcdv renderers, + /* since this function also serve smooth_lcd and smooth_lcdv renderers, it implements reference counting */ - if(pic_container->smooth) + if ( pic_container->smooth ) { ((SmoothPIC*)pic_container->smooth)->ref_count++; return error; @@ -62,34 +68,37 @@ /* allocate pointer, clear and set global container pointer */ if ( FT_ALLOC ( container, sizeof ( *container ) ) ) return error; - FT_MEM_SET( container, 0, sizeof(*container) ); + FT_MEM_SET( container, 0, sizeof ( *container ) ); pic_container->smooth = container; container->ref_count = 1; /* initialize pointer table - this is how the module usually expects this data */ - FT_Init_Class_ft_grays_raster(&container->ft_grays_raster); + FT_Init_Class_ft_grays_raster( &container->ft_grays_raster ); /*Exit:*/ - if(error) - ft_smooth_renderer_class_pic_free(library); + if ( error ) + ft_smooth_renderer_class_pic_free( library ); return error; } /* re-route these init and free functions to the above functions */ - FT_Error ft_smooth_lcd_renderer_class_pic_init(FT_Library library) + FT_Error ft_smooth_lcd_renderer_class_pic_init( FT_Library library ) { - return ft_smooth_renderer_class_pic_init(library); + return ft_smooth_renderer_class_pic_init( library ); } - void ft_smooth_lcd_renderer_class_pic_free(FT_Library library) + + void ft_smooth_lcd_renderer_class_pic_free( FT_Library library ) { - ft_smooth_renderer_class_pic_free(library); + ft_smooth_renderer_class_pic_free( library ); } - FT_Error ft_smooth_lcdv_renderer_class_pic_init(FT_Library library) + + FT_Error ft_smooth_lcdv_renderer_class_pic_init( FT_Library library ) { - return ft_smooth_renderer_class_pic_init(library); + return ft_smooth_renderer_class_pic_init( library ); } - void ft_smooth_lcdv_renderer_class_pic_free(FT_Library library) + + void ft_smooth_lcdv_renderer_class_pic_free( FT_Library library ) { - ft_smooth_renderer_class_pic_free(library); + ft_smooth_renderer_class_pic_free( library ); } #endif /* FT_CONFIG_OPTION_PIC */ |