1 /*
2  * FTGL - OpenGL font library
3  *
4  * Copyright (c) 2001-2004 Henry Maddocks <ftgl@opengl.geek.nz>
5  * Copyright (c) 2008 Sam Hocevar <sam@zoy.org>
6  * Copyright (c) 2008 Sean Morrison <learner@brlcad.org>
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining
9  * a copy of this software and associated documentation files (the
10  * "Software"), to deal in the Software without restriction, including
11  * without limitation the rights to use, copy, modify, merge, publish,
12  * distribute, sublicense, and/or sell copies of the Software, and to
13  * permit persons to whom the Software is furnished to do so, subject to
14  * the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be
17  * included in all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26  */
27 
28 #ifndef __ftgl__
29 #   warning This header is deprecated. Please use <FTGL/ftgl.h> from now.
30 #   include <FTGL/ftgl.h>
31 #endif
32 
33 #ifndef __FTBitmapGlyph__
34 #define __FTBitmapGlyph__
35 
36 #ifdef __cplusplus
37 
38 
39 /**
40  * FTBitmapGlyph is a specialisation of FTGlyph for creating bitmaps.
41  */
42 class FTGL_EXPORT FTBitmapGlyph : public FTGlyph
43 {
44     public:
45         /**
46          * Constructor
47          *
48          * @param glyph The Freetype glyph to be processed
49          */
50         FTBitmapGlyph(FT_GlyphSlot glyph);
51 
52         /**
53          * Destructor
54          */
55         virtual ~FTBitmapGlyph();
56 
57         /**
58          * Render this glyph at the current pen position.
59          *
60          * @param pen  The current pen position.
61          * @param renderMode  Render mode to display
62          * @return  The advance distance for this glyph.
63          */
64         virtual const FTPoint& Render(const FTPoint& pen, int renderMode);
65 };
66 
67 #endif //__cplusplus
68 
69 FTGL_BEGIN_C_DECLS
70 
71 /**
72  * Create a specialisation of FTGLglyph for creating bitmaps.
73  *
74  * @param glyph The Freetype glyph to be processed
75  * @return  An FTGLglyph* object.
76  */
77 FTGL_EXPORT FTGLglyph *ftglCreateBitmapGlyph(FT_GlyphSlot glyph);
78 
79 FTGL_END_C_DECLS
80 
81 #endif  //  __FTBitmapGlyph__
82 
83