1/***************************************************************************/
2/*                                                                         */
3/*  pspic.h                                                                */
4/*                                                                         */
5/*    The FreeType position independent code services for psnames module.  */
6/*                                                                         */
7/*  Copyright 2009, 2012 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#ifndef __PSPIC_H__
20#define __PSPIC_H__
21
22
23FT_BEGIN_HEADER
24
25#include FT_INTERNAL_PIC_H
26
27#ifndef FT_CONFIG_OPTION_PIC
28
29#define PSCMAPS_SERVICES_GET   pscmaps_services
30#define PSCMAPS_INTERFACE_GET  pscmaps_interface
31
32#else /* FT_CONFIG_OPTION_PIC */
33
34#include FT_SERVICE_POSTSCRIPT_CMAPS_H
35
36  typedef struct  PSModulePIC_
37  {
38    FT_ServiceDescRec*     pscmaps_services;
39    FT_Service_PsCMapsRec  pscmaps_interface;
40
41  } PSModulePIC;
42
43
44#define GET_PIC( lib )                                     \
45          ( (PSModulePIC*)((lib)->pic_container.psnames) )
46#define PSCMAPS_SERVICES_GET   ( GET_PIC( library )->pscmaps_services )
47#define PSCMAPS_INTERFACE_GET  ( GET_PIC( library )->pscmaps_interface )
48
49
50  /* see pspic.c for the implementation */
51  void
52  psnames_module_class_pic_free( FT_Library  library );
53
54  FT_Error
55  psnames_module_class_pic_init( FT_Library  library );
56
57#endif /* FT_CONFIG_OPTION_PIC */
58
59 /* */
60
61FT_END_HEADER
62
63#endif /* __PSPIC_H__ */
64
65
66/* END */
67