NAME¶
Text_Property - Function to handle text properties.
Typedefs¶
typedef
MPlist *(*
MTextPropSerializeFunc )(void *val)
Type of serializer functions. typedef void *(*
MTextPropDeserializeFunc )(
MPlist *plist)
Type of deserializer functions. typedef struct
MTextProperty
MTextProperty
Type of text properties.
Enumerations¶
enum
MTextPropertyControl {
MTEXTPROP_FRONT_STICKY = 0x01,
MTEXTPROP_REAR_STICKY = 0x02,
MTEXTPROP_VOLATILE_WEAK = 0x04,
MTEXTPROP_VOLATILE_STRONG = 0x08,
MTEXTPROP_NO_MERGE = 0x10,
MTEXTPROP_CONTROL_MAX = 0x1F }
Flag bits to control text property.
Functions¶
void *
mtext_get_prop (
MText *mt, int pos,
MSymbol key)
Get the value of the topmost text property. int
mtext_get_prop_values (
MText *mt, int pos,
MSymbol key,
void **values, int num)
Get multiple values of a text property. int
mtext_get_prop_keys
(
MText *mt, int pos,
MSymbol **keys)
Get a list of text property keys at a position of an M-text. int
mtext_put_prop (
MText *mt, int from, int to,
MSymbol
key, void *val)
Set a text property. int
mtext_put_prop_values (
MText *mt,
int from, int to,
MSymbol key, void **values, int num)
Set multiple text properties with the same key. int
mtext_push_prop (
MText *mt, int from, int to,
MSymbol
key, void *val)
Push a text property. int
mtext_pop_prop (
MText *mt, int
from, int to,
MSymbol key)
Pop a text property. int
mtext_prop_range (
MText *mt,
MSymbol key, int pos, int *from, int *to, int deeper)
Find the range where the value of a text property is the same.
MTextProperty *
mtext_property (
MSymbol key, void *val,
int control_bits)
Create a text property. MText *
mtext_property_mtext
(
MTextProperty *prop)
Return the M-text of a text property. MSymbol
mtext_property_key (
MTextProperty *prop)
Return the key of a text property. void *
mtext_property_value
(
MTextProperty *prop)
Return the value of a text property. int
mtext_property_start
(
MTextProperty *prop)
Return the start position of a text property. int
mtext_property_end (
MTextProperty *prop)
Return the end position of a text property. MTextProperty *
mtext_get_property (
MText *mt, int pos,
MSymbol key)
Get the topmost text property. int
mtext_get_properties
(
MText *mt, int pos,
MSymbol key,
MTextProperty **props,
int num)
Get multiple text properties. int
mtext_attach_property
(
MText *mt, int from, int to,
MTextProperty *prop)
Attach a text property to an M-text. int
mtext_detach_property
(
MTextProperty *prop)
Detach a text property from an M-text. int
mtext_push_property
(
MText *mt, int from, int to,
MTextProperty *prop)
Push a text property onto an M-text. MText *
mtext_serialize (
MText *mt, int from, int to,
MPlist
*property_list)
Serialize text properties in an M-text. MText *
mtext_deserialize (
MText *mt)
Deserialize text properties in an M-text.
Variables¶
MSymbol Mtext_prop_serializer
Symbol for specifying serializer functions. MSymbol
Mtext_prop_deserializer
Symbol for specifying deserializer functions.
Detailed Description¶
Function to handle text properties.
Each character in an M-text can have properties called
text
properties. Text properties store various kinds of information attached
to parts of an M-text to provide application programs with a unified view of
those information. As rich information can be stored in M-texts in the form of
text properties, functions in application programs can be simple.
A text property consists of a
key and
values, where key is a
symbol and values are anything that can be cast to (void *) . Unlike other
types of properties, a text property can have multiple values. 'The text
property whose key is K' may be shortened to 'K property'.
Typedef Documentation¶
typedef MPlist*(* MTextPropSerializeFunc)(void
*val)¶
Type of serializer functions. This is the type of serializer functions. If the
key of a symbol property is
Mtext_prop_serializer, the value must be of
this type.
SEE ALSO
mtext_serialize(),
Mtext_prop_serializer
typedef void*(* MTextPropDeserializeFunc)(MPlist
*plist)¶
Type of deserializer functions. This is the type of deserializer functions. If
the key of a symbol property is
Mtext_prop_deserializer, the value must
be of this type.
SEE ALSO
mtext_deserialize(),
Mtext_prop_deserializer
typedef struct MTextProperty MTextProperty¶
Type of text properties. The type
MTextProperty is for a
text
property objects. Its internal structure is concealed from application
programs.
Enumeration Type Documentation¶
enum MTextPropertyControl¶
Flag bits to control text property. The
mtext_property() function accepts
logical OR of these flag bits as an argument. They control the behaviour of
the created text property as described in the documentation of each flag bit.
Enumerator:
- MTEXTPROP_FRONT_STICKY
- If this flag bit is on, an M-text inserted at the start
position or at the middle of the text property inherits the text
property.
- MTEXTPROP_REAR_STICKY
- If this flag bit is on, an M-text inserted at the end
position or at the middle of the text property inherits the text
property.
- MTEXTPROP_VOLATILE_WEAK
- If this flag bit is on, the text property is removed if a
text in its region is modified.
- MTEXTPROP_VOLATILE_STRONG
- If this flag bit is on, the text property is removed if a
text or the other text property in its region is modified.
- MTEXTPROP_NO_MERGE
- If this flag bit is on, the text property is not
automatically merged with the others.
- MTEXTPROP_CONTROL_MAX
-
Variable Documentation¶
MSymbol Mtext_prop_serializer¶
Symbol for specifying serializer functions. To serialize a text property, the
user must supply a serializer function for that text property. This is done by
giving a symbol property whose key is
Mtext_prop_serializer and value
is a pointer to an appropriate serializer function.
SEE ALSO
mtext_serialize(),
MTextPropSerializeFunc
MSymbol Mtext_prop_deserializer¶
Symbol for specifying deserializer functions. To deserialize a text property,
the user must supply a deserializer function for that text property. This is
done by giving a symbol property whose key is
Mtext_prop_deserializer
and value is a pointer to an appropriate deserializer function.
SEE ALSO
mtext_deserialize(),
MTextPropSerializeFunc
Author¶
Generated automatically by Doxygen for The m17n Library from the source code.
COPYRIGHT¶
Copyright (C) 2001 Information-technology Promotion Agency (IPA)
Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and
Technology (AIST)
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License
<
http://www.gnu.org/licenses/fdl.html>.