forked from bartvdbraak/blender
26f63bfa19
need to be tweaks but it seems to work on my linux box. I haven't touched any of the other build systems so those will need to be done. We probably don't need all of this stuff but I figured better to add a little too much then to little. Kent
77 lines
1.7 KiB
C++
Executable File
77 lines
1.7 KiB
C++
Executable File
#ifndef __FTGLBufferFont__
|
|
#define __FTGLBufferFont__
|
|
|
|
|
|
#include "FTFont.h"
|
|
#include "FTGL.h"
|
|
|
|
|
|
class FTGlyph;
|
|
|
|
|
|
/**
|
|
* FTGLBufferFont is a specialisation of the FTFont class for handling
|
|
* Pixmap (Grey Scale) fonts
|
|
*
|
|
* @see FTFont
|
|
*/
|
|
class FTGL_EXPORT FTGLBufferFont : public FTFont
|
|
{
|
|
public:
|
|
/**
|
|
* Open and read a font file. Sets Error flag.
|
|
*
|
|
* @param fontname font file name.
|
|
*/
|
|
FTGLBufferFont( const char* fontname);
|
|
|
|
/**
|
|
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
*
|
|
* @param pBufferBytes the in-memory buffer
|
|
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
*/
|
|
FTGLBufferFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
|
|
|
|
void SetClientBuffer( unsigned char* b)
|
|
{
|
|
buffer = b;
|
|
}
|
|
|
|
|
|
/**
|
|
* Destructor
|
|
*/
|
|
~FTGLBufferFont();
|
|
|
|
/**
|
|
* Renders a string of characters
|
|
*
|
|
* @param string 'C' style string to be output.
|
|
*/
|
|
void Render( const char* string);
|
|
|
|
/**
|
|
* Renders a string of characters
|
|
*
|
|
* @param string wchar_t string to be output.
|
|
*/
|
|
void Render( const wchar_t* string);
|
|
|
|
private:
|
|
/**
|
|
* Construct a FTBufferGlyph.
|
|
*
|
|
* @param g The glyph index NOT the char code.
|
|
* @return An FTBufferGlyph or <code>null</code> on failure.
|
|
*/
|
|
inline virtual FTGlyph* MakeGlyph( unsigned int g);
|
|
|
|
unsigned char* buffer;
|
|
};
|
|
|
|
|
|
#endif // __FTGLBufferFont__
|
|
|