mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2024-11-25 09:44:02 +00:00
68 lines
1.3 KiB
C++
68 lines
1.3 KiB
C++
#ifndef __FTPixmapGlyph__
|
|
#define __FTPixmapGlyph__
|
|
|
|
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
#include FT_GLYPH_H
|
|
|
|
#include "FTGL.h"
|
|
#include "FTGlyph.h"
|
|
|
|
|
|
/**
|
|
* FTPixmapGlyph is a specialisation of FTGlyph for creating pixmaps.
|
|
*
|
|
* @see FTGlyphContainer
|
|
*
|
|
*/
|
|
class FTGL_EXPORT FTPixmapGlyph : public FTGlyph
|
|
{
|
|
public:
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param glyph The Freetype glyph to be processed
|
|
*/
|
|
FTPixmapGlyph( FT_GlyphSlot glyph);
|
|
|
|
/**
|
|
* Destructor
|
|
*/
|
|
virtual ~FTPixmapGlyph();
|
|
|
|
/**
|
|
* 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);
|
|
|
|
// attributes
|
|
|
|
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;
|
|
|
|
/**
|
|
* Pointer to the 'image' data
|
|
*/
|
|
unsigned char* data;
|
|
|
|
};
|
|
|
|
|
|
#endif // __FTPixmapGlyph__
|