Name

XmeGetDirection — A compound string parse procedure to insert a direction component

Synopsis

#include <Xm/XmP.h>
XmIncludeStatus XmeGetDirection(text_in_out, text_end, type, tag, entry, pattern_length, str_include, call_data);

DESCRIPTION

XmeGetDirection is a compound string parse procedure (a function of type XmParseProc). It is suitable for use as an XmNinvokeParseProc procedure in an XmParseMapping data type.

XmeGetDirection is triggered when the implicit direction of the current character in text being parsed is different from the direction of the previous character. The function assumes that text_in_out points to the character whose direction has changed. It creates a compound string with a component of type XmSTRING_COMPONENT_DIRECTION that specifies the direction of the character at the text_in_out position. The argument text_in_out remains unchanged.

text_in_out 

Specifies the text being parsed. The value is a pointer to the first byte of a character whose implicit direction is different from that of the previous character. When the parse procedure returns, this argument is not set to a value different from the input value.

text_end 

Specifies a pointer to the end of the text_in_out string. If text_end is NULL, the string is scanned until a NULL character is found. Otherwise, the string is scanned up to, but not including, the character whose address is text_end.

type 

Specifies the type of text and the tag type. For locale text, type has a value of either XmMULTIBYTE_TEXT or XmWIDECHAR_TEXT. For charset text, type has a value of XmCHARSET_TEXT.

tag 

Specifies the tag to be used in determining the character direction.

entry 

Specifies the parse mapping that triggered the call to the parse procedure.

pattern_length 

Specifies the number of bytes in the input text that constitute the matched pattern.

str_include 

Specifies a pointer to a compound string. The parse procedure creates a compound string to be included in the compound string being constructed. The parse procedure then returns the compound string in this argument.

call_data 

Specifies data passed by the application to the parsing routine.

RETURN

This function returns XmINSERT, indicating that the parsing routine should concatenate the result to the compound string being constructed and continue parsing.

RELATED

XmParseMapping(3), XmParseTable(3), XmString(3), and XmeGetNextCharacter(3).