Cinder  0.9.1
Public Types | Public Member Functions | Static Public Member Functions | List of all members
cinder::Font Class Reference

#include <Font.h>

Public Types

typedef uint16_t Glyph
 

Public Member Functions

 Font ()
 
 Font (const std::string &aName, float size)
 
 Font (DataSourceRef dataSource, float size)
 
const std::string & getName () const
 
std::string getFullName () const
 
float getSize () const
 
float getLeading () const
 
float getAscent () const
 
float getDescent () const
 
size_t getNumGlyphs () const
 
Glyph getGlyphIndex (size_t idx) const
 
Glyph getGlyphChar (char utf8Char) const
 
std::vector< GlyphgetGlyphs (const std::string &utf8String) const
 
Shape2d getGlyphShape (Glyph glyphIndex) const
 
Rectf getGlyphBoundingBox (Glyph glyph) const
 
CGFontRef getCgFontRef () const
 
CTFontRef getCtFontRef () const
 

Static Public Member Functions

static const std::vector< std::string > & getNames (bool forceRefresh=false)
 
static Font getDefault ()
 
typedef std::shared_ptr< FontObj > Font::* unspecified_bool_type
 
 operator unspecified_bool_type () const
 
void reset ()
 

Detailed Description

Represents an instance of a font at a point size. Implicitly shared object.

Member Typedef Documentation

typedef uint16_t cinder::Font::Glyph
typedef std::shared_ptr<FontObj> Font::* cinder::Font::unspecified_bool_type

Emulates shared_ptr-like behavior.

Constructor & Destructor Documentation

cinder::Font::Font ( )

constructs a null Font

cinder::Font::Font ( const std::string &  aName,
float  size 
)

Constructs a Font from its name (Postscript name preferred) and its size in points.

Note
Assumes a point size relative to 72dpi on Cocoa but 96dpi on Windows. This creates rough parity between the platforms on type size, but in Windows this renders fonts smaller than normal.
cinder::Font::Font ( DataSourceRef  dataSource,
float  size 
)

Constructs a Font from a DataSource representing font data (such as a .ttf file) and its size in points.

Note
Assumes a point size relative to 72dpi on Cocoa but 96dpi on Windows. This creates rough parity between the platforms on type size, but in Windows this renders fonts smaller than normal.

Member Function Documentation

const std::string & cinder::Font::getName ( ) const
std::string cinder::Font::getFullName ( ) const
float cinder::Font::getSize ( ) const
float cinder::Font::getLeading ( ) const
float cinder::Font::getAscent ( ) const
float cinder::Font::getDescent ( ) const
size_t cinder::Font::getNumGlyphs ( ) const
Font::Glyph cinder::Font::getGlyphIndex ( size_t  idx) const
Font::Glyph cinder::Font::getGlyphChar ( char  utf8Char) const
vector< Font::Glyph > cinder::Font::getGlyphs ( const std::string &  utf8String) const
Shape2d cinder::Font::getGlyphShape ( Glyph  glyphIndex) const

Returns a cinder::Shape2d representing the shape of the glyph at glyphIndex.

Rectf cinder::Font::getGlyphBoundingBox ( Glyph  glyph) const

Returns the bounding box of a Glyph, relative to the baseline as the origin.

const vector< string > & cinder::Font::getNames ( bool  forceRefresh = false)
static
Font cinder::Font::getDefault ( )
static
CGFontRef cinder::Font::getCgFontRef ( ) const
CTFontRef cinder::Font::getCtFontRef ( ) const
cinder::Font::operator unspecified_bool_type ( ) const

Emulates shared_ptr-like behavior.

void cinder::Font::reset ( )

Emulates shared_ptr-like behavior.


The documentation for this class was generated from the following files: