pango-0.13.3.1: Binding to the Pango text rendering engine.

Maintainergtk2hs-users@lists.sourceforge.net
Stabilityprovisional
Portabilityportable (depends on GHC)
Safe HaskellNone
LanguageHaskell98

Graphics.Rendering.Pango.Cairo

Contents

Description

Pango specific functions to for redering with Cairo.

Cairo is a graphics library that supports vector graphics and image compositing that can be used with Pango. The functions in this module provide ways of rendering text in Cairo using Pango.

Synopsis

Global Cairo settings.

cairoFontMapGetDefault :: IO FontMap Source #

Retrieve the default FontMap that contains a list of available fonts.

  • One purpose of creating an explicit FontMap is to set a different scaling factor between font sizes (in points, pt) and Cairo units (in pixels). The default is 96dpi (dots per inch) which corresponds to an average screen as output medium. A 10pt font will therefore scale to 10pt * (1/72 pt/inch) * (96 pixel/inch) = 13.3 pixel.

cairoFontMapSetResolution :: FontMap -> Double -> IO () Source #

Set the scaling factor between font size and Cairo units.

cairoFontMapGetResolution :: FontMap -> IO Double Source #

Ask for the scaling factor between font size and Cairo units.

cairoCreateContext :: Maybe FontMap -> IO PangoContext Source #

Create a PangoContext.

cairoContextSetResolution :: PangoContext -> Double -> IO () Source #

Set the scaling factor of the PangoContext.

cairoContextGetResolution :: PangoContext -> IO Double Source #

Ask for the scaling factor of the PangoContext.

cairoContextSetFontOptions :: PangoContext -> FontOptions -> IO () Source #

Set Cairo font options.

  • Apply the given font options to the context. Values set through this functions override those that are set by updateContext.

cairoContextGetFontOptions :: PangoContext -> IO FontOptions Source #

Retrieve Cairo font options.

Functions for the Render monad.

setSourceColor :: Color -> Render () Source #

Sets the specified Color as the source color of the Render context.

updateContext :: PangoContext -> Render () Source #

Update a PangoContext with respect to changes in a Render environment.

createLayout :: GlibString string => string -> Render PangoLayout Source #

Create a PangoLayout within a Render context.

  • This is a convenience function that creates a new PangoContext within this Render context and creates a new PangoLayout. If the transformation or target surface of the Render context change, updateLayout has to be called on this layout.

updateLayout :: PangoLayout -> Render () Source #

Propagate changed to the Render context to a PangoLayout.

showGlyphString :: GlyphItem -> Render () Source #

Draw a glyph string.

  • The origin of the glyphs (the left edge of the baseline) will be drawn at the current point of the cairo context.

showLayoutLine :: LayoutLine -> Render () Source #

Draw a LayoutLine.

  • The origin of the glyphs (the left edge of the baseline) will be drawn at the current point of the cairo context.

showLayout :: PangoLayout -> Render () Source #

Draw a PangoLayout.

  • The top-left corner of the PangoLayout will be drawn at the current point of the cairo context.

glyphStringPath :: GlyphItem -> Render () Source #

Add the extent of a glyph string to the current path.

  • The origin of the glyphs (the left edge of the line) will be at the current point of the cairo context.

layoutLinePath :: LayoutLine -> Render () Source #

Add the extent of a layout line to the current path.

  • The origin of the glyphs (the left edge of the line) will be at the current point of the cairo context.

layoutPath :: PangoLayout -> Render () Source #

Add the layout to the current path.

  • Adds the top-left corner of the text to the current path. Afterwards, the path position is at the bottom-right corner of the PangoLayout.