| Maintainer | gtk2hs-users@lists.sourceforge.net | 
|---|---|
| Stability | provisional | 
| Portability | portable (depends on GHC) | 
| Safe Haskell | None | 
| Language | Haskell98 | 
Graphics.Rendering.Pango.Cairo
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.
- cairoFontMapGetDefault :: IO FontMap
 - cairoFontMapSetResolution :: FontMap -> Double -> IO ()
 - cairoFontMapGetResolution :: FontMap -> IO Double
 - cairoCreateContext :: Maybe FontMap -> IO PangoContext
 - cairoContextSetResolution :: PangoContext -> Double -> IO ()
 - cairoContextGetResolution :: PangoContext -> IO Double
 - cairoContextSetFontOptions :: PangoContext -> FontOptions -> IO ()
 - cairoContextGetFontOptions :: PangoContext -> IO FontOptions
 - setSourceColor :: Color -> Render ()
 - updateContext :: PangoContext -> Render ()
 - createLayout :: GlibString string => string -> Render PangoLayout
 - updateLayout :: PangoLayout -> Render ()
 - showGlyphString :: GlyphItem -> Render ()
 - showLayoutLine :: LayoutLine -> Render ()
 - showLayout :: PangoLayout -> Render ()
 - glyphStringPath :: GlyphItem -> Render ()
 - layoutLinePath :: LayoutLine -> Render ()
 - layoutPath :: PangoLayout -> Render ()
 
Global Cairo settings.
cairoFontMapGetDefault :: IO FontMap Source
Retrieve the default FontMap that contains a
 list of available fonts.
- One purpose of creating an explicit
 
FontMapis 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 to10pt * (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.
- Value is in dots per inch (dpi). See 
cairoFontMapGetDefault. 
cairoFontMapGetResolution :: FontMap -> IO Double Source
Ask for the scaling factor between font size and Cairo units.
- Value is in dots per inch (dpi). See 
cairoFontMapGetDefault. 
cairoCreateContext :: Maybe FontMap -> IO PangoContext Source
Create a PangoContext.
- If no 
FontMapis specified, it uses the defaultFontMapthat has a scaling factor of 96 dpi. SeecairoFontMapGetDefault. 
cairoContextSetResolution :: PangoContext -> Double -> IO () Source
Set the scaling factor of the PangoContext.
- Supplying zero or a negative value will result in the resolution value
 of the underlying 
FontMapto be used. See alsocairoFontMapGetDefault. 
cairoContextGetResolution :: PangoContext -> IO Double Source
Ask for the scaling factor of the PangoContext.
- A negative value will be returned if no resolution has been set.
 See 
cairoContextSetResolution. 
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
updateContext :: PangoContext -> Render () Source
Update a PangoContext with respect to changes in a Render
 environment.
- The 
PangoContextmust have been created withcairoCreateContext. AnyPangoLayouts that have been previously created with this context have to be update usinglayoutContextChanged. 
createLayout :: GlibString string => string -> Render PangoLayout Source
Create a PangoLayout within a Render context.
- This is a convenience function that creates a new 
PangoContextwithin thisRendercontext and creates a newPangoLayout. If the transformation or target surface of theRendercontext change,updateLayouthas to be called on this layout. 
updateLayout :: PangoLayout -> Render () Source
Propagate changed to the Render context to a PangoLayout.
- This is a convenience function that calls 
updateContexton the (private)PangoContextof the given layout to propagate changes from theRendercontext to thePangoContextand then callslayoutContextChangedon the layout. This function is necessary forcreateLayoutsince a privatePangoContextis created that is not visible to the user. 
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 
PangoLayoutwill 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.