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
typedef struct {
TR_type TextReferenceType;
TR_ref TextReferenceUnion;
} TextReference;
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.
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.
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.
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.
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.
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.
GEOS SDK TechDocs
|
|
SystemDrawMask ...
|
TextReferenceType ...