1 /***************************************************************************/
2 /*                                                                         */
3 /*  ftspic.h                                                               */
4 /*                                                                         */
5 /*    The FreeType position independent code services for smooth module.   */
6 /*                                                                         */
7 /*  Copyright 2009-2018 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 FTSPIC_H_
20 #define FTSPIC_H_
21 
22 
23 #include FT_INTERNAL_PIC_H
24 
25 
26 FT_BEGIN_HEADER
27 
28 #ifndef FT_CONFIG_OPTION_PIC
29 
30 #define FT_GRAYS_RASTER_GET  ft_grays_raster
31 
32 #else /* FT_CONFIG_OPTION_PIC */
33 
34   typedef struct  SmoothPIC_
35   {
36     int              ref_count;
37     FT_Raster_Funcs  ft_grays_raster;
38 
39   } SmoothPIC;
40 
41 
42 #define GET_PIC( lib ) \
43           ( (SmoothPIC*)( (lib)->pic_container.smooth ) )
44 #define FT_GRAYS_RASTER_GET  ( GET_PIC( library )->ft_grays_raster )
45 
46 
47   /* see ftspic.c for the implementation */
48   void
49   ft_smooth_renderer_class_pic_free( FT_Library  library );
50 
51   void
52   ft_smooth_lcd_renderer_class_pic_free( FT_Library  library );
53 
54   void
55   ft_smooth_lcdv_renderer_class_pic_free( FT_Library  library );
56 
57   FT_Error
58   ft_smooth_renderer_class_pic_init( FT_Library  library );
59 
60   FT_Error
61   ft_smooth_lcd_renderer_class_pic_init( FT_Library  library );
62 
63   FT_Error
64   ft_smooth_lcdv_renderer_class_pic_init( FT_Library  library );
65 
66 #endif /* FT_CONFIG_OPTION_PIC */
67 
68  /* */
69 
70 FT_END_HEADER
71 
72 #endif /* FTSPIC_H_ */
73 
74 
75 /* END */
76