HGL-3.2.0.2: A simple graphics library based on X11 or Win32

Portability | non-portable (requires concurrency)
Stability | provisional
Maintainer | libraries@haskell.org
Safe Haskell | None

Graphics.HGL.Draw.Text

Contents

- Drawing text
- Color
- Alignment

Description

Drawing text.

Synopsis

- text :: Point -> String -> Graphic
- textInfo :: String -> Draw (Point, Size)
- data RGB = RGB Word8 Word8 Word8
- setTextColor :: RGB -> Draw RGB
- setBkColor :: RGB -> Draw RGB
- data BkMode
  - = Opaque
  - | Transparent
- setBkMode :: BkMode -> Draw BkMode
- type Alignment = (HAlign, VAlign)
- data HAlign
  - = Left'
  - | Center
  - | Right'
- data VAlign
  - = Top
  - | Baseline
  - | Bottom
- setTextAlignment :: Alignment -> Draw Alignment

# Drawing text

text :: Point -> String -> Graphic Source

Render a `String` positioned relative to the specified `Point`.

textInfo :: String -> Draw (Point, Size)Source

``textInfo` s` returns:

1. The offset at which the string would be drawn according to the current text alignment (e.g., `(`Center`, `Baseline`)` will result in an offset of (-width/2,0))
2. The size at which the text would be drawn using the current font.

# Color

data RGB Source

A color, comprising red, green and blue components.

Constructors

RGB Word8 Word8 Word8 |

setTextColor :: RGB -> Draw RGB Source

Set the foreground color for drawing text, returning the previous value.

setBkColor :: RGB -> Draw RGB Source

Set the background color for drawing text, returning the previous value. The background color is ignored when the mode is `Transparent`.

data BkMode Source

Background mode for drawing text.

Constructors

Opaque | Draw text on a bounding rectangle filled with the current background color.
Transparent | Draw text without a background rectangle.

setBkMode :: BkMode -> Draw BkMode Source

Set the background mode for drawing text, returning the previous value.

# Alignment

type Alignment = (HAlign, VAlign)Source

How strings drawn with `text` are positioned relative to the specified reference point.

data HAlign Source

Horizontal alignment of text. Names have a tick to distinguish them from Prelude names.

Constructors

Left' | align the left edge of the text with the reference point
Center | center the text with the reference point
Right' | align the right edge of the text with the reference point

Instances

Enum HAlign |
Eq HAlign |
Ord HAlign |
Show HAlign |
Ix HAlign |

data VAlign Source

Vertical alignment of text.

Constructors

Top | align the top edge of the text with the reference point
Baseline | align the baseline of the text with the reference point
Bottom | align the bottom edge of the text with the reference point

Instances

Enum VAlign |
Eq VAlign |
Ord VAlign |
Show VAlign |
Ix VAlign |

setTextAlignment :: Alignment -> Draw Alignment Source

Set the alignment for drawing text, returning the previous value.