📄 fttextureglyph.h
字号:
#ifndef __FTTextureGlyph__#define __FTTextureGlyph__#include <ft2build.h>#include FT_FREETYPE_H#include FT_GLYPH_H#include "FTGL.h"#include "FTGlyph.h"/** * FTTextureGlyph is a specialisation of FTGlyph for creating texture * glyphs. * * @see FTGlyphContainer * */class FTGL_EXPORT FTTextureGlyph : public FTGlyph{ public: /** * Constructor * * @param glyph The Freetype glyph to be processed * @param id The id of the texture that this glyph will be * drawn in * @param xOffset The x offset into the parent texture to draw * this glyph * @param yOffset The y offset into the parent texture to draw * this glyph * @param width The width of the parent texture * @param height The height (number of rows) of the parent texture */ FTTextureGlyph( FT_GlyphSlot glyph, int id, int xOffset, int yOffset, GLsizei width, GLsizei height); /** * Destructor */ virtual ~FTTextureGlyph(); /** * Renders this glyph at the current pen position. * * @param pen The current pen position. * @return The advance distance for this glyph. */ virtual const FTPoint& Render( const FTPoint& pen); /** * Reset the currently active texture to zero to get into a known state before * drawing a string. This is to get round possible threading issues. */ static void FTTextureGlyph::ResetActiveTexture(){ activeTextureID = 0;} private: /** * The width of the glyph 'image' */ int destWidth; /** * The height of the glyph 'image' */ int destHeight; /** * Vector from the pen position to the topleft corner of the pixmap */ FTPoint pos; /** * The texture co-ords of this glyph within the texture. */ FTPoint uv[2]; /** * The texture index that this glyph is contained in. */ int glTextureID; /** * The texture index of the currently active texture * * We keep track of the currently active texture to try to reduce the number * of texture bind operations. */ static GLint activeTextureID; };#endif // __FTTextureGlyph__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -