kzu_bitmap_font.h File Reference

Bitmap font. More...

Classes

struct  KzuBitmapFont
 Font structure for rendering text. More...
 

Namespaces

 kanzi
 

Typedefs

typedef shared_ptr< ShaderProgram > kanzi::ShaderProgramSharedPtr
 Shader program shared pointer type. More...
 
typedef shared_ptr< Texture > kanzi::TextureSharedPtr
 Texture shared pointer type. More...
 

Functions

kzsError kzuBitmapFontSystemCreate (const struct KzcMemoryManager *memoryManager, struct KzuBitmapFontSystem **out_bitmapSystem)
 Creates a bitmap font system. More...
 
kzsError kzuBitmapFontSystemDelete (struct KzuBitmapFontSystem *bitmapSystem)
 Deletes a bitmap font system. More...
 
void kzuBitmapFontSystemSetShader (struct KzuBitmapFontSystem *bitmapSystem, kanzi::ShaderProgramSharedPtr shader)
 Sets shader for bitmap font system. More...
 
kzsError kzuBitmapFontCreate (struct KzuBitmapFontSystem *bitmapSystem, kanzi::Domain *domain, kzString name, struct KzuBitmapFont **out_bitmapFont)
 Creates new font without any data. More...
 
kzsError kzuBitmapFontCreateFromFile (struct KzuBitmapFontSystem *bitmapSystem, kanzi::Domain *domain, kzString filePath, struct KzuBitmapFont **out_bitmapFont)
 Creates new font from file. More...
 
kzsError kzuBitmapFontCreateFromResource (struct KzuBitmapFontSystem *bitmapSystem, kanzi::Domain *domain, kzString resourcePath, struct KzuBitmapFont **out_bitmapFont)
 Creates new font from resource. More...
 
KANZI_API kzsError kzuBitmapFontCreateFromMemory (struct KzuBitmapFontSystem *bitmapSystem, kanzi::Domain *domain, kzString fntFileContent, kzString name, struct KzuBitmapFont **out_bitmapFont)
 Creates new font from preloaded resources. More...
 
kzsError kzuBitmapFontLoadFromKZB (struct KzuBitmapFont *bitmapFont, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)
 Loads font from KZB. More...
 
struct KzuBitmapFontkzuBitmapFontFromFont (struct KzuFont *font)
 Type cast from generic font to bitmap font. More...
 
struct KzuFontkzuBitmapFontToFont (struct KzuBitmapFont *bitmapFont)
 Type cast from bitmap font to generic font. More...
 
struct KzcDynamicArrayIterator kzuBitmapFontGetFontTextureNames (const struct KzuBitmapFont *bitmapFont)
 Gets font texture names from font. More...
 
KANZI_API void kzuBitmapFontSetTexture (KzuBitmapFont *bitmapFont, kanzi::TextureSharedPtr texture, kzUint slot)
 Sets texture to given slot in font. More...
 
void kzuBitmapFontSetSize (struct KzuBitmapFont *bitmapFont, kzUint size)
 Sets the size of bitmap font (in pixels). More...
 
void kzuBitmapFontSetScale (struct KzuBitmapFont *bitmapFont, kzFloat scale)
 Sets the scale (relative size) of bitmap font. More...
 
kzFloat kzuBitmapFontGetSize (const struct KzuBitmapFont *bitmapFont)
 Returns the size of bitmap font. More...
 
void kzuBitmapFontSetColor (struct KzuBitmapFont *bitmapFont, kanzi::ColorRGBA color)
 Sets the color of the font. More...
 
kanzi::ColorRGBA kzuBitmapFontGetColor (const struct KzuBitmapFont *bitmapFont)
 Gets the color of the font. More...
 
kzFloat kzuBitmapFontGetLineHeight (const struct KzuBitmapFont *bitmapFont)
 Returns the line height of bitmap font. More...
 
kzFloat kzuBitmapFontGetAscender (const struct KzuBitmapFont *bitmapFont)
 Returns the ascender of bitmap font. More...
 
kzFloat kzuBitmapFontGetDescender (const struct KzuBitmapFont *bitmapFont)
 Returns the descender of bitmap font. More...
 
kzUint kzuBitmapFontGetGlyphIndex (const struct KzuBitmapFont *bitmapFont, kzUnicodeChar character)
 Returns the glyph index in the font for the given unicode code point. More...
 
void kzuBitmapFontGetCharacterMetrics (const struct KzuBitmapFont *bitmapFont, kzUint glyphIndex, kzFloat *out_advance, struct KzcRectangle *out_boundingBox)
 Returns the advance of given character using bitmap font. More...
 
kzFloat kzuBitmapFontGetKerning (const struct KzuBitmapFont *bitmapFont, kzUint previousGlyphIndex, kzUint glyphIndex)
 Returns the kerning of given character pair using bitmap font. More...
 
kzsError kzuBitmapFontDrawCharacter (const struct KzuBitmapFont *bitmapFont, kanzi::Renderer *renderer, kzUint glyphIndex, kzFloat x, kzFloat y)
 Draws a character at given coordinates. More...
 
kzsError kzuBitmapFontPrepareTextLayout (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer)
 Prepares the given pre-layouted text for fast rendering using bitmap font. More...
 
kzsError kzuBitmapFontDrawTextLayout (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer, kzFloat x, kzFloat y)
 Draw the given pre-layouted text using bitmap font. More...
 
kzsError kzuBitmapFontDrawTextLayout3D (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer)
 Draw the given pre-layouted text in 3D space using bitmap font. More...
 
kzsError kzuBitmapFontFreeTextLayoutData (struct KzuTextLayout *textLayout)
 Frees the data and resources created by the prepare function. More...
 

Variables

const KzuFontType KZU_FONT_TYPE_BITMAP
 Font type identifier for bitmap font objects. More...
 

Detailed Description

Bitmap font.

Copyright 2008-2017 by Rightware. All rights reserved.

Function Documentation

kzsError kzuBitmapFontSystemCreate ( const struct KzcMemoryManager memoryManager,
struct KzuBitmapFontSystem **  out_bitmapSystem 
)

Creates a bitmap font system.

kzsError kzuBitmapFontSystemDelete ( struct KzuBitmapFontSystem bitmapSystem)

Deletes a bitmap font system.

void kzuBitmapFontSystemSetShader ( struct KzuBitmapFontSystem bitmapSystem,
kanzi::ShaderProgramSharedPtr  shader 
)

Sets shader for bitmap font system.

kzsError kzuBitmapFontCreate ( struct KzuBitmapFontSystem bitmapSystem,
kanzi::Domain domain,
kzString  name,
struct KzuBitmapFont **  out_bitmapFont 
)

Creates new font without any data.

kzsError kzuBitmapFontCreateFromFile ( struct KzuBitmapFontSystem bitmapSystem,
kanzi::Domain domain,
kzString  filePath,
struct KzuBitmapFont **  out_bitmapFont 
)

Creates new font from file.

kzsError kzuBitmapFontCreateFromResource ( struct KzuBitmapFontSystem bitmapSystem,
kanzi::Domain domain,
kzString  resourcePath,
struct KzuBitmapFont **  out_bitmapFont 
)

Creates new font from resource.

KANZI_API kzsError kzuBitmapFontCreateFromMemory ( struct KzuBitmapFontSystem bitmapSystem,
kanzi::Domain domain,
kzString  fntFileContent,
kzString  name,
struct KzuBitmapFont **  out_bitmapFont 
)

Creates new font from preloaded resources.

kzsError kzuBitmapFontLoadFromKZB ( struct KzuBitmapFont bitmapFont,
struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file 
)

Loads font from KZB.

struct KzuBitmapFont* kzuBitmapFontFromFont ( struct KzuFont font)

Type cast from generic font to bitmap font.

struct KzuFont* kzuBitmapFontToFont ( struct KzuBitmapFont bitmapFont)

Type cast from bitmap font to generic font.

struct KzcDynamicArrayIterator kzuBitmapFontGetFontTextureNames ( const struct KzuBitmapFont bitmapFont)

Gets font texture names from font.

KANZI_API void kzuBitmapFontSetTexture ( KzuBitmapFont bitmapFont,
kanzi::TextureSharedPtr  texture,
kzUint  slot 
)

Sets texture to given slot in font.

The font takes ownership of the font after the operation and releases the texture when font is released.

void kzuBitmapFontSetSize ( struct KzuBitmapFont bitmapFont,
kzUint  size 
)

Sets the size of bitmap font (in pixels).

void kzuBitmapFontSetScale ( struct KzuBitmapFont bitmapFont,
kzFloat  scale 
)

Sets the scale (relative size) of bitmap font.

kzFloat kzuBitmapFontGetSize ( const struct KzuBitmapFont bitmapFont)

Returns the size of bitmap font.

void kzuBitmapFontSetColor ( struct KzuBitmapFont bitmapFont,
kanzi::ColorRGBA  color 
)

Sets the color of the font.

kanzi::ColorRGBA kzuBitmapFontGetColor ( const struct KzuBitmapFont bitmapFont)

Gets the color of the font.

kzFloat kzuBitmapFontGetLineHeight ( const struct KzuBitmapFont bitmapFont)

Returns the line height of bitmap font.

kzFloat kzuBitmapFontGetAscender ( const struct KzuBitmapFont bitmapFont)

Returns the ascender of bitmap font.

kzFloat kzuBitmapFontGetDescender ( const struct KzuBitmapFont bitmapFont)

Returns the descender of bitmap font.

kzUint kzuBitmapFontGetGlyphIndex ( const struct KzuBitmapFont bitmapFont,
kzUnicodeChar  character 
)

Returns the glyph index in the font for the given unicode code point.

void kzuBitmapFontGetCharacterMetrics ( const struct KzuBitmapFont bitmapFont,
kzUint  glyphIndex,
kzFloat out_advance,
struct KzcRectangle out_boundingBox 
)

Returns the advance of given character using bitmap font.

kzFloat kzuBitmapFontGetKerning ( const struct KzuBitmapFont bitmapFont,
kzUint  previousGlyphIndex,
kzUint  glyphIndex 
)

Returns the kerning of given character pair using bitmap font.

kzsError kzuBitmapFontDrawCharacter ( const struct KzuBitmapFont bitmapFont,
kanzi::Renderer renderer,
kzUint  glyphIndex,
kzFloat  x,
kzFloat  y 
)

Draws a character at given coordinates.

The coordinates indicate the character left point on the baseline. This function is meant for debugging purposes only. For real text rendering, use KzcTextLayouter.

kzsError kzuBitmapFontPrepareTextLayout ( struct KzuTextLayout textLayout,
kanzi::Renderer renderer 
)

Prepares the given pre-layouted text for fast rendering using bitmap font.

kzsError kzuBitmapFontDrawTextLayout ( struct KzuTextLayout textLayout,
kanzi::Renderer renderer,
kzFloat  x,
kzFloat  y 
)

Draw the given pre-layouted text using bitmap font.

kzsError kzuBitmapFontDrawTextLayout3D ( struct KzuTextLayout textLayout,
kanzi::Renderer renderer 
)

Draw the given pre-layouted text in 3D space using bitmap font.

kzsError kzuBitmapFontFreeTextLayoutData ( struct KzuTextLayout textLayout)

Frees the data and resources created by the prepare function.

Variable Documentation

const KzuFontType KZU_FONT_TYPE_BITMAP

Font type identifier for bitmap font objects.