[CMAKE]
[reactos.git] / lib / 3rdparty / freetype / src / pshinter / pshpic.c
1 /***************************************************************************/
2 /* */
3 /* pshpic.c */
4 /* */
5 /* The FreeType position independent code services for pshinter module. */
6 /* */
7 /* Copyright 2009, 2010 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 <ft2build.h>
20 #include FT_FREETYPE_H
21 #include FT_INTERNAL_OBJECTS_H
22 #include "pshpic.h"
23
24 #ifdef FT_CONFIG_OPTION_PIC
25
26 /* forward declaration of PIC init functions from pshmod.c */
27 void FT_Init_Class_pshinter_interface( FT_Library, PSHinter_Interface*);
28
29 void
30 pshinter_module_class_pic_free( FT_Library library )
31 {
32 FT_PIC_Container* pic_container = &library->pic_container;
33 FT_Memory memory = library->memory;
34 if ( pic_container->pshinter )
35 {
36 FT_FREE( pic_container->pshinter );
37 pic_container->pshinter = NULL;
38 }
39 }
40
41
42 FT_Error
43 pshinter_module_class_pic_init( FT_Library library )
44 {
45 FT_PIC_Container* pic_container = &library->pic_container;
46 FT_Error error = PSH_Err_Ok;
47 PSHinterPIC* container;
48 FT_Memory memory = library->memory;
49
50
51 /* allocate pointer, clear and set global container pointer */
52 if ( FT_ALLOC ( container, sizeof ( *container ) ) )
53 return error;
54 FT_MEM_SET( container, 0, sizeof ( *container ) );
55 pic_container->pshinter = container;
56
57 /* add call to initialization function when you add new scripts */
58 FT_Init_Class_pshinter_interface(library, &container->pshinter_interface);
59
60 /*Exit:*/
61 if(error)
62 pshinter_module_class_pic_free(library);
63 return error;
64 }
65
66
67 #endif /* FT_CONFIG_OPTION_PIC */
68
69 /* END */