Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: core/src/fxge/fx_freetype/fxft2.5.01/src/raster/rastpic.c

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Adjust GYP and GN Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /***************************************************************************/
2 /* */
3 /* rastpic.c */
4 /* */
5 /* The FreeType position independent code services for raster module. */
6 /* */
7 /* Copyright 2009, 2010, 2012, 2013 by */
8 /* Oran Agra and Mickey Gabel. */
9 /* */
10 /* This file is part of the FreeType project, and may only be used, */
11 /* modified, and distributed under the terms of the FreeType project */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */
15 /* */
16 /***************************************************************************/
17
18
19 #include "../../include/ft2build.h"
20 #include "../../include/freetype/freetype.h"
21 #include "../../include/freetype/internal/ftobjs.h"
22 #include "rastpic.h"
23 #include "rasterrs.h"
24
25
26 #ifdef FT_CONFIG_OPTION_PIC
27
28 /* forward declaration of PIC init functions from ftraster.c */
29 void
30 FT_Init_Class_ft_standard_raster( FT_Raster_Funcs* funcs );
31
32
33 void
34 ft_raster1_renderer_class_pic_free( FT_Library library )
35 {
36 FT_PIC_Container* pic_container = &library->pic_container;
37 FT_Memory memory = library->memory;
38
39
40 if ( pic_container->raster )
41 {
42 RasterPIC* container = (RasterPIC*)pic_container->raster;
43
44
45 if ( --container->ref_count )
46 return;
47 FT_FREE( container );
48 pic_container->raster = NULL;
49 }
50 }
51
52
53 FT_Error
54 ft_raster1_renderer_class_pic_init( FT_Library library )
55 {
56 FT_PIC_Container* pic_container = &library->pic_container;
57 FT_Error error = FT_Err_Ok;
58 RasterPIC* container = NULL;
59 FT_Memory memory = library->memory;
60
61
62 /* since this function also serves raster5 renderer, */
63 /* it implements reference counting */
64 if ( pic_container->raster )
65 {
66 ((RasterPIC*)pic_container->raster)->ref_count++;
67 return error;
68 }
69
70 /* allocate pointer, clear and set global container pointer */
71 if ( FT_ALLOC( container, sizeof ( *container ) ) )
72 return error;
73 FT_MEM_SET( container, 0, sizeof ( *container ) );
74 pic_container->raster = container;
75
76 container->ref_count = 1;
77
78 /* initialize pointer table - */
79 /* this is how the module usually expects this data */
80 FT_Init_Class_ft_standard_raster( &container->ft_standard_raster );
81
82 return error;
83 }
84
85
86 /* re-route these init and free functions to the above functions */
87 FT_Error
88 ft_raster5_renderer_class_pic_init( FT_Library library )
89 {
90 return ft_raster1_renderer_class_pic_init( library );
91 }
92
93
94 void
95 ft_raster5_renderer_class_pic_free( FT_Library library )
96 {
97 ft_raster1_renderer_class_pic_free( library );
98 }
99
100 #endif /* FT_CONFIG_OPTION_PIC */
101
102
103 /* END */
OLDNEW
« no previous file with comments | « core/src/fxge/fx_freetype/fxft2.5.01/src/raster/rastpic.h ('k') | core/src/fxge/fx_freetype/fxft2.5.01/src/raster/rules.mk » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698