1/***************************************************************************/
2/*                                                                         */
3/*  ftspic.h                                                               */
4/*                                                                         */
5/*    The FreeType position independent code services for smooth module.   */
6/*                                                                         */
7/*  Copyright 2009-2015 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
26FT_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
70FT_END_HEADER
71
72#endif /* __FTSPIC_H__ */
73
74
75/* END */
76