Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:15:00

0001 /*
0002  * FTGL - OpenGL font library
0003  *
0004  * Copyright (c) 2001-2004 Henry Maddocks <ftgl@opengl.geek.nz>
0005  * Copyright (c) 2008 Sam Hocevar <sam@hocevar.net>
0006  * Copyright (c) 2008 Sean Morrison <learner@brlcad.org>
0007  *
0008  * Permission is hereby granted, free of charge, to any person obtaining
0009  * a copy of this software and associated documentation files (the
0010  * "Software"), to deal in the Software without restriction, including
0011  * without limitation the rights to use, copy, modify, merge, publish,
0012  * distribute, sublicense, and/or sell copies of the Software, and to
0013  * permit persons to whom the Software is furnished to do so, subject to
0014  * the following conditions:
0015  *
0016  * The above copyright notice and this permission notice shall be
0017  * included in all copies or substantial portions of the Software.
0018  *
0019  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0020  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0021  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
0022  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
0023  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
0024  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
0025  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0026  */
0027 
0028 #ifndef __ftgl__
0029 #   warning This header is deprecated. Please use <FTGL/ftgl.h> from now.
0030 #   include <FTGL/ftgl.h>
0031 #endif
0032 
0033 #ifndef __FTExtrudeGlyph__
0034 #define __FTExtrudeGlyph__
0035 
0036 #ifdef __cplusplus
0037 
0038 
0039 /**
0040  * FTExtrudeGlyph is a specialisation of FTGlyph for creating tessellated
0041  * extruded polygon glyphs.
0042  */
0043 class FTGL_EXPORT FTExtrudeGlyph : public FTGlyph
0044 {
0045     public:
0046         /**
0047          * Constructor. Sets the Error to Invalid_Outline if the glyph isn't
0048          * an outline.
0049          *
0050          * @param glyph The Freetype glyph to be processed
0051          * @param depth The distance along the z axis to extrude the glyph
0052          * @param frontOutset outset contour size
0053          * @param backOutset outset contour size
0054          * @param useDisplayList Enable or disable the use of Display Lists
0055          *                       for this glyph
0056          *                       <code>true</code> turns ON display lists.
0057          *                       <code>false</code> turns OFF display lists.
0058          */
0059         FTExtrudeGlyph(FT_GlyphSlot glyph, float depth, float frontOutset,
0060                        float backOutset, bool useDisplayList);
0061 
0062         /**
0063          * Destructor
0064          */
0065         virtual ~FTExtrudeGlyph();
0066 
0067         /**
0068          * Render this glyph at the current pen position.
0069          *
0070          * @param pen  The current pen position.
0071          * @param renderMode  Render mode to display
0072          * @return  The advance distance for this glyph.
0073          */
0074         virtual const FTPoint& Render(const FTPoint& pen, int renderMode);
0075 };
0076 
0077 #define FTExtrdGlyph FTExtrudeGlyph
0078 
0079 #endif //__cplusplus
0080 
0081 FTGL_BEGIN_C_DECLS
0082 
0083 /**
0084  * Create a specialisation of FTGLglyph for creating tessellated
0085  * extruded polygon glyphs.
0086  *
0087  * @param glyph The Freetype glyph to be processed
0088  * @param depth The distance along the z axis to extrude the glyph
0089  * @param frontOutset outset contour size
0090  * @param backOutset outset contour size
0091  * @param useDisplayList Enable or disable the use of Display Lists
0092  *                       for this glyph
0093  *                       <code>true</code> turns ON display lists.
0094  *                       <code>false</code> turns OFF display lists.
0095  * @return  An FTGLglyph* object.
0096  */
0097 FTGL_EXPORT FTGLglyph *ftglCreateExtrudeGlyph(FT_GlyphSlot glyph, float depth,
0098                                 float frontOutset, float backOutset,
0099                                 int useDisplayList);
0100 
0101 FTGL_END_C_DECLS
0102 
0103 #endif  //  __FTExtrudeGlyph__
0104