IBusText

IBusText — Text with decorating information.

Synopsis

                    IBusText;
IBusText*           ibus_text_new_from_string           (const gchar *str);
IBusText*           ibus_text_new_from_ucs4             (const gunichar *str);
IBusText*           ibus_text_new_from_static_string    (const gchar *str);
IBusText*           ibus_text_new_from_printf           (const gchar *fmt,
                                                         ...);
IBusText*           ibus_text_new_from_unichar          (gunichar c);
void                ibus_text_append_attribute          (IBusText *text,
                                                         guint type,
                                                         guint value,
                                                         guint start_index,
                                                         gint end_index);
guint               ibus_text_get_length                (IBusText *text);

Object Hierarchy

  GObject
   +----IBusObject
         +----IBusSerializable
               +----IBusText

Description

An IBusText is the main text object in IBus. The text is decorated according to associated IBusAttribute, e.g. the foreground/background color, underline, and applied scope.

Details

IBusText

typedef struct {
    gboolean is_static;
    gchar  *text;
    IBusAttrList *attrs;
} IBusText;

A text object in IBus.

gboolean is_static;

Whether text is static, i.e., no need and will not be freed. Only TRUE if IBusText is newed from ibus_text_new_from_static_string().

gchar *text;

The string content of IBusText in UTF-8.

IBusAttrList *attrs;

Associated IBusAttributes.

ibus_text_new_from_string ()

IBusText*           ibus_text_new_from_string           (const gchar *str);

New an IBusText whose content is copied from a text string.

str :

An text string to be set.

Returns :

A newly allocated IBusText.

ibus_text_new_from_ucs4 ()

IBusText*           ibus_text_new_from_ucs4             (const gunichar *str);

New an IBusText whose content is copied from a UCS4 encoded text string.

str :

An text string to be set.

Returns :

A newly allocated IBusText.

ibus_text_new_from_static_string ()

IBusText*           ibus_text_new_from_static_string    (const gchar *str);

New an IBusText whose content is from a static string. Note that it is the developer's duty to ensure str is static.

str :

An text string to be set.

Returns :

A newly allocated IBusText.

ibus_text_new_from_printf ()

IBusText*           ibus_text_new_from_printf           (const gchar *fmt,
                                                         ...);

New an IBusText from a printf expression.

fmt :

printf format string.

... :

arguments for fmt.

Returns :

A newly allocated IBusText.

ibus_text_new_from_unichar ()

IBusText*           ibus_text_new_from_unichar          (gunichar c);

New an IBusText from a single UCS4-encoded character.

c :

A single UCS4-encoded character.

Returns :

A newly allocated IBusText.

ibus_text_append_attribute ()

void                ibus_text_append_attribute          (IBusText *text,
                                                         guint type,
                                                         guint value,
                                                         guint start_index,
                                                         gint end_index);

Append an IBusAttribute for IBusText.

text :

an IBusText

type :

IBusAttributeType for text.

value :

Value for the type.

start_index :

The starting index, inclusive.

end_index :

The ending index, exclusive.

ibus_text_get_length ()

guint               ibus_text_get_length                (IBusText *text);

Return number of characters in an IBusText. This function is based on g_utf8_strlen(), so unlike strlen(), it does not count by bytes but characters instead.

text :

An IBusText.

Returns :

Number of character in text, not counted by bytes.

See Also

IBusAttribute