gi-pango-1.0.25: Pango bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Pango.Structs.Item

Description

The PangoItem structure stores information about a segment of text.

You typically obtain PangoItems by itemizing a piece of text with [funcitemize].

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 #

GBoxed Item Source # 
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 #

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 #

IsGValue (Maybe Item) Source #

Convert Item to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Pango.Structs.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

Click to display all available methods, including inherited ones

Expand

Methods

applyAttrs, copy, free, split.

Getters

None.

Setters

None.

applyAttrs

itemApplyAttrs Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

item: a PangoItem

-> AttrIterator

iter: a PangoAttrIterator

-> 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 PangoItem

-> m (Maybe Item)

Returns: the newly allocated PangoItem

Copy an existing PangoItem structure.

free

itemFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

item: a PangoItem, may be Nothing

-> m () 

Free a PangoItem and all associated memory.

new

itemNew Source #

Arguments

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

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

Creates a new PangoItem structure initialized to default values.

split

itemSplit Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Item

orig: a PangoItem

-> 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 pango_item_split() 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 ]