Graphics.Rendering.Pango.Context

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

Maintainer | gtk2hs-users@lists.sourceforge.net
Stability | provisional
Portability | portable (depends on GHC)
Safe Haskell | None
Language | Haskell98

Graphics.Rendering.Pango.Context

Contents

- Types and Methods for `PangoContext`s

Description

This module defines `PangoContext`s, an environment that provides information on available fonts, internationalization and output capabilities of the medium. Given such a context, text can be rendered into strings of glyphs (see `Rendering`) or, at a more abstract level, using layouts (see `Layout`).

- A `PangoContext` is a prerequisite for all text rendering functions. A context can be created from scratch or, more conveniently, by using default settings that are already used in the application. When text is rendered through Gdk, use `widgetCreatePangoContext`, if you use the Cairo rendering engine, a new context can be acquired using `cairoCreateContext`.
- The properties of a `PangoContext` can be changed which, in turn, has an effect on how text is rendered. To reflect such a change in the rendered text, call `layoutContextChanged`.

Synopsis

- data PangoContext
- class GObjectClass o => PangoContextClass o
- contextListFamilies :: PangoContext -> IO [FontFamily]
- contextGetMetrics :: PangoContext -> FontDescription -> Language -> IO FontMetrics
- contextSetFontDescription :: PangoContext -> FontDescription -> IO ()
- contextGetFontDescription :: PangoContext -> IO FontDescription
- data Language
- emptyLanguage :: Language
- languageFromString :: GlibString string => string -> IO Language
- contextSetLanguage :: PangoContext -> Language -> IO ()
- contextGetLanguage :: PangoContext -> IO Language
- contextSetTextDir :: PangoContext -> PangoDirection -> IO ()
- contextGetTextDir :: PangoContext -> IO PangoDirection
- contextSetTextGravity :: PangoContext -> PangoGravity -> IO ()
- contextGetTextGravity :: PangoContext -> IO PangoGravity
- contextSetTextGravityHint :: PangoContext -> PangoGravityHint -> IO ()
- contextGetTextGravityHint :: PangoContext -> IO PangoGravityHint
- contextGetMatrix :: PangoContext -> IO Matrix
- contextSetMatrix :: PangoContext -> Matrix -> IO ()

# Types and Methods for `PangoContext`s

data PangoContext #

Instances

Eq PangoContext # |
Methods (==) :: PangoContext -> PangoContext -> Bool # (/=) :: PangoContext -> PangoContext -> Bool #
Ord PangoContext # |
Methods compare :: PangoContext -> PangoContext -> Ordering # (<) :: PangoContext -> PangoContext -> Bool # (<=) :: PangoContext -> PangoContext -> Bool # (>) :: PangoContext -> PangoContext -> Bool # (>=) :: PangoContext -> PangoContext -> Bool # max :: PangoContext -> PangoContext -> PangoContext # min :: PangoContext -> PangoContext -> PangoContext #
GObjectClass PangoContext # |
Methods toGObject :: PangoContext -> GObject # unsafeCastGObject :: GObject -> PangoContext #
PangoContextClass PangoContext # |

class GObjectClass o => PangoContextClass o #

Instances

PangoContextClass PangoContext # |

contextListFamilies :: PangoContext -> IO [FontFamily] #

Retrieve a list of all available font families.

- A font family is the name of the font without further attributes like slant, variant or size.

contextGetMetrics :: PangoContext -> FontDescription -> Language -> IO FontMetrics #

Query the metrics of the given font implied by the font description.

contextSetFontDescription :: PangoContext -> FontDescription -> IO () #

Set the default `FontDescription` of this context.

contextGetFontDescription :: PangoContext -> IO FontDescription #

Get the current `FontDescription` of this context.

data Language #

An RFC-3066 language designator to choose scripts.

Instances

Eq Language # |
Methods (==) :: Language -> Language -> Bool # (/=) :: Language -> Language -> Bool #
Show Language # |
Methods showsPrec :: Int -> Language -> ShowS # show :: Language -> String # showList :: [Language] -> ShowS #

emptyLanguage :: Language #

Specifying no particular language.

languageFromString :: GlibString string => string -> IO Language #

Take a RFC-3066 format language tag as a string and convert it to a `Language` type that can be efficiently passed around and compared with other language tags.

- This function first canonicalizes the string by converting it to lowercase, mapping '_' to '-', and stripping all characters other than letters and '-'.

contextSetLanguage :: PangoContext -> Language -> IO () #

Set the default `Language` of this context.

contextGetLanguage :: PangoContext -> IO Language #

Get the current `Language` of this context.

contextSetTextDir :: PangoContext -> PangoDirection -> IO () #

Set the default text direction of this context.

contextGetTextDir :: PangoContext -> IO PangoDirection #

Get the current text direction of this context.

contextSetTextGravity :: PangoContext -> PangoGravity -> IO () #

Set the text gravity of this context. If the given value is `PangoGravityAuto` then the gravity is derived from the current rotation matrix.

contextGetTextGravity :: PangoContext -> IO PangoGravity #

Get the current text gravity of this context.

contextSetTextGravityHint :: PangoContext -> PangoGravityHint -> IO () #

Set the text gravity hint of this context.

contextGetTextGravityHint :: PangoContext -> IO PangoGravityHint #

Get the current text gravity of this context.

contextGetMatrix :: PangoContext -> IO Matrix #

Gets the transformation matrix that will be applied when rendering with this context.

- Since Pango 1.6

contextSetMatrix :: PangoContext -> Matrix -> IO () #

Sets the transformation matrix that will be applied when rendering with this context. Note that any metrics reported by other functions are in user space coordinates before the application of the matrix, not device-space coordinates after the application of the matrix. So, they don't scale with the matrix, though they may change slightly for different matrices, depending on how the text is fit to the pixel grid.

- Since Pango 1.6