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