The OpenD Programming Language

ScaledFont

Font face at particular size and options

ScaledFont represents a realization of a font face at a particular size and transformation and a certain set of font options.

Constructors

this
this(cairo_scaled_font_t* ptr)

Create a ScaledFont from a existing cairo_scaled_font_t*. ScaledFont is a garbage collected class. It will call cairo_scaled_font_destroy when it gets collected by the GC or when dispose() is called.

this
this(FontFace font_face, Matrix font_matrix, Matrix ctm, FontOptions options)

Creates a ScaledFont object from a font face and matrices that describe the size of the font and the environment in which it will be used.

Members

Aliases

CTM
alias CTM = getCTM

convenience alias

fontFace
alias fontFace = getFontFace

convenience alias

fontMatrix
alias fontMatrix = getFontMatrix

convenience alias

fontOptions
alias fontOptions = getFontOptions

convenience alias

scaleMatrix
alias scaleMatrix = getScaleMatrix

convenience alias

type
alias type = getType

convenience alias

Functions

checkError
void checkError()

Method for use in subclasses. Calls cairo_scaled_font_status(nativePointer) and throws an exception if the status isn't CAIRO_STATUS_SUCCESS

extents
FontExtents extents()

Gets the metrics for a ScaledFont.

getCTM
Matrix getCTM()

Returns the CTM with which ScaledFont was created. Note that the translation offsets (x0, y0) of the CTM are ignored by new ScaledFont(). So, the matrix this function returns always has 0,0 as x0,y0.

getFontFace
FontFace getFontFace()

Gets the font face that this scaled font uses. This is the font face passed to new ScaledFont().

getFontMatrix
Matrix getFontMatrix()

Returns the font matrix with which ScaledFont was created.

getFontOptions
FontOptions getFontOptions()

Returns the font options with which ScaledFont was created.

getScaleMatrix
Matrix getScaleMatrix()

Returns the scale matrix of ScaledFont. The scale matrix is product of the font matrix and the ctm associated with the scaled font, and hence is the matrix mapping from font space to device space.

getType
FontType getType()

This function returns the C type of a ScaledFont. See FontType for available types.

glyphExtents
TextExtents glyphExtents(Glyph[] glyphs)

Gets the extents for an array of glyphs. The extents describe a user-space rectangle that encloses the "inked" portion of the glyphs, (as they would be drawn by Context.showGlyphs() if the cairo graphics state were set to the same fontFace, fontMatrix, ctm, and fontOptions as scaled_font). Additionally, the x_advance and y_advance values indicate the amount by which the current point would be advanced by Context.showGlyphs().

textExtents
TextExtents textExtents(string text)

Gets the extents for a string of text. The extents describe a user-space rectangle that encloses the "inked" portion of the text drawn at the origin (0,0) (as it would be drawn by Context.showText() if the cairo graphics state were set to the same fontFace, fontMatrix, ctm, and fontOptions as ScaledFont). Additionally, the x_advance and y_advance values indicate the amount by which the current point would be advanced by Context.showText().

textToGlyphs
Glyph[] textToGlyphs(double x, double y, string text, Glyph[] glyphBuffer)
Glyph[] textToGlyphs(Point!double p1, string text, Glyph[] glyphBuffer)
textToTextGlyph
TextGlyph textToTextGlyph(double x, double y, string text, Glyph[] glyphBuffer, TextCluster[] clusterBuffer)
TextGlyph textToTextGlyph(Point!double p1, string text, Glyph[] glyphBuffer, TextCluster[] clusterBuffer)

Converts UTF-8 text to an array of glyphs, optionally with cluster mapping, that can be used to render later using ScaledFont.

Mixins

__anonymous
mixin CairoCountedClass!(cairo_scaled_font_t*, "cairo_scaled_font_")

Static functions

createFromNative
ScaledFont createFromNative(cairo_scaled_font_t* ptr, bool adjRefCount)

The createFromNative method for the ScaledFont classes. See https://github.com/jpf91/cairoD/wiki/Memory-Management#createFromNative for more information.

Mixed In Members

From mixin CairoCountedClass!(cairo_scaled_font_t*, "cairo_scaled_font_")

_count
uint _count [@property getter]

Reference count. For use in child classes

_reference
void _reference()

Increase reference count. For use in child classes

_dereference
void _dereference()

Decrease reference count. For use in child classes

nativePointer
T nativePointer;

The underlying $(T) handle

debugging
bool debugging;

Enable / disable memory management debugging for this instance. Only available if both cairoD and the cairoD user code were compiled with "debug=RefCounted"

dispose
void dispose()

Explicitly drecrease the reference count.

~this
~this()

Destructor. Call dispose() if it hasn't been called manually.

Meta