Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
The PangoGlyphGeometry
structure contains width and positioning
information for a single glyph.
Note that width
is not guaranteed to be the same as the glyph
extents. Kerning and other positioning applied during shaping will
affect both the width
and the xOffset
for the glyphs in the
glyph string that results from shaping.
The information in this struct is intended for rendering the glyphs, as follows:
- Assume the current point is (x, y)
- Render the current glyph at (x + x_offset, y + y_offset),
- Advance the current point to (x + width, y)
- Render the next glyph
Synopsis
- newtype GlyphGeometry = GlyphGeometry (ManagedPtr GlyphGeometry)
- newZeroGlyphGeometry :: MonadIO m => m GlyphGeometry
- getGlyphGeometryWidth :: MonadIO m => GlyphGeometry -> m Int32
- setGlyphGeometryWidth :: MonadIO m => GlyphGeometry -> Int32 -> m ()
- getGlyphGeometryXOffset :: MonadIO m => GlyphGeometry -> m Int32
- setGlyphGeometryXOffset :: MonadIO m => GlyphGeometry -> Int32 -> m ()
- getGlyphGeometryYOffset :: MonadIO m => GlyphGeometry -> m Int32
- setGlyphGeometryYOffset :: MonadIO m => GlyphGeometry -> Int32 -> m ()
Exported types
newtype GlyphGeometry Source #
Memory-managed wrapper type.
Instances
Eq GlyphGeometry Source # | |
Defined in GI.Pango.Structs.GlyphGeometry (==) :: GlyphGeometry -> GlyphGeometry -> Bool # (/=) :: GlyphGeometry -> GlyphGeometry -> Bool # | |
BoxedPtr GlyphGeometry Source # | |
Defined in GI.Pango.Structs.GlyphGeometry boxedPtrCopy :: GlyphGeometry -> IO GlyphGeometry # boxedPtrFree :: GlyphGeometry -> IO () # | |
CallocPtr GlyphGeometry Source # | |
Defined in GI.Pango.Structs.GlyphGeometry boxedPtrCalloc :: IO (Ptr GlyphGeometry) # | |
ManagedPtrNewtype GlyphGeometry Source # | |
Defined in GI.Pango.Structs.GlyphGeometry | |
tag ~ 'AttrSet => Constructible GlyphGeometry tag Source # | |
Defined in GI.Pango.Structs.GlyphGeometry new :: MonadIO m => (ManagedPtr GlyphGeometry -> GlyphGeometry) -> [AttrOp GlyphGeometry tag] -> m GlyphGeometry # |
newZeroGlyphGeometry :: MonadIO m => m GlyphGeometry Source #
Construct a GlyphGeometry
struct initialized to zero.
Methods
Properties
width
the logical width to use for the the character.
getGlyphGeometryWidth :: MonadIO m => GlyphGeometry -> m Int32 Source #
Get the value of the “width
” field.
When overloading is enabled, this is equivalent to
get
glyphGeometry #width
setGlyphGeometryWidth :: MonadIO m => GlyphGeometry -> Int32 -> m () Source #
Set the value of the “width
” field.
When overloading is enabled, this is equivalent to
set
glyphGeometry [ #width:=
value ]
xOffset
horizontal offset from nominal character position.
getGlyphGeometryXOffset :: MonadIO m => GlyphGeometry -> m Int32 Source #
Get the value of the “x_offset
” field.
When overloading is enabled, this is equivalent to
get
glyphGeometry #xOffset
setGlyphGeometryXOffset :: MonadIO m => GlyphGeometry -> Int32 -> m () Source #
Set the value of the “x_offset
” field.
When overloading is enabled, this is equivalent to
set
glyphGeometry [ #xOffset:=
value ]
yOffset
vertical offset from nominal character position.
getGlyphGeometryYOffset :: MonadIO m => GlyphGeometry -> m Int32 Source #
Get the value of the “y_offset
” field.
When overloading is enabled, this is equivalent to
get
glyphGeometry #yOffset
setGlyphGeometryYOffset :: MonadIO m => GlyphGeometry -> Int32 -> m () Source #
Set the value of the “y_offset
” field.
When overloading is enabled, this is equivalent to
set
glyphGeometry [ #yOffset:=
value ]