1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/
2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  svbdf.h                                                                */
4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*    The FreeType BDF services (specification).                           */
6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
7a2527749993cb7f25560e4b1266787f1874435d4Jungshik Shin/*  Copyright 2003-2017 by                                                 */
8049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  This file is part of the FreeType project, and may only be used,       */
11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  modified, and distributed under the terms of the FreeType project      */
12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  this file you indicate that you have read the license and              */
14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  understand and accept it fully.                                        */
15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/
17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
19055aee28cedc3631434b2636fc6093c0d4d818abJungshik Shin#ifndef SVBDF_H_
20055aee28cedc3631434b2636fc6093c0d4d818abJungshik Shin#define SVBDF_H_
21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_BDF_H
23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_INTERNAL_SERVICE_H
24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER
27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_SERVICE_ID_BDF  "bdf"
30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  typedef FT_Error
32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  (*FT_BDF_GetCharsetIdFunc)( FT_Face       face,
33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                              const char*  *acharset_encoding,
34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                              const char*  *acharset_registry );
35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  typedef FT_Error
37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  (*FT_BDF_GetPropertyFunc)( FT_Face           face,
38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                             const char*       prop_name,
39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                             BDF_PropertyRec  *aproperty );
40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_DEFINE_SERVICE( BDF )
43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  {
44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project    FT_BDF_GetCharsetIdFunc  get_charset_id;
45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project    FT_BDF_GetPropertyFunc   get_property;
46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  };
47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
4841371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier
49295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#ifndef FT_CONFIG_OPTION_PIC
50295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner
5141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#define FT_DEFINE_SERVICE_BDFRec( class_,                                \
5241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier                                  get_charset_id_,                       \
5341371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier                                  get_property_ )                        \
5441371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier  static const FT_Service_BDFRec  class_ =                               \
55295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner  {                                                                      \
56295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner    get_charset_id_, get_property_                                       \
57295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner  };
58295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner
5941371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#else /* FT_CONFIG_OPTION_PIC */
60295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner
6141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#define FT_DEFINE_SERVICE_BDFRec( class_,                                \
6241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier                                  get_charset_id_,                       \
6341371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier                                  get_property_ )                        \
64295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner  void                                                                   \
6541371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier  FT_Init_Class_ ## class_( FT_Service_BDFRec*  clazz )                  \
66295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner  {                                                                      \
67295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner    clazz->get_charset_id = get_charset_id_;                             \
6841371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier    clazz->get_property   = get_property_;                               \
6941371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier  }
70295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner
7141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#endif /* FT_CONFIG_OPTION_PIC */
72295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner
73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /* */
74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER
77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
79055aee28cedc3631434b2636fc6093c0d4d818abJungshik Shin#endif /* SVBDF_H_ */
80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */
83