~ubuntu-branches/ubuntu/wily/hedgewars/wily

« back to all changes in this revision

Viewing changes to misc/libfreetype/include/freetype/ftbdf.h

  • Committer: Package Import Robot
  • Author(s): Dmitry E. Oboukhov
  • Date: 2011-09-23 10:16:55 UTC
  • mfrom: (1.2.11 upstream)
  • Revision ID: package-import@ubuntu.com-20110923101655-3977th2gc5n0a3pv
Tags: 0.9.16-1
* New upstream version.
 + Downloadable content! Simply click to install any content.
   New voices, hats, maps, themes, translations, music, scripts...
   Hedgewars is now more customisable than ever before! As time goes
   by we will be soliciting community content to feature on this page,
   so remember to check it from time to time. If you decide you want
   to go back to standard Hedgewars, just remove the Data directory
   from your Hedgewars config directory.
 + 3-D rendering! Diorama-like rendering of the game in a variety
   of 3D modes. Let us know which ones work best for you, we didn't
   really have the equipment to test them all.
 + Resizable game window.
 + New utilities! The Time Box will remove one of your hedgehogs
   from the game for a while, protecting from attack until it returns,
   somewhere else on the map. Land spray will allow you to build bridges,
   seal up holes, or just make life unpleasant for your enemies.
 + New single player: Bamboo Thicket, That Sinking Feeling, Newton and
   the Tree and multi-player: The Specialists, Space Invaders,
   Racer - scripts! And a ton more script hooks for scripters
 + New twists on old weapons. Drill strike, seduction and fire have
   been adjusted. Defective mines have been added, rope can attach to
   hogs/crates/barrels again, grenades now have variable bounce (use
   precise key + 1-5). Portal gun is now more usable in flight and
   all game actions are a lot faster.
 + New theme - Golf, dozens of new community hats and a new
   localised Default voice, Ukranian.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************/
 
2
/*                                                                         */
 
3
/*  ftbdf.h                                                                */
 
4
/*                                                                         */
 
5
/*    FreeType API for accessing BDF-specific strings (specification).     */
 
6
/*                                                                         */
 
7
/*  Copyright 2002, 2003, 2004, 2006, 2009 by                              */
 
8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 
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 __FTBDF_H__
 
20
#define __FTBDF_H__
 
21
 
 
22
#include <ft2build.h>
 
23
#include FT_FREETYPE_H
 
24
 
 
25
#ifdef FREETYPE_H
 
26
#error "freetype.h of FreeType 1 has been loaded!"
 
27
#error "Please fix the directory search order for header files"
 
28
#error "so that freetype.h of FreeType 2 is found first."
 
29
#endif
 
30
 
 
31
 
 
32
FT_BEGIN_HEADER
 
33
 
 
34
 
 
35
  /*************************************************************************/
 
36
  /*                                                                       */
 
37
  /* <Section>                                                             */
 
38
  /*    bdf_fonts                                                          */
 
39
  /*                                                                       */
 
40
  /* <Title>                                                               */
 
41
  /*    BDF and PCF Files                                                  */
 
42
  /*                                                                       */
 
43
  /* <Abstract>                                                            */
 
44
  /*    BDF and PCF specific API.                                          */
 
45
  /*                                                                       */
 
46
  /* <Description>                                                         */
 
47
  /*    This section contains the declaration of functions specific to BDF */
 
48
  /*    and PCF fonts.                                                     */
 
49
  /*                                                                       */
 
50
  /*************************************************************************/
 
51
 
 
52
 
 
53
  /**********************************************************************
 
54
   *
 
55
   * @enum:
 
56
   *    FT_PropertyType
 
57
   *
 
58
   * @description:
 
59
   *    A list of BDF property types.
 
60
   *
 
61
   * @values:
 
62
   *    BDF_PROPERTY_TYPE_NONE ::
 
63
   *      Value~0 is used to indicate a missing property.
 
64
   *
 
65
   *    BDF_PROPERTY_TYPE_ATOM ::
 
66
   *      Property is a string atom.
 
67
   *
 
68
   *    BDF_PROPERTY_TYPE_INTEGER ::
 
69
   *      Property is a 32-bit signed integer.
 
70
   *
 
71
   *    BDF_PROPERTY_TYPE_CARDINAL ::
 
72
   *      Property is a 32-bit unsigned integer.
 
73
   */
 
74
  typedef enum  BDF_PropertyType_
 
75
  {
 
76
    BDF_PROPERTY_TYPE_NONE     = 0,
 
77
    BDF_PROPERTY_TYPE_ATOM     = 1,
 
78
    BDF_PROPERTY_TYPE_INTEGER  = 2,
 
79
    BDF_PROPERTY_TYPE_CARDINAL = 3
 
80
 
 
81
  } BDF_PropertyType;
 
82
 
 
83
 
 
84
  /**********************************************************************
 
85
   *
 
86
   * @type:
 
87
   *    BDF_Property
 
88
   *
 
89
   * @description:
 
90
   *    A handle to a @BDF_PropertyRec structure to model a given
 
91
   *    BDF/PCF property.
 
92
   */
 
93
  typedef struct BDF_PropertyRec_*  BDF_Property;
 
94
 
 
95
 
 
96
 /**********************************************************************
 
97
  *
 
98
  * @struct:
 
99
  *    BDF_PropertyRec
 
100
  *
 
101
  * @description:
 
102
  *    This structure models a given BDF/PCF property.
 
103
  *
 
104
  * @fields:
 
105
  *    type ::
 
106
  *      The property type.
 
107
  *
 
108
  *    u.atom ::
 
109
  *      The atom string, if type is @BDF_PROPERTY_TYPE_ATOM.
 
110
  *
 
111
  *    u.integer ::
 
112
  *      A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
 
113
  *
 
114
  *    u.cardinal ::
 
115
  *      An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
 
116
  */
 
117
  typedef struct  BDF_PropertyRec_
 
118
  {
 
119
    BDF_PropertyType  type;
 
120
    union {
 
121
      const char*     atom;
 
122
      FT_Int32        integer;
 
123
      FT_UInt32       cardinal;
 
124
 
 
125
    } u;
 
126
 
 
127
  } BDF_PropertyRec;
 
128
 
 
129
 
 
130
 /**********************************************************************
 
131
  *
 
132
  * @function:
 
133
  *    FT_Get_BDF_Charset_ID
 
134
  *
 
135
  * @description:
 
136
  *    Retrieve a BDF font character set identity, according to
 
137
  *    the BDF specification.
 
138
  *
 
139
  * @input:
 
140
  *    face ::
 
141
  *       A handle to the input face.
 
142
  *
 
143
  * @output:
 
144
  *    acharset_encoding ::
 
145
  *       Charset encoding, as a C~string, owned by the face.
 
146
  *
 
147
  *    acharset_registry ::
 
148
  *       Charset registry, as a C~string, owned by the face.
 
149
  *
 
150
  * @return:
 
151
  *   FreeType error code.  0~means success.
 
152
  *
 
153
  * @note:
 
154
  *   This function only works with BDF faces, returning an error otherwise.
 
155
  */
 
156
  FT_EXPORT( FT_Error )
 
157
  FT_Get_BDF_Charset_ID( FT_Face       face,
 
158
                         const char*  *acharset_encoding,
 
159
                         const char*  *acharset_registry );
 
160
 
 
161
 
 
162
 /**********************************************************************
 
163
  *
 
164
  * @function:
 
165
  *    FT_Get_BDF_Property
 
166
  *
 
167
  * @description:
 
168
  *    Retrieve a BDF property from a BDF or PCF font file.
 
169
  *
 
170
  * @input:
 
171
  *    face :: A handle to the input face.
 
172
  *
 
173
  *    name :: The property name.
 
174
  *
 
175
  * @output:
 
176
  *    aproperty :: The property.
 
177
  *
 
178
  * @return:
 
179
  *   FreeType error code.  0~means success.
 
180
  *
 
181
  * @note:
 
182
  *   This function works with BDF _and_ PCF fonts.  It returns an error
 
183
  *   otherwise.  It also returns an error if the property is not in the
 
184
  *   font.
 
185
  *
 
186
  *   A `property' is a either key-value pair within the STARTPROPERTIES
 
187
  *   ... ENDPROPERTIES block of a BDF font or a key-value pair from the
 
188
  *   `info->props' array within a `FontRec' structure of a PCF font.
 
189
  *
 
190
  *   Integer properties are always stored as `signed' within PCF fonts;
 
191
  *   consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
 
192
  *   for BDF fonts only.
 
193
  *
 
194
  *   In case of error, `aproperty->type' is always set to
 
195
  *   @BDF_PROPERTY_TYPE_NONE.
 
196
  */
 
197
  FT_EXPORT( FT_Error )
 
198
  FT_Get_BDF_Property( FT_Face           face,
 
199
                       const char*       prop_name,
 
200
                       BDF_PropertyRec  *aproperty );
 
201
 
 
202
 /* */
 
203
 
 
204
FT_END_HEADER
 
205
 
 
206
#endif /* __FTBDF_H__ */
 
207
 
 
208
 
 
209
/* END */