 | pango-0.11.2: Binding to the Pango text rendering engine. | Contents | Index |
|
Graphics.Rendering.Pango.Cairo | Portability | portable (depends on GHC) | Stability | provisional | Maintainer | gtk2hs-users@lists.sourceforge.net |
|
|
|
|
|
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 |
Retrieve the default Graphics.Rendering.Pango.FontMap that contains a
list of available fonts.
- One purpose of creating an explicit
Graphics.Rendering.Pango.Font.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 () |
Set the scaling factor between font size and Cairo units.
|
|
cairoFontMapGetResolution :: FontMap -> IO Double |
Ask for the scaling factor between font size and Cairo units.
|
|
cairoCreateContext :: Maybe FontMap -> IO PangoContext |
Create a PangoContext.
|
|
cairoContextSetResolution :: PangoContext -> Double -> IO () |
Set the scaling factor of the PangoContext.
|
|
cairoContextGetResolution :: PangoContext -> IO Double |
Ask for the scaling factor of the PangoContext.
|
|
cairoContextSetFontOptions :: PangoContext -> FontOptions -> IO () |
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 |
Retrieve Cairo font options.
|
|
Functions for the Render monad.
|
|
setSourceColor :: Color -> Render () |
Sets the specified Color as the source color of the Render context.
|
|
updateContext :: PangoContext -> Render () |
Update a PangoContext with respect to changes in a Render
environment.
- The PangoContext must have been created with
cairoCreateContext. Any PangoLayouts that have been
previously created with this context have to be update using
Graphics.Rendering.Pango.Layout.layoutContextChanged.
|
|
createLayout :: String -> Render PangoLayout |
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 () |
Propagate changed to the Render context to a PangoLayout.
- This is a convenience function that calls updateContext on the
(private) PangoContext of the given layout to propagate changes
from the Render context to the PangoContext and then calls
Graphics.Rendering.Pango.Layout.layoutContextChanged on the layout.
This function is necessary for
createLayout since a private PangoContext is created that is
not visible to the user.
|
|
showGlyphString :: GlyphItem -> Render () |
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 () |
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 () |
Draw a PangoLayout.
- The top-left corner of the PangoLayout will be drawn at the current
point of the cairo context.
|
|
glyphStringPath :: GlyphItem -> Render () |
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 () |
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 () |
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.
|
|
Produced by Haddock version 2.7.2 |