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