gi-pango-1.0.23: Pango bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Pango.Structs.Item

Description

The Item structure stores information about a segment of text.

Synopsis

Exported types

newtype Item Source #

Memory-managed wrapper type.

Constructors

Item (ManagedPtr Item) 

Instances

Instances details
Eq Item Source # 
Instance details

Defined in GI.Pango.Structs.Item

Methods

(==) :: Item -> Item -> Bool #

(/=) :: Item -> Item -> Bool #

IsGValue Item Source #

Convert Item to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Pango.Structs.Item

ManagedPtrNewtype Item Source # 
Instance details

Defined in GI.Pango.Structs.Item

TypedObject Item Source # 
Instance details

Defined in GI.Pango.Structs.Item

Methods

glibType :: IO GType #

GBoxed Item Source # 
Instance details

Defined in GI.Pango.Structs.Item

HasParentTypes Item Source # 
Instance details

Defined in GI.Pango.Structs.Item

tag ~ 'AttrSet => Constructible Item tag Source # 
Instance details

Defined in GI.Pango.Structs.Item

Methods

new :: MonadIO m => (ManagedPtr Item -> Item) -> [AttrOp Item tag] -> m Item #

type ParentTypes Item Source # 
Instance details

Defined in GI.Pango.Structs.Item

type ParentTypes Item = '[] :: [Type]

newZeroItem :: MonadIO m => m Item Source #

Construct a Item struct initialized to zero.

Methods

Overloaded methods

applyAttrs

itemApplyAttrs Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

item: a Item

-> AttrIterator

iter: a AttrIterator

-> m () 

Add attributes to a PangoItem. The idea is that you have attributes that don't affect itemization, such as font features, so you filter them out using attrListFilter, itemize your text, then reapply the attributes to the resulting items using this function.

The iter should be positioned before the range of the item, and will be advanced past it. This function is meant to be called in a loop over the items resulting from itemization, while passing the iter to each call.

Since: 1.44

copy

itemCopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

item: a Item, may be Nothing

-> m (Maybe Item)

Returns: the newly allocated Item, which should be freed with itemFree, or Nothing if item was Nothing.

Copy an existing Item structure.

free

itemFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

item: a Item, may be Nothing

-> m () 

Free a Item and all associated memory.

new

itemNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Item

Returns: the newly allocated Item, which should be freed with itemFree.

Creates a new Item structure initialized to default values.

split

itemSplit Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

orig: a Item

-> Int32

splitIndex: byte index of position to split item, relative to the start of the item

-> Int32

splitOffset: number of chars between start of orig and splitIndex

-> m Item

Returns: new item representing text before splitIndex, which should be freed with itemFree.

Modifies orig to cover only the text after splitIndex, and returns a new item that covers the text before splitIndex that used to be in orig. You can think of splitIndex as the length of the returned item. splitIndex may not be 0, and it may not be greater than or equal to the length of orig (that is, there must be at least one byte assigned to each item, you can't create a zero-length item). splitOffset is the length of the first item in chars, and must be provided because the text used to generate the item isn't available, so itemSplit can't count the char length of the split items itself.

Properties

analysis

analysis results for the item.

getItemAnalysis :: MonadIO m => Item -> m Analysis Source #

Get the value of the “analysis” field. When overloading is enabled, this is equivalent to

get item #analysis

length

length of this item in bytes.

getItemLength :: MonadIO m => Item -> m Int32 Source #

Get the value of the “length” field. When overloading is enabled, this is equivalent to

get item #length

setItemLength :: MonadIO m => Item -> Int32 -> m () Source #

Set the value of the “length” field. When overloading is enabled, this is equivalent to

set item [ #length := value ]

numChars

number of Unicode characters in the item.

getItemNumChars :: MonadIO m => Item -> m Int32 Source #

Get the value of the “num_chars” field. When overloading is enabled, this is equivalent to

get item #numChars

setItemNumChars :: MonadIO m => Item -> Int32 -> m () Source #

Set the value of the “num_chars” field. When overloading is enabled, this is equivalent to

set item [ #numChars := value ]

offset

byte offset of the start of this item in text.

getItemOffset :: MonadIO m => Item -> m Int32 Source #

Get the value of the “offset” field. When overloading is enabled, this is equivalent to

get item #offset

setItemOffset :: MonadIO m => Item -> Int32 -> m () Source #

Set the value of the “offset” field. When overloading is enabled, this is equivalent to

set item [ #offset := value ]