|
|
|||
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 __FTPixmapFont__ 0034 #define __FTPixmapFont__ 0035 0036 #ifdef __cplusplus 0037 0038 0039 /** 0040 * FTPixmapFont is a specialisation of the FTFont class for handling 0041 * Pixmap (Grey Scale) fonts 0042 * 0043 * @see FTFont 0044 */ 0045 class FTGL_EXPORT FTPixmapFont : public FTFont 0046 { 0047 public: 0048 /** 0049 * Open and read a font file. Sets Error flag. 0050 * 0051 * @param fontFilePath font file path. 0052 */ 0053 FTPixmapFont(const char* fontFilePath); 0054 0055 /** 0056 * Open and read a font from a buffer in memory. Sets Error flag. 0057 * The buffer is owned by the client and is NOT copied by FTGL. The 0058 * pointer must be valid while using FTGL. 0059 * 0060 * @param pBufferBytes the in-memory buffer 0061 * @param bufferSizeInBytes the length of the buffer in bytes 0062 */ 0063 FTPixmapFont(const unsigned char *pBufferBytes, 0064 size_t bufferSizeInBytes); 0065 0066 /** 0067 * Destructor 0068 */ 0069 ~FTPixmapFont(); 0070 0071 protected: 0072 /** 0073 * Construct a glyph of the correct type. 0074 * 0075 * Clients must override the function and return their specialised 0076 * FTGlyph. 0077 * 0078 * @param slot A FreeType glyph slot. 0079 * @return An FT****Glyph or <code>null</code> on failure. 0080 */ 0081 virtual FTGlyph* MakeGlyph(FT_GlyphSlot slot); 0082 }; 0083 0084 #define FTGLPixmapFont FTPixmapFont 0085 0086 #endif // __cplusplus 0087 0088 FTGL_BEGIN_C_DECLS 0089 0090 /** 0091 * Create a specialised FTGLfont object for handling pixmap (grey scale) fonts. 0092 * 0093 * @param file The font file name. 0094 * @return An FTGLfont* object. 0095 * 0096 * @see FTGLfont 0097 */ 0098 FTGL_EXPORT FTGLfont *ftglCreatePixmapFont(const char *file); 0099 0100 /** 0101 * Create a specialised FTGLfont object for handling pixmap (grey scale) 0102 * fonts from a buffer in memory. Sets Error flag. The buffer is owned by 0103 * the client and is NOT copied by FTGL. The pointer must be valid while 0104 * using FTGL. 0105 * 0106 * @param bytes the in-memory buffer 0107 * @param len the length of the buffer in bytes 0108 * @return An FTGLfont* object. 0109 */ 0110 FTGL_EXPORT FTGLfont *ftglCreatePixmapFontFromMem(const unsigned char *bytes, 0111 size_t len); 0112 0113 FTGL_END_C_DECLS 0114 0115 #endif // __FTPixmapFont__ 0116
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|