Up: GEOS SDK TechDocs | Up | Prev: SystemDrawMask ... | Next: TextReferenceType ...

TextMode

typedef ByteFlags TextMode;
#define TM_TRACK_KERN						0x40
#define TM_PAIR_KERN 						0x20
#define TM_PAD_SPACES 						0x10
#define TM_DRAW_BASE 						0x08
#define TM_DRAW_BOTTOM 						0x04
#define TM_DRAW_ACCENT 						0x02
#define TM_DRAW_OPTIONAL_HYPHENS 						0x01

 

TextReference

typedef struct {
TR_type		TextReferenceType;
TR_ref		TextReferenceUnion;
} TextReference;

 

TextReferenceBlock

typedef struct {
MemHandle		TRB_handle;
} TextReferenceBlock;

This structure corresponds to a TextReferenceType of TRT_BLOCK. It is used with MSG_VIS_TEXT_REPLACE_TEXT and MSG_VIS_TEXT_GET_TEXT_RANGE to reference text used by those messages.

TRB_ handle stores the handle of the text buffer. No entries need to be filled in to allocate a destination buffer. The heap allocation request will be made with the HAF_NO_ERR flag. If VTGRF_RESIZE is passed then either the passed block or the allocated block will be resized to accommodate the text.

TextReferenceBlockChunk

typedef struct {
optr		TRBC_ref;
} TextReferenceBlockChunk;

This structure corresponds to a TextReferenceType of TRT_OPTR. It is used with MSG_VIS_TEXT_REPLACE_TEXT and MSG_VIS_TEXT_GET_TEXT_RANGE to reference text used by those messages.

TRBC_ ref stores the optr to a text buffer (a group of character)s. The handle field of TRBC _ref must be filled in.

It is assumed that the LMem heap will be able to accommodate this allocation. The caller is responsible for ensuring that this is the case.

If VTGRF_RESIZE is passed then either the passed block or the allocated block will be resized to accommodate the text.

TextReferenceDBItem

typedef struct {
FileHandle 		TRDBI_file;
DBItem		TRDBI_item;
DBGroup		TRDBI_group;
} TextReferenceDBItem;

This structure corresponds to a TextReferenceType of TRT_DB_ITEM. It is used with MSG_VIS_TEXT_REPLACE_TEXT and MSG_VIS_TEXT_GET_TEXT_RANGE to reference text used by those messages.

TRDBI__ file stores the VM file associated with this DB item.

TRDBI_ item stores the DB item itself.

TRDBI_ group stores the DB group the item belongs to.

Both TRDBI_ file and TRDBI_ group must be filled in if you want a VM block to be allocated.

If the TRDBI_ group field is set to DB_UNGROUPED then the item will be allocated ungrouped. TRDBI_group will hold the group in which the item was allocated on return.

If VTGRF_RESIZE is passed then either the passed block or the allocated block will be resized to accommodate the text.

TextReferenceHugeArray

typedef struct {
FileHandle		TRHA_file;
word		TRHA_array;
} TextReferenceHugeArray;

This structure corresponds to a TextReferenceType of TRT_HUGE_ARRAY. It is used with MSG_VIS_TEXT_REPLACE_TEXT and MSG_VIS_TEXT_GET_TEXT_RANGE to reference text used by those messages.

TRHA _file stores the VM file associated with this huge array.

TRHA_ array stores the Huge Array.

The TRHA_ file field must be set if you want a huge-array to be allocated.

If VTGRF_RESIZE is passed then either the passed block or the allocated block will be resized to accommodate the text.

TextReferencePointer

typedef struct {
char _far 		*TRP_pointer;
} TextReferencePointer;

This structure corresponds to a TextReferenceType of TRT_POINTER. It is used with MSG_VIS_TEXT_REPLACE_TEXT and MSG_VIS_TEXT_GET_TEXT_RANGE to reference text used by those messages.

TRP _pointer stores the pointer to the text. This field must be filled in.

VTGRF_RESIZE has no meaning with this sort of reference. VTGRF_ALLOCATE and VTGRF_ALLOCATE_ALWAYS are not valid flags to pass with this type of text reference.

This reference is the safest way to copy text out of a text object. Since the caller allocates the block it can also handle errors in the allocation.

TextReferenceSegmentChunk

typedef struct {
ChunkHandle			TRSC_chunk;
Segment			TRSC_segment;
} TextReferenceSegmentChunk;

This structure corresponds to a TextReferenceType of TRT_SEGMENT_CHUNK. It is used with MSG_VIS_TEXT_REPLACE_TEXT and MSG_VIS_TEXT_GET_TEXT_RANGE to reference text used by those messages.

TRSC_ segment stores the segment address of the text chunk. TRSC _chunk stores the chunk offset to the text.

It is assumed that the LMem heap will be able to accommodate this allocation. The caller is responsible for ensuring that this is the case.

If VTGRF_RESIZE is passed then either the passed block or the allocated block will be resized to accommodate the text.


Up: GEOS SDK TechDocs | Up | Prev: SystemDrawMask ... | Next: TextReferenceType ...