1/***************************************************************************/ 2/* */ 3/* ttpic.h */ 4/* */ 5/* The FreeType position independent code services for truetype module. */ 6/* */ 7/* Copyright 2009, 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#ifndef __TTPIC_H__ 20#define __TTPIC_H__ 21 22 23FT_BEGIN_HEADER 24 25#ifndef FT_CONFIG_OPTION_PIC 26 27#define TT_SERVICES_GET tt_services 28#define TT_SERVICE_GX_MULTI_MASTERS_GET tt_service_gx_multi_masters 29#define TT_SERVICE_TRUETYPE_GLYF_GET tt_service_truetype_glyf 30#define TT_SERVICE_PROPERTIES_GET tt_service_properties 31 32#else /* FT_CONFIG_OPTION_PIC */ 33 34#include FT_MULTIPLE_MASTERS_H 35#include FT_SERVICE_MULTIPLE_MASTERS_H 36#include FT_SERVICE_TRUETYPE_GLYF_H 37#include FT_SERVICE_PROPERTIES_H 38 39 40 typedef struct TTModulePIC_ 41 { 42 FT_ServiceDescRec* tt_services; 43#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT 44 FT_Service_MultiMastersRec tt_service_gx_multi_masters; 45#endif 46 FT_Service_TTGlyfRec tt_service_truetype_glyf; 47 FT_Service_PropertiesRec tt_service_properties; 48 49 } TTModulePIC; 50 51 52#define GET_PIC( lib ) \ 53 ( (TTModulePIC*)((lib)->pic_container.truetype) ) 54#define TT_SERVICES_GET \ 55 ( GET_PIC( library )->tt_services ) 56#define TT_SERVICE_GX_MULTI_MASTERS_GET \ 57 ( GET_PIC( library )->tt_service_gx_multi_masters ) 58#define TT_SERVICE_TRUETYPE_GLYF_GET \ 59 ( GET_PIC( library )->tt_service_truetype_glyf ) 60#define TT_SERVICE_PROPERTIES_GET \ 61 ( GET_PIC( library )->tt_service_properties ) 62 63 64 /* see ttpic.c for the implementation */ 65 void 66 tt_driver_class_pic_free( FT_Library library ); 67 68 FT_Error 69 tt_driver_class_pic_init( FT_Library library ); 70 71#endif /* FT_CONFIG_OPTION_PIC */ 72 73 /* */ 74 75 76FT_END_HEADER 77 78#endif /* __TTPIC_H__ */ 79 80 81/* END */ 82