Provided by: m17n-docs_1.6.2-2_all
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>.