3.5 Structures N-R


NameArrayAddFlags

NameArrayAddFlags       record
    NAAF_SET_DATA_ON_REPLACE        :1
                                    :15
NameArrayAddFlags       end

NAAF_SET_DATA_ON_REPLACE
If replacing an existing name set, set data for the name to the data passed.

Library: chunkarr.def


NameArrayElement

NameArrayElement        struct
    NAE_meta        RefElementHeader    ;standard ElementArray header
    NAE_data        label byte          ;data
NameArrayElement        ends

The name itself immediately follows the byte of data.

Library: chunkarr.def


NameArrayHeader

NameArrayHeader     struct
    NAH_meta            ElementArrayHeader
    NAH_dataSize        word
NameArrayHeader     ends

This structure must be at the front of every name array. Since name arrays are special kinds of element arrays, the NameArrayHeader must itself begin with an ElementArrayHeader.

NAH_meta stores this element array header.

NAH_dataSize stores the size of the data section of each element in the name array.

Library: chunkarr.def


NameArrayMaxElement

NameArrayMaxElement         struct
    NAME_meta           RefElementHeader
    NAME_data           byte NAME_ARRAY_MAX_DATA_SIZE dup (?)
    NAME_name           char NAME_ARRAY_MAX_NAME_SIZE dup (?)
NameArrayMaxElement         ends

Library: chunkarr.def


NavigateCommonFlags         record
    NCF_IS_COMPOSITE            :1
    NCF_IS_FOCUSABLE            :1
    NCF_IS_MENU_RELATED         :1
    NCF_IS_ROOT_NODE            :1
                                :4
NavigateCommonFlags         end

NCF_IS_COMPOSITE
Set this if calling from a composite object (is subclass of VisCompClass).

NCF_IS_FOCUSABLE
Set this if specific UI will allow this object to get the focus. If NCF_IS_COMPOSITE is also set, means the object itself will get the focus first, followed by its children, in the navigation order.

NCF_IS_MENU_RELATED
Set if this object is menu-related (menu button, or icon in header area).

NCF_IS_ROOT_NODE
Set if this node is the root level of the tree.

Library: Objects/visC.def


NavigateCommonParams            struct
    NCP_object              optr
    NCP_navFlags            NavigateFlags
    NCP_navCommonFlags      NavigateCommonFlags
    NCP_genericData         lptr
NavigateCommonParams            ends

NCP_object stores the object that originated the message. When returned, this entry stores the final recipient of the message.

NCP_genericData stores the chunk handle of generic instance data for the calling object, or zero if not there is no generic data. (This is used for checking for navigation hints on the object.)

Library: Objects/visC.def


NavigateFlags       record
    ; reply flags
    NF_COMPLETED_CIRCUIT            :1
    NF_REACHED_ROOT                 :1
                                    :6
    ; command flags (MUST BE IN LOWER BYTE)
                                    :1  ;reserved for future use
                                        ;(lines up with VTF_IS_COMPOSITE)
                                    :1  ;reserved for future use (lines up with 
                                        ; GS_ENABLED and NCF_FOCUSABLE)
    NF_NAV_MENU_BAR                 :1
                                    :1  ;reserved for future use(lines up with 
                                        ;VTF_IS_WIN_GROUP and NCF_IS_ROOT)
    NF_INITIATE_QUERY               :1
    NF_SKIP_NODE                    :1
    NF_TRAVEL_CIRCUIT               :1
    NF_BACKTRACK_AFTER_TRAVELING    :1
NavigateFlags       end

NF_COMPLETED_CIRCUIT
This is set when this message is received at a node and the originating node (in ^lcx:dx) matches the recipient node, meaning we have travelled the entire circuit. Recursion ends at this point. This is useful for preventing infinite looping in cases where the circuit consists of 1 object, and is handy for error checking after objects have been added/removed from the WIN_GROUP.

NF_REACHED_ROOT
This might be useful for error checking. Is set as this message is received by the root (WIN_GROUP object, and is passed on to the first child.

NF_NAV_MENU_BAR
Set to navigate through items considered part or the menu bar area: menu buttons, icons in the header area, etc. Clear this flag to navigate through control-items in the window area.

NF_INITIATE_QUERY
When a MSG_SPEC_NAVIGATE_TO_NEXT_FIELD or MSG_SPEC_NAVIGATE_TO_NEXT_FIELD handler sends this query to an object, this flag is set, since the cx:dx passed are the object, and don’t want to get confused and think that we have already travelled the entire circuit. This flag is reset before the message is passed onto the next node in the circuit.

NF_SKIP_NODE
Set to tell the recipient to forward the message on to the next object in the circuit. if reset, and is composite, will forward message to first child. If leaf node, will forward to next sibling. If is last sibling, will forward to parent passing NF_SKIP_NODE set so that parent will forward to sibling or parent.

NF_TRAVEL_CIRCUIT
Set to force message to be passed through the entire navigation circuit, back to the originating object. This is useful for error checking, and for the “navigate to previous” case.

Library: Objects/visC.def


NCCFlagsUnion

NCCFlagsUnion       union
    NCCFU_char              VisTextCharAttrFlags
    NCCFU_paragraph         VisTextParaAttrFlags
    NCCFU_border            VisTextParaAttrBorderFlags
NCCFlagsUnion       ends

Library: Objects/Text/tCtrlC.def


NoteType

NoteType    etype byte, 0, 2
    NT_INK      enum NoteType
    NT_TEXT     enum NoteType

Library: pen.def


NotificationType

NotificationType        struct
    NT_manuf        ManufacturerID
    NT_type         word
NotificationType        ends

This structure defines a basic GCN notification type that can be passed with MSG_META_NOTIFY and MSG_META_NOTIFY_WITH_DATA_BLOCK.

Library: Objects/metaC.def


NotifyColorChange

NotifyColorChange       struct
    NCC_color           ColorQuad
    NCC_grayScreen      SystemDrawMask
    NCC_pattern         GraphicPattern
    NCC_flags           NCCFlagsUnion
                                ;VTCAF_MULTIPLE_COLORS
                                ;VTCAF_MULTIPLE_GRAY_SCREENS
                                ;VTCAF_MULTIPLE_PATTERNS
                                ;   -or-
                                ;VTCAF_MULTIPLE_BG_COLORS
                                ;VTCAF_MULTIPLE_BG_GRAY_SCREENS
                                ;VTCAF_MULTIPLE_BG_PATTERNS
                                ;   -or-
                                ;VTPAF_MULTIPLE_BG_COLORS
                                ;VTPAF_MULTIPLE_BG_GRAY_SCREENS
                                ;VTPAF_MULTIPLE_BG_PATTERNS
                                ;   -or-
                                ;VTPABF_MULTIPLE_BORDER_COLORS
                                ;VTPABF_MULTIPLE_BORDER_GRAY_SCREENS
                                ;VTPABF_MULTIPLE_BORDER_PATTERNS
NotifyColorChange       ends

Library: Objects/Text/tCtrlC.def


NotifyDisplayChange

NotifyDisplayChange         struct
    NDC_displayNum      word
    NDC_name            char MAX_DISPLAY_NAME_SIZE dup (?)
    NDC_overlapping     BooleanByte
NotifyDisplayChange         ends

Library: Objects/gDCtrlC.def


NotifyDisplayListChange

NotifyDisplayListChange         struct
    NDLC_counter            word
    NDLC_group              optr
NotifyDisplayListChange         ends

Library: Objects/gDCtrlC.def


NotifyDocumentChange

NotifyDocumentChange            struct
    NDC_attrs               GenDocumentAttrs
    NDC_type                GenDocumentType
    NDC_fileHandle          hptr
    NDC_emptyExists         BooleanByte
    NDC_defaultExists       BooleanByte
NotifyDocumentChange            ends

Library: Objects/gDocCtrl.def


NotifyEnabledFlags

NotifyEnabledFlags      record
    NEF_STATE_CHANGING      :1  ;this is the object whose state is changing
                            :7
NotifyEnabledFlags      end

Library: Objects/genC.def


NotifyFloatFormatChange

NotifyFloatFormatChange         struc
    NFFC_vmFileHan          word
    NFFC_vmBlkHan           word
    NFFC_format             word
    NFFC_count              word
NotifyFloatFormatChange         ends

Library: math.def


NotifyFocusWindowKbdStatus

NotifyFocusWindowKbdStatus      struct
    NFWKS_needsFloatingKbd          word
    NFWKS_kbdPosition               Point<>
    NFWKS_focusWindow               optr
NFWKS_sysModal                  word

NFWKS_needsFloatingKbd If non-zero, the window needs a floating keyboard - otherwise, it already has an embedded keyboard.

NFWKS_kbdPosition The position at which to display the keyboard

NFWKS_focusWindow The OD of the window with the focus. This is used by embedded keyboards, so they can enable themselves when their parent window has the focus.

NFWKS_sysModal Either zero if window is not sys-modal or 0xffff if it is

Library:


NotifyFontAttrChange

NotifyFontAttrChange            struct
    NFAC_fontWeight                 byte
    NFAC_fontWeightDiffs            byte
    NFAC_fontWidth                  byte
    NFAC_fontWidthDiffs             byte
    NFAC_trackKerning               word
    NFAC_trackKerningDiffs          byte
NotifyFontAttrChange            ends

Library: Objects/Text/tCtrlC.def


NotifyFontChange

NotifyFontChange            struct
    NFC_fontID          FontID
    NFC_diffs           byte
NotifyFontChange            ends

Library: Objects/Text/tCtrlC.def


NotifyGenControlStatusChange

NotifyGenControlStatusChange                struct
    NGCS_controller                 optr
    NGCS_statusChange               GenControlStatusChange
NotifyGenControlStatusChange                ends

NGCS_controller stores the optr of the GenControl object itself. This optr may be used to send messages or fetch information from the GenControl (typically to add or remove features).

NGCS_statusChange stores the type of status change that the GenControl object has undergone.

Library: Objects/gCtrlC.def


NotifyInkHasTarget

NotifyInkHasTarget          struct
    NIHT_optr           optr
NotifyInkHasTarget          ends

This structure is sent to objects requesting GWNT_INK_HAS_TARGET notification.

Library: pen.def


NotifyJustificationChange

NotifyJustificationChange           struct
    NJC_justification       Justification
    NJC_diffs               byte
    NJC_useGeneral          byte    ;if non-zero then use "general" in place
                                    ;of "full" justification.
NotifyJustificationChange           ends

Library: Objects/Text/tCtrlC.def


NotifyPageInfoChange

NotifyPageInfoChange        struct
    NPIC_width          word
    NPIC_height         word
    NPIC_rightMargin    word        ; 13.3 (8* actual value)
    NPIC_leftMargin     word        ; 13.3 (8* actual value)
    NPIC_topMargin      word        ; 13.3 (8* actual value)
    NPIC_bottomMargin   word        ; 13.3 (8* actual value)
NotifyPageInfoChange        ends

Library: pageInfo.def


NotifyPageStateChange

NotifyPageStateChange           struct
    NPSC_firstPage                  word        ;first page
    NPSC_lastPage                   word        ;last page
    NPSC_currentPage                word        ;current page
NotifyPageStateChange           ends

Library: Objects/gPageCC.def


NotifyPointSizeChange

NotifyPointSizeChange           struct
    NPSC_pointSize          WWFixed
    NPSC_diffs              byte
NotifyPointSizeChange           ends

Library: Objects/Text/tCtrlC.def


NotifySearchReplaceEnableChange

NotifySearchReplaceEnableChange                 struct
    NSREC_flags         SearchReplaceEnableFlags
NotifySearchReplaceEnableChange                 ends

Library: Objects/Text/tCtrlC.def


NotifySelectStateChange

NotifySelectStateChange         struct
    NSSC_selectionType                  SelectionDataType
    NSSC_clipboardableSelection         BooleanByte
    NSSC_selectAllAvailable             BooleanByte
    NSSC_deleteableSelection            BooleanByte
    NSSC_pasteable                      BooleanByte
NotifySelectStateChange         ends

NSSC_selectionType determines if a text object has the target and a selection.

NSSC_clipboardableSelection stores BB_TRUE if a selection that can be copied to the clipboard exist.

NSSC_selectAllAvailable stores BB_TRUE if “select all” is allowed.

NSSC_deleteableSelection stores BB_TRUE if a selection that can be deleted exists.

NSSC_pasteable stores BB_TRUE if the current clipboard is “pasteable.”

Library: Objects/gEditCC.def


NotifyTextStyleChange

NotifyTextStyleChange           struct
    NTSC_styles             TextStyle
    NTSC_indeterminates     TextStyle
NotifyTextStyleChange           ends

Library: Objects/Text/tCtrlC.def


NotifyUndoStateChange

NotifyUndoStateChange           struct
    NUSC_undoTitle          optr
    NUSC_undoType           UndoDescription
NotifyUndoStateChange           ends

NUSC_undoTitle stores the title of the current undo item or 0:0 if there is no operation to undo.

Library: Objects/gEditCC.def


NotifyViewStateChange

NotifyViewStateChange               struct
    NVSC_origin                 PointDWFixed
    NVSC_docBounds              RectDWord
    NVSC_increment              PointDWord
    NVSC_scaleFactor            PointWWFixed
    NVSC_color                  ColorQuad
    NVSC_attrs                  GenViewAttrs
    NVSC_horizAttrs             GenViewDimensionAttrs
    NVSC_vertAttrs              GenViewDimensionAttrs
    NVSC_inkType                GenViewInkType
    NVSC_contentSize            XYSize
    NVSC_contentScreenSize      XYSize
    NVSC_originRelative         PointDWord
    NVSC_documentSize           PointDWord
NotifyViewStateChange               ends

Library: Objects/gViewCC.def


NumberFormatFlags

NumberFormatFlags       record
                            :7
    NFF_LEADING_ZERO        :1
NumberFormatFlags       end

Library: localize.def


NumberType

NumberType      etype byte, 0, 1
    NT_VALUE        enum NumberType         ; It's just a number
    NT_BOOLEAN      enum NumberType         ; It's a boolean
    NT_DATE_TIME    enum NumberType         ; It's a date/time

Library: parse.def


ObjChunkFlags

ObjChunkFlags       record
                            :3
    OCF_VARDATA_RELOC       :1
    OCF_DIRTY               :1
    OCF_IGNORE_DIRTY        :1
    OCF_IN_RESOURCE         :1
    OCF_IS_OBJECT           :1
ObjChunkFlags       end

Library: object.def


ObjCompCallType

ObjCompCallType     etype word, 0, 2
    OCCT_SAVE_PARAMS_TEST_ABORT             enum ObjCompCallType
    OCCT_SAVE_PARAMS_DONT_TEST_ABORT        enum ObjCompCallType
    OCCT_DONT_SAVE_PARAMS_TEST_ABORT        enum ObjCompCallType
    OCCT_DONT_SAVE_PARAMS_DONT_TEST_ABORT   enum ObjCompCallType
    OCCT_ABORT_AFTER_FIRST                  enum ObjCompCallType
    OCCT_COUNT_CHILDREN                     enum ObjCompCallType

Library: Objects/metaC.def


ObjectTransform

ObjectTransform     struct
    OT_center           PointDWFixed
    OT_width            WWFixed
    OT_height           WWFixed
    OT_parentWidth      WWFixed
    OT_parentHeight     WWFixed
    OT_transform        GrObjTransMatrix
ObjectTransform     ends

OT_center stores the center of the object in the parent’s coordinate system.

OT_width stores the width of object in the object’s coordinate system

OT_height stores the height of object in the object’s coordinate system.

OT_parentWidth stores the width of the object in the parent’s coordinate system. This width includes line width and can therefore be used for invalidation, etc.

OT_parentHeight stores the height of the object in the parent’s coordinate system. This height includes line height, etc. and can therefore be used for invalidation, etc.

Library: grobj.def


ObjFlushInputQueueNextStop

ObjFlushInputQueueNextStop          etype word, 0, 2
    OFIQNS_INPUT_MANAGER                enum ObjFlushInputQueueNextStop
    OFIQNS_SYSTEM_INPUT_OBJ             enum ObjFlushInputQueueNextStop
    OFIQNS_INPUT_OBJ_OF_OWNING_GEODE    enum ObjFlushInputQueueNextStop
    OFIQNS_PROCESS_OF_OWNING_GEODE      enum ObjFlushInputQueueNextStop
    OFIQNS_DISPATCH                     enum ObjFlushInputQueueNextStop

OFIQNS__INPUT_MANAGER
MF_FORCE_QUEUE message to the kernel’s input manager thread passing OFIQNS_INPUT_OBJ_OF_OWNING_GEODE.

OFIQNS_SYSTEM_INPUT_OBJ
MF_FORCE_QUEUE message to the System input object (usually the GenSystem object), passing OFIQNS_INPUT_OBJ_OF_OWNING_GEODE.

OFIQNS_INPUT_OBJ_OF_OWNING_GEODE
MF_FORCE_QUEUE message next to the InputObj of the geode owning the block that the object is in, passing OFIQNS_PROCESS_OF_OWNING_GEODE.

OFIQNS_PROCESS_OF_OWNING_GEODE
MF_FORCE_QUEUE message next to the process of the geode owning the block that the object is in, passing OFIQNS_DISPATCH.

OFIQNS_DISPATCH
Queues are flushed, so FORCE_QUEUE dispatch passed Event.

Library: Objects/metaC.def


ObjLMemBlockHeader

ObjLMemBlockHeader          struct
    OLMBH_header                LMemBlockHeader <>
    OLMBH_inUseCount            word
    OLMBH_interactibleCount     word
    OLMBH_output                optr
    OLMBH_resourceSize          word
ObjLMemBlockHeader          ends

This structure is the standard object block (resource) header that begins every object block. Since Object blocks are types of LMem blocks, the first entry in the ObjLMemBlockHeader must contain a LMemBlockHeader.

OLMBH_header stores the LMem block header.

OLMBH_inUseCount stores the “in use” count for this block. If this count is not zero, then the block may not safely be freed.

OLMBH_interactibleCount stores the “interactable” count for this block, which prevents the block from being swapped. If not zero, then one or more objects in the block are either visible to the user or about to be activated by the user (e.g. via keyboard shortcut).

OLMBH_output stores the optr of the object that will be notified about changes in the resource status, such as in-use counts changing to or from zero. Messages may be sent to this optr using the TravelOption TO_OBJ_BLOCK_OUTPUT.

OLMBH_resourceSize stores the size of the object block.

Library: object.def


ObjRelocation

ObjRelocation       struct
    OR_type     ObjRelocationType       ; Type of relocation
    OR_offset   word                    ; Offset to relocation
ObjRelocation       ends

This is the structure of an object relocation table entry (for instance data).

Library: object.def


ObjRelocationID

ObjRelocationID     record
    RID_SOURCE          ObjRelocationSource:4
    RID_INDEX           :12
ObjRelocationID     end

Library: object.def


ObjRelocationSource

ObjRelocationSource         etype byte
    ORS_NULL                        enum ObjRelocationSource
    ORS_OWNING_GEODE                enum ObjRelocationSource
    ORS_KERNEL                      enum ObjRelocationSource
    ORS_LIBRARY                     enum ObjRelocationSource
    ORS_CURRENT_BLOCK               enum ObjRelocationSource
    ORS_VM_HANDLE                   enum ObjRelocationSource
    ORS_OWNING_GEODE_ENTRY_POINT    enum ObjRelocationSource
    ORS_NON_STATE_VM                enum ObjRelocationSource
    ORS_UNKNOWN_BLOCK               enum ObjRelocationSource
    ORS_EXTERNAL                    enum ObjRelocationSource

ORS_NULL
ObjRelocation to zero.

ORS_OWNING_GEODE
Resource of geode. index is resource ID

ORS_KERNEL
Kernel entry point

ORS_LIBRARY
Index is imported library number.

ORS_CURRENT_BLOCK
Handle of block.

ORS_VM_HANDLE
Reloc to handle of block saved on the saved list-index is a VM iD

ORS_OWNING_GEODE_ENTRY_POINT
Entry point of owner.

ORS_NON_STATE_VM
Index is a VM index, vm file handle stored in block header

ORS_UNKNOWN_BLOCK
Index is a handle»4

ORS_EXTERNAL
Internal.

Library: object.def


ObjRelocationType

ObjRelocationType           etype byte
    RELOC_END_OF_LIST   enum ObjRelocationType
    RELOC_HANDLE        enum ObjRelocationType  ;resource ID to handle
    RELOC_SEGMENT       enum ObjRelocationType  ;resource ID to segment
    RELOC_ENTRY_POINT   enum ObjRelocationType  ;resource ID/entry #

RELOC_END_OF_LIST
Relocation from resource ID to handle. The target contains the resource identification (described below)

RELOC_HANDLE
Relocation from resource ID to segment. The target contains the resource identification (described below)

RELOC_SEGMENT
Relocation from resource ID/entry point number to a far pointer. The low word of the target contains the resource identification and the high word of the target contains the entry point number.

RELOC_ENTRY_POINT
Resource ID/entry number.

Library: object.def


OldErrorCheckingFlags

OldErrorCheckingFlags   record
    OECF_REGION             :1  ;Region checking
    OECF_HEAP_FREE_BLOCKS   :1  ;Ensure that all free blocks are 0xcccc
    OECF_LMEM_INTERNAL      :1  ;Internal lmem checking
    OECF_LMEM_FREE_AREAS    :1  ;Ensure that all free areas are 0xcccc
    OECF_LMEM_OBJECT        :1  ;Consistency checks on objects in lmem chunks
    OECF_BLOCK_CHECKSUM     :1  ;Checksum on a particular block
    OECF_GRAPHICS           :1  ;Misc graphics stuff
    OECF_SEGMENT            :1  ;Extensive segment checking
    OECF_NORMAL             :1  ;Misc kernel error checking
    OECF_VMEM               :1  ;VM file consistency
    OECF_APP                :1  ;Application error checking (if implemented
                                ;by applications)
    OECF_LMEM_MOVE          :1  ;Force lmem blocks to move whenever possible
    OECF_UNLOCK_MOVE        :1  ;Force unlocked blocks to move
    OECF_VMEM_DISCARD       :1  ;Force clean VM blocks to be discarded
    OECF_ANAL_VMEM          :1  ;Extensive VM error checking
    OECF_TEXT               :1
OldErrorCheckingFlags   end

Library: ec.def


OperatorStackElement

OperatorStackElement    struct
    OSE_type        EvalStackOperatorType   ; Type of the operator
    OSE_data        EvalStackOperatorData   ; The associated data
OperatorStackElement    ends

Library: parse.def


OperatorType

OperatorType        etype byte, 0, 1
    OP_RANGE_SEPARATOR              enum OperatorType
    OP_NEGATION                     enum OperatorType
    OP_PERCENT                      enum OperatorType
    OP_EXPONENTIATION               enum OperatorType
    OP_MULTIPLICATION               enum OperatorType
    OP_DIVISION                     enum OperatorType
    OP_MODULO                       enum OperatorType
    OP_ADDITION                     enum OperatorType
    OP_SUBTRACTION                  enum OperatorType
    OP_EQUAL                        enum OperatorType
    OP_NOT_EQUAL                    enum OperatorType
    OP_LESS_THAN                    enum OperatorType
    OP_GREATER_THAN                 enum OperatorType
    OP_LESS_THAN_OR_EQUAL           enum OperatorType
    OP_GREATER_THAN_OR_EQUAL        enum OperatorType
    ;
    ;
    OP_STRING_CONCAT                enum OperatorType
    OP_RANGE_INTERSECTION           enum OperatorType
    ;
    ; The following are graphic versions of existing operators. For example,
    ; OP_NOT_EQUAL_GRAPHIC is the same as OP_NOT_EQUAL, but shows up on screen
    ; as an equals sign with a line through it.
    ;
    OP_NOT_EQUAL_GRAPHIC            enum OperatorType
    OP_DIVISION_GRAPHIC             enum OperatorType
    OP_LESS_THAN_OR_EQUAL_GRAPHIC   enum OperatorType
    OP_GREATER_THAN_OR_EQUAL_GRAPHIC enum OperatorType
    ;
    ; The following are included here because it's convenient. They represent
    ; an as yet undecided operator. The scanner has seen it and recognized it.
    ; The parser will decide which operator it is.
    ;
    ; The problem is that a single lexical token can correspond to two different
    ; operations, depending on the context:
    ; Percent Operator:
    ;   9%  <- Divides the value to the left by 100
    ; Modulo Operator:
    ;   9%2 <- Performs the operation "9 MOD 2"
    ; Negation Operator:
    ;   -5  <- Negates the value to the right
    ; Subtraction Operator:
    ;   3-5 <- Performs the operation "3 MINUS 5"
    ;
    ; Since the scanner has no idea what is coming next in the input stream it
    ; can only return that the operator is undecided.
    ;
    ; These operators should always be the last in the list since none of the
    ; tables depend on them.
    ;
    OP_PERCENT_MODULO               enum OperatorType
    OP_SUBTRACTION_NEGATION         enum OperatorType

Library: parse.def


OriginChangedParams

OriginChangedParams         struct
    OCP_origin      PointDWord      ;new origin
    OCP_window      lptr Window     ;window of view
OriginChangedParams         ends

Library: Objects/gViewC.def


PACFeatures

PACFeatures     record
    PACF_WORD_WRAP                  :1
    PACF_COLUMN_BREAK_BEFORE        :1
    PACF_KEEP_PARA_WITH_NEXT        :1
    PACF_KEEP_PARA_TOGETHER         :1
    PACF_KEEP_LINES                 :1
PACFeatures     end

Library: Objects/Text/tCtrlC.def


PACToolboxFeatures

PACToolboxFeatures      record
PACToolboxFeatures      end

Library: Object/Text/tCtrlC.def


PageEndCommand

PageEndCommand      etype   byte
    PEC_FORM_FEED       enum    PageEndCommand  ; 0 = form feed
    PEC_NO_FORM_FEED    enum    PageEndCommand  ; 1 = no form feed

Library: graphics.def


PageLayout

PageLayout      union
    PL_paper            PageLayoutPaper
    PL_envelope         PageLayoutEnvelope
    PL_label            PageLayoutLabel
PageLayout      end

Library: spool.def


PageLayoutEnvelope

PageLayoutEnvelope          record
                        :12
    PLE_ORIENTATION     EnvelopeOrientation:1
    PLE_TYPE            PageType:3              ; PT_ENVELOPE
PageLayoutEnvelope          end

Library: spool.def


PageLayoutLabel

PageLayoutLabel         record
                    :1
    PLL_ROWS        :6              ; labels down
    PLL_COLUMNS     :6              ; labels across
    PLL_TYPE        PageType:3      ; PT_LABEL
PageLayoutLabel         end

Library: spool.def


PageLayoutPaper

PageLayoutPaper     record
                        :12
    PLP_ORIENTATION     PaperOrientation:1
    PLP_TYPE            PageType:3          ; PT_PAPER
PageLayoutPaper     end

Library: spool.def


PageSetupInfo

PageSetupInfo       struct
    PSI_meta            VMChainLink
    PSI_pageSize        XYSize          ; In pixels (points)
    PSI_layout          PageLayout
    PSI_numColumns      word
    PSI_columnSpacing   word            ; In points * 8
    PSI_ruleWidth       word            ; In pixels (points)
    ;
    ; The margins are relative to the edges of the page, and are in points * 8
    ;
    PSI_leftMargin      word
    PSI_rightMargin     word
    PSI_topMargin       word
    PSI_bottomMargin    word
PageSetupInfo       ends

Library: Objects/vTextC.def


PageSizeControlAttrs

PageSizeControlAttrs        record
    ; EXTERNAL
    PZCA_ACT_LIKE_GADGET        :1
    PZCA_PAPER_SIZE             :1
    PZCA_INITIALIZE             :1
                                :5
    ; INTERNAL
    PZCA_NEW_PAGE_TYPE          :1      ;INTERNAL
    PZCA_SWAP_WIDTH_HEIGHT      :1      ;INTERNAL
    PZCA_SIZE_LIST_INITIALIZED  :1      ;INTERNAL
    PZCA_IGNORE_UPDATE          :1      ;INTERNAL
    PZCA_PORTRAIT_VALID         :1
    PZCA_LANDSCAPE_VALID        :1
                                :2
PageSizeControlAttrs        end

PZCA_ACT_LIKE_GADGET
Tells the PageSizeControl object to act like any other generic gadget, where one uses messages to set/get the state of the object.

PZCA_PAPER_SIZE
Tell the PageSizeControl to display paper, and not document, sizes. Most applications will not want this set.

PZCA_INITIALIZE
Initialize with the default system values. The flag PZCA_ACT_LIKE_GADGET must be set if you want to use this attribute.

Library: spool.def


PageSizeControlChanges

PageSizeControlChanges          struct
    PSCC_destination        optr        ; destination for message
    PSCC_message            word        ; message to be sent
    ;
    ;   Pass:       SS:BP   = PageSizeReport
    ;               DX      = size PageSizeReport
    ;   Returns:    Nothing
    ;               AX, CX, DX, BP - may destroy
    ;
PageSizeControlChanges          ends

Library: spool.def


PageSizeControlFeatures

PageSizeControlFeatures         record
    PSIZECF_MARGINS         :1      ; not part of default features
    PSIZECF_CUSTOM_SIZE     :1
    PSIZECF_LAYOUT          :1
    PSIZECF_SIZE_LIST       :1
    PSIZECF_PAGE_TYPE       :1
PageSizeControlFeatures         end

Library: spool.def


PageSizeControlMaxDimensions

PageSizeControlMaxDimensions    struct
    PZCMD_width             dword       ; maximum width
    PZCMD_height            dword       ; maximum height
PageSizeControlMaxDimensions    ends

Library: spool.def


PageSizeControlToolboxFeatures

PageSizeControlToolboxFeatures          record
    PSIZECTF_DIALOG_BOX             :1
PageSizeControlToolboxFeatures          end

Library: spool.def


PageSizeReport

PageSizeReport          struct
    PSR_width       dword               ; width of the page
    PSR_height      dword               ; height of the page
    PSR_layout      PageLayout          ; layout options
    PSR_margins     PCMarginParams      ; document margins
PageSizeReport          ends

Library: spool.def


PageType

PageType        etype word, 0, 2
    PT_PAPER            enum PageType
    PT_ENVELOPE         enum PageType
    PT_LABEL            enum PageType

Library: print.def


Palette

Palette     struct
    P_entries       word 16     ; Number of 3-byte entries in palette.
Palette     ends

This structure stores the custom palettes allocated by GrCreatePalette and associated with windows.

Library: color.def


PaperOrientation

PaperOrientation        etype byte, 0, 1
    PO_PORTRAIT             enum PaperOrientation
    PO_LANDSCAPE            enum PaperOrientation

Library: print.def


ParserFlags

ParserFlags     record
    ;
    ; These are initialized by the parser. They are initialized to zero.
    ;
    PF_HAS_LOOKAHEAD            :1  ; The next token to get is the look-ahead 
                                    ; token.
    PF_CONTAINS_DISPLAY_FUNC    :1  ; Set: This expression contains a function
                                    ; which should be evaluated when the
                                    ; result of the expression is displayed.
    PF_OPERATORS                :1  ; Set: Allow operators.
    PF_NUMBERS                  :1  ; Set: Allow numbers.
    PF_CELLS                    :1  ; Set: Allow cell references.
    PF_FUNCTIONS                :1  ; Set: Allow functions.
    PF_NAMES                    :1  ; Set: Allow names.
    PF_NEW_NAMES                :1  ; Set: Allow new names (app only).
ParserFlags     end

Library: parse.def


ParserParameters

ParserParameters        struct
    ;
    ; Applications should initialize these fields before calling ParseString
    ;
    PP_common               CommonParameters <>
    ;
    ; Possible callbacks:
    ; CT_FUNCTION_TO_TOKEN
    ; CT_NAME_TO_TOKEN
    ;
    PP_parserBufferSize     word            ; Size of the buffer
    ;
    ; Fields below this point are initialized by ParseString
    ;
    PP_flags                ParserFlags     ; Parsing flags
    PP_textPtr              fptr.char       ; Pointer to text
    PP_currentToken         ScannerToken    ; Current token
    PP_lookAheadToken       ScannerToken    ; Look ahead token

    PP_error                ParserScannerEvaluatorError
    PP_tokenStart           word            ; Offset to start of token
    PP_tokenEnd             word            ; Offset to end of token
ParserParameters        ends

The parser allocates this structure on the stack when performing parsing operations such as ParseString.

Library: parse.def


ParserScannerEvaluatorError

ParserScannerEvaluatorError             etype byte, 0, 1
    ;
    ; Scanner errors
    ;
    PSEE_BAD_NUMBER                 enum ParserScannerEvaluatorError
    PSEE_BAD_CELL_REFERENCE         enum ParserScannerEvaluatorError
    PSEE_NO_CLOSE_QUOTE             enum ParserScannerEvaluatorError
    PSEE_COLUMN_TOO_LARGE           enum ParserScannerEvaluatorError
    PSEE_ROW_TOO_LARGE              enum ParserScannerEvaluatorError
    PSEE_ILLEGAL_TOKEN              enum ParserScannerEvaluatorError
    ;
    ; Parser errors
    ;
    PSEE_GENERAL                    enum ParserScannerEvaluatorError
    PSEE_TOO_MANY_TOKENS            enum ParserScannerEvaluatorError
    PSEE_EXPECTED_OPEN_PAREN        enum ParserScannerEvaluatorError
    PSEE_EXPECTED_CLOSE_PAREN       enum ParserScannerEvaluatorError
    PSEE_BAD_EXPRESSION             enum ParserScannerEvaluatorError
    PSEE_EXPECTED_END_OF_EXPRESSION enum ParserScannerEvaluatorError
    PSEE_MISSING_CLOSE_PAREN        enum ParserScannerEvaluatorError
    PSEE_UNKNOWN_IDENTIFIER         enum ParserScannerEvaluatorError
    PSEE_NOT_ENOUGH_NAME_SPACE      enum ParserScannerEvaluatorError
    ;
    ; Serious evaluator errors
    ;
    PSEE_OUT_OF_STACK_SPACE         enum ParserScannerEvaluatorError
    PSEE_NESTING_TOO_DEEP           enum ParserScannerEvaluatorError
    ;
    ; Evaluator errors that are returned as the result of formulas.
    ; These are returned on the argument stack.
    ;
    PSEE_ROW_OUT_OF_RANGE           enum ParserScannerEvaluatorError
    PSEE_COLUMN_OUT_OF_RANGE        enum ParserScannerEvaluatorError
    PSEE_FUNCTION_NO_LONGER_EXISTS  enum ParserScannerEvaluatorError
    PSEE_BAD_ARG_COUNT              enum ParserScannerEvaluatorError
    PSEE_WRONG_TYPE                 enum ParserScannerEvaluatorError
    PSEE_DIVIDE_BY_ZERO             enum ParserScannerEvaluatorError
    PSEE_UNDEFINED_NAME             enum ParserScannerEvaluatorError
    PSEE_CIRCULAR_REF               enum ParserScannerEvaluatorError
    PSEE_CIRCULAR_DEP               enum ParserScannerEvaluatorError
    PSEE_CIRC_NAME_REF              enum ParserScannerEvaluatorError
    PSEE_NUMBER_OUT_OF_RANGE        enum ParserScannerEvaluatorError
    PSEE_GEN_ERR                    enum ParserScannerEvaluatorError
    PSEE_NA                         enum ParserScannerEvaluatorError
    ;
    ; Dependency errors
    ;
    PSEE_TOO_MANY_DEPENDENCIES      enum ParserScannerEvaluatorError
    ;
    ; Applications can define errors too, they start here.
    ;
    PSEE_FIRST_APPLICATION_ERROR    enum ParserScannerEvaluatorError, 0xc0
    ;
    ; !!! NOTE !!!
    ; These PSEE_ errors map directly to the floating point errors
    ; Any change in the float library errors require corresponding
    ; changes here.
    ;
    PSEE_FLOAT_POS_INFINITY         enum ParserScannerEvaluatorError, 250
    PSEE_FLOAT_NEG_INFINITY         enum ParserScannerEvaluatorError
    PSEE_FLOAT_GEN_ERR              enum ParserScannerEvaluatorError

Library: parse.def


ParserToken

ParserToken         struct
    PT_type     ParserTokenType             ; Type of token data
    PT_data     ParserTokenData             ; The data itself
ParserToken         ends

Library: parse.def


ParserTokenCellData

ParserTokenCellData             struct
    PTCD_cellRef            CellReference <>
ParserTokenCellData             ends

Library: parse.def


ParserTokenData

ParserTokenData     union
    PTD_number          ParserTokenNumberData
    PTD_string          ParserTokenStringData
    PTD_name            ParserTokenNameData
    PTD_cell            ParserTokenCellData
    PTD_function        ParserTokenFunctionData
    PTD_operator        ParserTokenOperatorData
ParserTokenData     end

Library: parse.def


ParserTokenFunctionData

ParserTokenFunctionData     struct
    PTFD_functionID             word    ; Identifier for the function
ParserTokenFunctionData     ends

Library:


ParserTokenNameData

ParserTokenNameData         struct
    PTND_name       word        ; The token describing the name
ParserTokenNameData         ends

Library: parse.def


ParserTokenNumberData

ParseTokenNumberData            struct
    PTND_value          FloatNum <>     ; 8 byte constant
ParseTokenNumberData            ends

Library: parse.def


ParserTokenOperatorData

ParserTokenOperatorData             struct
    PTOD_operatorID         OperatorType    ; The operator ID.
ParserTokenOperatorData             ends

Library: parse.def


ParserTokenStringData

ParserTokenStringData           struct
    PTSD_length         word        ; Length of the string
ParserTokenStringData           ends

Library: parse.def


ParserTokenType

ParserTokenType     etype byte, 0, 1
    PARSER_TOKEN_NUMBER                 enum ParserTokenType
    PARSER_TOKEN_STRING                 enum ParserTokenType
    PARSER_TOKEN_CELL                   enum ParserTokenType
    PARSER_TOKEN_END_OF_EXPRESSION      enum ParserTokenType
    PARSER_TOKEN_OPEN_PAREN             enum ParserTokenType
    PARSER_TOKEN_CLOSE_PAREN            enum ParserTokenType
    PARSER_TOKEN_NAME                   enum ParserTokenType
    ;
    ; All the items above are in common with the ScannerTokenType list.
    ; You can add or delete items below this point without changing
    ; the other table.
    ;
    PARSER_TOKEN_FUNCTION               enum ParserTokenType
    PARSER_TOKEN_CLOSE_FUNCTION         enum ParserTokenType
    PARSER_TOKEN_ARG_END                enum ParserTokenType
    PARSER_TOKEN_OPERATOR               enum ParserTokenType

Library: parse.def


PASCFeatures

PASCFeatures        record
    PASCF_SPACE_ON_TOP          :1
    PASCF_SPACE_ON_BOTTOM       :1
PASCFeatures        end

Library: Objects/Text/tCtrlC.def


PASCToolboxFeatures

PASCToolboxFeatures         record
PASCToolboxFeatures         end

Library: Objects/Text/tCtrlC.def


PathCombineType

PathCombineType     etype word
    PCT_NULL            enum PathCombineType    ; destroy current
    PCT_REPLACE         enum PathCombineType    ; replace current
    PCT_UNION           enum PathCombineType    ; add to current
    PCT_INTERSECTION    enum PathCombineType    ; intersect with curr

Library: graphics.def


PathCompareType

PathCompareType     etype byte
    PCT_EQUAL           enum PathCompareType
    PCT_SUBDIR          enum PathCompareType
    PCT_UNRELATED       enum PathCompareType
    PCT_ERROR           enum PathCompareType

PCT_EQUAL
The 2 paths are equal.

PCT_SUBDIR
Path 2 is a subdirectory of path 1.

PCT_UNRELATED
Either the 2 paths are unrelated, or path 1 is a subdirectory of path 2.

PCT_ERROR
Some error occurred while parsing one of the paths (i.e., one of the paths was not found, etc.).

Library: file.def


PatternType

PatternType     etype byte
    PT_SOLID                enum PatternType    
    PT_SYSTEM_HATCH         enum PatternType    
    PT_SYSTEM_BITMAP        enum PatternType    
    PT_USER_HATCH           enum PatternType    
    PT_USER_BITMAP          enum PatternType    
    PT_CUSTOM_HATCH         enum PatternType    
    PT_CUSTOM_BITMAP        enum PatternType    

PT_SOLID
Solid pattern. Passed in AH: Nothing.

PT_SYSTEM_HATCH
System-defined hatch pattern. Passed in AH: SystemHatch.

PT_SYSTEM_BITMAP
System-defined tiled bitmap. Passed in AH: SystemBitmap.

PT_USER_HATCH
User-defined hatch pattern. Passed in AH: 0-255.

PT_USER_BITMAP
User-defined tiled bitmap. Passed in AH: 0-255.

PT_CUSTOM_HATCH
Application-custom hatch pattern. Passed in AH: Nothing.

PT_CUSTOM_BITMAP
Appl-custom tiled bitmap.

Library: graphics.def


PCComInitFlags

PCComInitFlags record
    PCCIF_NOTIFY_OUTPUT     :1  ; notify caller of output
    PCCIF_NOTIFY_EXIT       :1  ; notify caller of remote exit
                            :14
PCComInitFlags end

Library: pccom.def


PCComReturnType

PCComReturnType etype byte
    PCCRT_NO_ERROR                  enum PCComReturnType
    PCCRT_CANNOT_LOAD_SERIAL_DRIVER     enum PCComReturnType
    PCCRT_CANNOT_CREATE_THREAD          enum PCComReturnType
    PCCRT_CANNOT_ALLOC_STREAM           enum PCComReturnType
    PCCRT_ALREADY_INITIALIZED           enum PCComReturnType

Library: pccom.def


PCDocSizeParams

PCDocSizeParams         struct
    PCDSP_width     dword (?)       ; width of the document
    PCDSP_height    dword (?)       ; height of the document
PCDocSizeParams         ends

Library: spool.def


PCMarginParams

PCMarginParams      struct
    PCMP_left           word (?)            ; left margin
    PCMP_top            word (?)            ; top margin
    PCMP_right          word (?)            ; right margin
    PCMP_bottom         word (?)            ; bottom margin
PCMarginParams      ends

Library: print.def


PCProgressType

PCProgressType          etype word, 0, 2
    PCPT_PAGE       enum PCProgressType     ; change page number
    PCPT_PERCENT    enum PCProgressType     ; change percent done
    PCPT_TEXT       enum PCProgressType     ; change text message

Library: spool.def


PenInputDisplayType

PenInputDisplayType         etype word
    PIDT_KEYBOARD                   enum PenInputDisplayType
    PIDT_CHAR_TABLE                 enum PenInputDisplayType
    PIDT_CHAR_TABLE_SYMBOLS         enum PenInputDisplayType
    PIDT_CHAR_TABLE_INTERNATIONAL   enum PenInputDisplayType
    PIDT_CHAR_TABLE_MATH            enum PenInputDisplayType
    PIDT_CHAR_TABLE_CUSTOM          enum PenInputDisplayType
    PIDT_HWR_ENTRY_AREA             enum PenInputDisplayType

Library: Objects/gPenICC.def


PLInit

PLInit  struct
    PLI_align           byte
    PLI_message         word
    PLI_point           PointDWFixed
    PLI_instructions    PriorityListInstructions
    PLI_maxElements     word
    PLI_class           fptr.ClassStruct
PLInit  ends

Library: grobj.def


Point

Point   struct
    P_x sword
    P_y sword
Point   ends

Library: graphics.def


PointDWFixed

PointDWFixed        struct
    PDF_x       DWFixed
    PDF_y       DWFixed
PointDWFixed        ends

This structure stores a point (in graphic coordinates) where each coordinate is in terms of a DWFixed value.

Library: graphics.def


PointDWord

PointDWord      struct
    PD_x    sdword
    PD_y    sdword
PointDWord      ends

This structure stores a point (in graphic coordinates) where each coordinate is in terms of a signed dword value.

Library: graphics.def


PointerDef

PointerDef      struct
    PD_width        PointerDefWidth
    PD_height       byte
    PD_hotX         sbyte
    PD_hotY         sbyte
PointerDef      ends

This structure defines a mouse pointer.

PD_width and PD_height store the width and height of the cursor, in points.

PD_hotX and PD_hotY store the horizontal and vertical offset to the “hot spot” of the pointer. These offsets are relative to the upper left corner of the pointer.

Library: graphics.def


PointerDefWidth

PointerDefWidth record
    PDW_ALWAYS_SHOW_PTR     :1
    ; flag, set in BUSY cursors & any other cursors that should be shown
    ; for status's sake, regardless of whether the ptr image is normally
    ; hidden or not (such as in keyboard-only or ink-only systems).
    ; Interpreted, implemented by Input Manager -- Video drivers should
    ; ignore. 
    PDW_WIDTH               :7
    ; width of cursor
PointerDefWidth end

Library: graphics.def


PointerModes

PointerModes        record
    PM_HANDLES_RESIZE                   :1
    PM_HANDLES_ROTATE                   :1
    PM_POINTER_IS_ACTION_OBJECT         :1
PointerModes        end

Library: grobj.def


PointWBFixed

PointWBFixed        struct
    PWBF_x      WBFixed
    PWBF_y      WBFixed
PointWBFixed        ends

This structure stores a point (in graphic coordinates) where each coordinate is in terms of a WBFixed value.

Library: graphics.def


PointWWFixed

PointWWFixed        struct
    PF_x        WWFixed
    PF_y        WWFixed
PointWWFixed        ends

This structure stores a point (in graphic coordinates) where each coordinate is in terms of a WWFixed value.

Library: graphics.def


PrefAttributes

PrefAttributes      record
    PA_REBOOT_IF_CHANGED            :1
    PA_LOAD_IF_USABLE               :1
    PA_SAVE_IF_USABLE               :1
    PA_SAVE_IF_ENABLED              :1
    PA_SAVE_IF_CHANGED              :1
                                    :3
PrefAttributes      end

PA_REBOOT_IF_CHANGED
This bit signals that changes in the state of this object, or this object’s children require a system reboot to take effect. In a PrefDialogClass object, if this bit is set, then all children will be queried for reboot status (using MSG_PREF_GET_REBOOT_INFO), and if a reboot is required, PrefMgr will be notified.

PA_LOAD_IF_USABLE
Load options only if this object is usable (this is ON by default).

PA_SAVE_IF_USABLE
Save options only if this object is usable (this is ON by default).

PA_SAVE_IF_ENABLED
Save options only if this object is enabled.

PA_SAVE_IF_CHANGED
Save options only if this object has changed.

Library: config.def


PrefDialogChangeType

PrefDialogChangeType            etype word, 0
    PDCT_OPEN           enum PrefDialogChangeType
    PDCT_CLOSE          enum PrefDialogChangeType
    PDCT_DESTROY        enum PrefDialogChangeType
    PDCT_RESTART        enum PrefDialogChangeType
    PDCT_SHUTDOWN       enum PrefDialogChangeType

Library: config.def


PrefEnableData

PrefEnableData          struct
    PED_item        word
    PED_lptr        lptr
    PED_flags       PrefEnableFlags
PrefEnableData          ends

PED_item stores the identifier of the item that controls enabling/disabling of the object. If the identifier is GIGS_NONE, then the action will be performed if no items are selected.

PED_lptr stores a pointer to the object that is to be enabled or disabled.

Library: config.def


PrefEnableFlags

PrefEnableFlags     record
    PEF_DISABLE_IF_SELECTED         :1
    PEF_DISABLE_IF_NONE             :1
                                    :6
    PrefEnableFlags     end

PEF_DISABLE_IF_SELECTED
If set, disable the object if the associated item is selected, otherwise do the opposite.

PEF_DISABLE_IF_NONE
If this flag is set, then the PED_item field is ignored. Instead, the item group will disable the specified object if no items are selected-or if there are no items in the list.

Library: config.def


PrefInitFileFlags

PrefInitFileFlags       record
    PIFF_USE_ITEM_STRINGS           :1
    PIFF_USE_ITEM_MONIKERS          :1
    PIFF_APPEND_TO_KEY              :1
                                    :5
PrefInitFileFlags       end

PIFF_USE_ITEM_STRINGS
If set, then the item group’s children must be of class PrefStringItemClass, and their strings will be used to interact with the init file.

PIFF_USE_ITEM_MONIKERS
If set, then the monikers of the items are used to interact with the init file.

PIFF_APPEND_TO_KEY
If set, the strings in this list will be added to strings that may already exist for this key.

Library: config.def


PrefInteractionAttrs

PrefInteractionAttrs record
    PIA_LOAD_OPTIONS_ON_INITIATE    :1
    PIA_SAVE_OPTIONS_ON_APPLY       :1
                                    :6
PrefInteractionAttrs    end

PIA_LOAD_OPTIONS_ON_INITIATE
If set, then the dialog will send MSG_PREF_INIT, followed by MSG_META_LOAD_OPTIONS to itself when it receives a MSG_GEN_INTERACTION_INITIATE.

PIA_SAVE_OPTIONS_ON_APPLY
This flag is normally OFF, to allow non-dialog prefInteraction objects to reside inside other interactions without duplicate SAVE_OPTIONS messages being sent. This flag is normally on for objects of PrefDialogClass.

Library: config.def


PrefItemGroupStringVars

PrefItemGroupStringVars struct
    PIGSV_endPtr            nptr.char
    PIGSV_selections        word PREF_ITEM_GROUP_MAX_SELECTIONS dup (?)
    PIGSV_numSelections     word
    PIGSV_buffer            char PREF_ITEM_GROUP_STRING_BUFFER_SIZE dup (?)

Library: config.def


PrefMgrFeatures

PrefMgrFeatures     record
    PMF_HARDWARE        :1
    PMF_SYSTEM          :1
    PMF_NETWORK         :1
    PMF_USER            :1
                        :12
PrefMgrFeatures     end

PMF_HARDWARE
These settings are for a user who has permissions to actually change the configuration of the workstation. In a network environment where users log in to different machines at different times, normal users would be prevented from changing the mouse & video drivers, etc.

PMF_SYSTEM
These changes are more complex & potentially more damaging than the basic “user” changes, therefore, some users may be prevented from using these settings.

PMF_NETWORK
Network settings - generally only the system administrator will see these settings.

PMF_USER
These are basic user changes - normally this flag works the opposite way of the other flags - by default all UI is “on”, but if the user flag is off, then some basic UI might go away. This would allow a network administrator, for example, to look at a scaled-down, “network-only” prefmgr.

Library: config.def


PrefModuleEntryType

PrefModuleEntryType         etype word, 0, 1
    PMET_FETCH_UI               enum PrefModuleEntryType 
    ;
    ; Return the OD of the top-most object in the UI tree.
    ; All UI *must* be in the same segment as this object. The UI tree
    ; will be duplicated by the application, and added to the app's
    ; generic tree.
    ;
    ; Pass: nothing
    ; Return: ^ldx:ax - OD of root of UI tree.
    ; Destroy: nothing
    ;
    PMET_GET_MODULE_INFO        enum PrefModuleEntryType
    ; Return information about this module that will be used to determine
    ; whether to display it on-screen, what it will look like, etc. 
    ;
    ; Pass: ds:si - pointer to a PrefModuleInfo buffer to be filled in
    ; Return: -- buffer filled in
    ; Destroy: ax, bx
    ;

Entry points for the Preferences Modules. Each module (library) must have the following routines exported in its .gp file, in the following order, as the first routines exported from that library.

Library: config.def


PrefModuleInfo

PrefModuleInfo struct
    PMI_requiredFeatures        PrefMgrFeatures <>
    ; Features that MUST be set for this module to appear in PrefMgr
    PMI_prohibitedFeatures      PrefMgrFeatures <>
    ; Features that MUST NOT be set for this module to appear.
    PMI_minLevel                UIInterfaceLevel    0
    ; Minimum user level required for this module to appear.
    ; Currently not implemented by PrefMgr -- should be set to zero by
    ; module.
    PMI_maxLevel                UIInterfaceLevel    UIInterfaceLevel
    ; Minimum user level required for this module to appear.
    ; Currently not implemented by PrefMgr. Should be set to
    ; the maximum value by module.
    PMI_monikerList             optr
    ; Moniker list in a shared, lmem, read-only resource that will be
    ; used as the module's trigger
    PMI_monikerToken            GeodeToken
    ; A unique GeodeToken that will be used to enter the module's
    ; moniker list into the token database. This is done so that the
    ; module is only called with PMET_GET_MODULE_INFO the first time
    ; it is encountered by PrefMgr - all subsequent times, the
    ; necessary information is cached.
PrefModuleInfo ends

Library: config.def


PrefTimeDateControlFeatures

PrefTimeDateControlFeatures     record
    PTDCF_DATE      :1
    PTDCF_TIME      :1
PrefTimeDateControlFeatures     end

Library: config.def


PrefTimeDateControlScreen

PrefTimeDateControlScreen       etype   word, 0, 2
    PTDCS_TIME_DATE     enum    PrefTimeDateControlScreen

Library: config.def


PrefTocExtraEntry

PrefTocExtraEntry       struct
    PTEE_item       lptr.char
    PTEE_driver     lptr.char
    PTEE_info       word
PrefTocExtraEntry       ends

PTEE_item stores the lptr of the item name. For device lists, this is the device. For others, this is the filename.

PTEE_driver stores the driver name (for device lists only).

PTEE_info stores an extra word of information.

Library: config.def


PrefTriggerAction

PrefTriggerAction       struct
    PTA_message     word
    PTA_dest        optr
PrefTriggerAction       ends

Library: config.def


PrefVMMapBlock

PrefVMMapBlock  struct 
    PVMMB_root      fptr
PrefVMMapBlock  ends

Map block for a VM file this object can handle.

PVMMB_root is the root of the object tree contained in the VM file. Segment portion is VM block handle

Library: config.def


PrintControlAttrs

PrintControlAttrs       record
                            :1
    PCA_SEE_IF_DOC_WILL_FIT :1      ; check if document will fit on paper
    PCA_MARK_APP_BUSY       :1      ; mark busy while application is printing
    PCA_VERIFY_PRINT        :1      ; indicate we want to verify before 
                                    ; printing
    PCA_SHOW_PROGRESS       :1      ; show the print progress dialog box
    PCA_PROGRESS_PERCENT    :1      ; show progress by percentage completed
    PCA_PROGRESS_PAGE       :1      ; show progress by page completed
    PCA_FORCE_ROTATION      :1      ; Force rotation of output
    PCA_COPY_CONTROLS       :1      ; Copy controls are available
    PCA_PAGE_CONTROLS       :1      ; Page range controls are available
    PCA_QUALITY_CONTROLS    :1      ; Print quality controls are available
    PCA_USES_DIALOG_BOX     :1      ; A print dialog box should appear
    PCA_GRAPHICS_MODE       :1      ; Supports graphics mode output
    PCA_TEXT_MODE           :1      ; Supports text mode output
    PCA_DEFAULT_QUALITY     PrintQualityEnum:2  ; default print quality
PrintControlAttrs       end

Library: spool.def


PrintControlFeatures

PrintControlFeatures            record
    PRINTCF_PRINT_TRIGGER           :1      ; wants a print trigger
    PRINTCF_FAX_TRIGGER             :1      ; wants a fax trigger
PrintControlFeatures            end

Library: spool.def


PrintControlStatus

PrintControlStatus      etype word
    PCS_PRINT_BOX_VISIBLE       enum PrintControlStatus ; Print DB is on screen
    PCS_PRINT_BOX_NOT_VISIBLE   enum PrintControlStatus ; Print DB not on screen

Library: spool.def


PrintControlToolboxFeatures

PrintControlToolboxFeatures             record
    PRINTCTF_PRINT_TRIGGER      :1      ; wants a print tool trigger
    PRINTCTF_FAX_TRIGGER        :1      ; wants a fax tool trigger
PrintControlToolboxFeatures             end

Library: spool.def


PrinterDriverType

PrinterDriverType       etype byte, 0
    PDT_PRINTER         enum PrinterDriverType
    PDT_PLOTTER         enum PrinterDriverType
    PDT_FACSIMILE       enum PrinterDriverType
    PDT_CAMERA          enum PrinterDriverType
    PDT_OTHER           enum PrinterDriverType
    PDT_ALL             equ -1          ; all printers of all types

Library: print.def


PrinterMode

PrinterMode     etype byte, 0, 2
    PM_GRAPHICS_LOW_RES enum PrinterMode    ; lowest quality...fastest...
    PM_GRAPHICS_MED_RES enum PrinterMode    ; medium quality...slower...
    PM_GRAPHICS_HI_RES  enum PrinterMode    ; best quality...slowest...
    PM_TEXT_DRAFT       enum PrinterMode    ; fastest ascii output
    PM_TEXT_NLQ         enum PrinterMode    ; best quality ascii output

    PM_FIRST_TEXT_MODE  equ PM_TEXT_DRAFT   ; equate to make the code easier

Library: print.def


PrinterOutputModes

PrinterOutputModes      record
    POM_unused              :3      ; leave these bits alone!!!
    POM_GRAPHICS_LOW        :1      ; Graphics mode low quality available
    POM_GRAPHICS_MEDIUM     :1      ; Graphics mode medium quality available 
    POM_GRAPHICS_HIGH       :1      ; Graphics mode high quality available 
    POM_TEXT_DRAFT          :1      ; Character mode draft quality available 
    POM_TEXT_NLQ            :1      ; Character mode NLQ quality available 
PrinterOutputModes      end

Library: spool.def


PrintQualityEnum

PrintQualityenum    etype byte, 0, 1
    PQT_HIGH        enum PrintQualityenum       ; default to high
    PQT_MEDIUM      enum PrintQualityenum       ; default to medium
    PQT_LOW         enum PrintQualityenum       ; default to low

Library: spool.def


PrintStatusFlags

PrintStatusFlags        record
    PSF_FAX_AVAILABLE       :1      ; set if a fax driver is available
                            :3
    PSF_ABORT               :1      ; user wants to abort printing
    PSF_RECEIVED_COMPLETED  :1      ; MSG_PC_PRINTING_COMPLETED received
    PSF_RECEIVED_NAME       :1      ; MSG_PC_SET_DOC_NAME received
    PSF_VERIFIED            :1      ; PSG_PC_VERIFY_? received
PrintStatusFlags        end

Library: spool.def


PriorityList

PriorityList        struct
    PL_message          word
    PL_point            PointDWFixed
    PL_instructions     PriorityListInstructions
    PL_class            fptr.ClassStruct
    PL_numElements      word
    PL_maxElements      word
    PL_list             lptr
PriorityList        ends

PL_message stores the method to send to each object.

PL_point stores the document coordinates to be examined by the object.

PL_instructions stores the instructions for the processing of objects.

PL_class stores the class of object to be used (based on the specific instructions passed in PL_instructions).

PL_numElements stores the number of elements currently in the list.

PL_maxElements stores the maximum number of elements allowed in the list.

PL_list stores the chunk handle of the list chunk array.

Library: grobj.def


PriorityListElement

PriorityListElement         struct
    PLE_od          optr
    PLE_priority    byte
    PLE_other       byte
PriorityListElement         ends

Library: grobj.def


PriorityListInstructions

PriorityListInstructions            record
    PLI_CHECK_SELECTION_HANDLE_BOUNDS               :1
    PLI_ONLY_PROCESS_SELECTED                       :1
    PLI_ONLY_PROCESS_CLASS                          :1
    PLI_ONLY_INSERT_CLASS                           :1
    PLI_STOP_AT_FIRST_HIGH                          :1
    PLI_ONLY_INSERT_HIGH                            :1
    PLI_DONT_INSERT_OBJECTS_WITH_SELECTION_LOCK     :1
PriorityListInstructions            end

PLI_CHECK_SELECTION_HANDLE_BOUNDS
Do trivial reject check on bounds of objects that include the selection handles, instead of the normal parent bounds which are only guaranteed to surround the image.

PLI_ONLY_PROCESS_SELECTED
Only send messages to objects that are in selection list.

PLI_ONLY_PROCESS_CLASS
Only send messages to objects of class.

PLI_ONLY_INSERT_CLASS
Only insert items of class into priority list.

PLI_STOP_AT_FIRST_HIGH
Stop processing children after an object evaluates high.

PLI_ONLY_INSERT_HIGH
Only insert objects that evaluate high.

PLI_DONT_INSERT_OBJECTS_WITH_SELECTION_LOCK
Don’t insert objects that have their selection lock set. These objects must return EPN_SELECTION_LOCK_SET.

Library: grobj.def


ProcessCallRoutineParams

ProcessCallRoutineParams struct PCRP_address fptr PCRP_dataAX word PCRP_dataBX word PCRP_dataCX word PCRP_dataDX word PCRP_dataSI word PCRP_dataDI word ProcessCallRoutineParams ends

Library: processC.def


ProtocolNumber

ProtocolNumber      struct
    PN_major            word
    PN_minor            word
ProtocolNumber      ends

This structure defines the protocol level of a file, geode, or document.

PN_major represents the most significant compatibility comparisons. If the major protocol is different between two items, they are incompatible.

PN_minor represents less significant differences. If minor protocols are different, the two items may or may not be compatible.

Library: geode.def


PSCFeatures

PSCFeatures     record
    PSCF_9              :1
    PSCF_10             :1
    PSCF_12             :1
    PSCF_14             :1
    PSCF_18             :1
    PSCF_24             :1
    PSCF_36             :1
    PSCF_54             :1
    PSCF_72             :1
    PSCF_SMALLER        :1
    PSCF_LARGER         :1
    PSCF_CUSTOM_SIZE    :1
PSCFeatures     end

Library: Objects/Text/tCtrlC.def


PSCToolboxFeatures

PSCToolboxFeatures      record
    PSCTF_9         :1
    PSCTF_10        :1
    PSCTF_12        :1
    PSCTF_14        :1
    PSCTF_18        :1
    PSCTF_24        :1
    PSCTF_36        :1
    PSCTF_54        :1
    PSCTF_72        :1
    PSCTF_SMALLER   :1
    PSCTF_LARGER    :1
PSCToolboxFeatures      end

Library: Objects/Text/tCtrlC.def


PtrImageLevel

PtrImageLevel       etype word, 0
    PIL_SYSTEM          enum PtrImageLevel
    PIL_1               enum PtrImageLevel
    PIL_FLOW            enum PtrImageLevel
    PIL_3               enum PtrImageLevel
    PIL_GEODE           enum PtrImageLevel
    PIL_5               enum PtrImageLevel
    PIL_GADGET          enum PtrImageLevel
    PIL_7               enum PtrImageLevel
    PIL_WINDOW          enum PtrImageLevel
    PIL_DEFAULT         enum PtrImageLevel

Enumerated type for ptr image level. Each level may specify a particular mouse ptr image, or specify that the level does not currently have an image. The first (starting at lowest enumerated value) level which has a ptr image declared will be used at any given moment in time.

PIL_SYSTEM
PIL_1
PIL_FLOW
Used for UI quick transfer move/copy cursors.

PIL_3
PIL_GEODE
Overriding status of geode. Used to indicate busy state, modal state for applications. Applications and the UI should use WinSetGeodePtrImage to set the image.

PIL_5
PIL_GADGET
Gadget level. Used for visible gadgets within windows, such as text object, control points, etc. Applications and the UI should use WinSetGeodePtrImage to set the image.

PIL_7
PIL_WINDOW
Window level. Background cursor to use. Applications and the UI should use WinSetGeodePtrImage to set the image.

PIL_DEFAULT
Default pointer.

Library: win.def


PtrImageValue

PtrImageValue       etype word
    PIV_NONE                    enum PtrImageValue, 0
    PIV_VIDEO_DRIVER_DEFAULT    enum PtrImageValue
    PIV_UPDATE                  enum PtrImageValue

Enumerated type passed as an alternative to an optr to a PointerDef.

PIV_NONE
No ptr image requested for level. Important: Keep the value of this enumerated constant to 0, so that a null optr results in no ptr image being requested.

PIV_VIDEO_DRIVER_DEFAULT
Use video driver default ptr image.

PIV_UPDATE
Re-write current highest priority ptr image to the video driver. Useful when changing PointerDef at previous optr, changing screens.

Library: win.def


QuickSortParameters

QuickSortParameters             struct
    QSP_compareCallback     fptr    ; Compare two elements
    ;
    ;   Pass:
    ;       ds:si       - first array element
    ;       es:di       - second array element
    ;       bx          - parameter passed to ArrayQuickSort
    ;   Return:
    ;       flags set so caller can jl, je, or jg
    ;       according as first element is less than,
    ;       equal to, or greater than the second.
    ;   Destroyed:
    ;       ax, bx, cx, dx, di, si
    ;
    QSP_lockCallback        fptr    ; Lock an element (segment = 0, for none)
    ;
    ;   Pass:
    ;       ds:si       - array element to lock
    ;       bx          - parameter passed to ArrayQuickSort
    ;   Return:
    ;       nothing
    ;   Destroyed:
    ;       nothing
    ;
    QSP_unlockCallback      fptr    ; Unlock an element (segment = 0, for none)
    ;
    ;   Pass:
    ;       ds:si       - array element to unlock
    ;       bx          - parameter passed to ArrayQuickSort
    ;   Return:
    ;       nothing
    ;   Destroyed:
    ;       nothing
    ;
    QSP_insertLimit         word
    QSP_medianLimit         word
    ;
    ; These are used internally by the quicksort algorithm and should not
    ; be set by the caller.
    ;
    QSP_nLesser             word
    QSP_nGreater            word
    align                   word
QuickSortParameters             ends

QSP_insertLimit stores the size of the list below which we choose to use insertion sort and not quicksort.

QSP_medianLimit stores the size of list below which we no longer choose the median but instead use the first key.

QSP_nLesser and QSP_nGreater store the number of elements in the lesser and greater list parts. This is used internally by the quicksort algorithm.

Library: chunkarr.def


QuitLevel

QuitLevel       etype word
    QL_BEFORE_UI            enum QuitLevel
    QL_UI                   enum QuitLevel
    QL_AFTER_UI             enum QuitLevel
    QL_DETACH               enum QuitLevel
    QL_AFTER_DETACH         enum QuitLevel

QL_BEFORE_UI
Quit message sent out before MSG_META_QUIT messages are sent to the items on the active list.

QL_UI
Default handler for this method sends MSG_META_QUIT to the application object for the process.

QL_AFTER_UI
Quit message sent out before MSG_META_DETACH is sent to the process.

QL_DETACH
Default handler for this method sends MSG_META_DETACH to the process.

QL_AFTER_DETACH
Default handler for this method doesn’t really do anything. Why is it still around? You’ll understand when you’re older.

Library: Objects/metaC.def


RandomGenInitFlags

RandomGenInitFlags      record
    RGIF_USE_SEED           :1
    RGIF_GENERATE_SEED      :1
                            :6
RandomGenInitFlags      end

Library: math.def


RangeEnumFlags

RangeEnumFlags      record
    REF_ALL_CELLS           :1  ; Set: callback for all cells.
    REF_NO_LOCK             :1  ; Set: callback will lock/unlock cells.
    REF_ROW_FLAGS           :1  ; Set: get row flags when calling back
    REF_MATCH_ROW_FLAGS     :1  ; Set: callback for cells w/matching row 
                                ; flags
    ;
    ; These next ones are returned from the callback routine.
    ;
    REF_CELL_ALLOCATED      :1  ; Set: The callback routine allocated the 
                                ; cell for which the callback occurred.
    REF_CELL_FREED:1            ; Set: The callback routine freed the cell 
                                ; for which the callback occurred.
    REF_OTHER_ALLOC_OR_FREE :1  ; Set: The callback routine may have 
                                ; allocated or freed a cell other than the 
                                ; one for which the callback occurred.
    REF_ROW_FLAGS_MODIFIED  :1  ; Set: The callback routine changed 
                                ; the row flags
RangeEnumFlags      end

Library: cell.def


RangeEnumParams

RangeEnumParams     struct
    REP_callback        fptr.far    ;routine to call
    REP_bounds          Rectangle   ;cells to enumerate
    ;
    ; Stuff below this point is filled in by RangeEnum() and can be
    ; used by the callback.
    ;
    REP_rowFlags        word        ;current row flags
    ;
    ; Stuff below this point is setup by RangeEnum(). Applications don't
    ; need to worry about it.
    ;
    REP_cfp             fptr.CellFunctionParameters
    ;
    ; Stuff below this point is only used with REF_MATCH_ROW_FLAGS
    ;
    REP_matchFlags      word        ;flags to match
    REP_flagRow         word        ;row we locked for flags
RangeEnumParams     ends

This structure is used most often by the RangeEnum routine. In this case, the structure defines how the enumeration will occur.

Occasionally, however, an empty RangeEnumParams structure may be passed along with the CellGetExtent routine. In that case, the routine will fill in the REP_bounds entry.

REP_callback stores the routine to perform the enumeration.

REP_bounds stores the range of the cells to perform the enumeration on.

REP_rowFlags stores the “row flags” associated with a specific cell. During the enumeration, this entry holds the row flags of the most recently processed cell. These flags (4 bits in total) are able to provide custom information about cells.

REP_cfp and REP_matchFlags are set up automatically by RangeEnum. (REP_cfp stores the address of the CellFunctionParameters structure.)

Library: cell.def


RangeInsertParams

RangeInsertParams           struct
    RIP_bounds          Rectangle
    RIP_delta           Point
    RIP_cfp             dword
RangeInsertParams           ends

This structure is used by the RangeInsert routine, which shifts a group of cells from one position to another.

RIP_bounds stores the range of cells to shift.

RIP_delta stores the Point value which specifies the horizontal and vertical distance to shift the group of cells.

RIP_cfp stores the address of the CellFunctionParameters structure; this entry is set up automatically by the routine.

Library: cell.def


RangeSortCellExistsFlags

RangeSortCellExistsFlags            record
                                :6      ; Unused bits
    RSCEF_SECOND_CELL_EXISTS    :1      ; Set: Second cell exists
    RSCEF_FIRST_CELL_EXISTS     :1      ; Set: First cell exists
RangeSortCellExistsFlags            end

Library: cell.def


RangeSortError

RangeSortError      etype word, 0, 1
    RSE_NO_ERROR            enum RangeSortError
    RSE_UNABLE_TO_ALLOC     enum RangeSortError

RSE_NO_ERROR
No error, the sort was successful.

RSE_UNABLE_TO_ALLOC
The sorting code was unable to allocate the temporary block it needs to sort the data.

Library: cell.def


RangeSortFlags

RangeSortFlags      record
    RSF_SORT_ROWS           :1  ; Set: Sort rows
    RSF_SORT_ASCENDING      :1  ; Set: Sort in ascending order
    RSF_IGNORE_CASE         :1  ; Set: Ignore case in string compares
                            :4
    RSF_IGNORE_SPACES       :1  ; Set: Ignore spaces & punctuation
                                ; NOTE: this is not supported directly
                                ; by the Cell library, but is placed
                                ; here for the convenience of apps.
RangeSortFlags      end

Library: cell.def


RangeSortParams

RangeSortParams     struct
    RSP_range           Rectangle
    RSP_active          Point
    RSP_callback        dword       ; Comparison routine
    ;
    ; Callback is defined as:
    ;   PASS:       ds:si   = Pointer to first cells data
    ;               es:di   = Pointer to second cells data
    ;               ax      = RangeSortCellExistsFlags
    ;               ss:bx   = Parameters passed to RangeSort
    ;   RETURN:     Flags set for comparison of the two cells
    ;   DESTROYED: cx, dx, di, si, bp
    ;
    RSP_flags           RangeSortFlags
    align               word
    ;
    ; The rest is used in RangeSort and should be ignored.
    ;
    RSP_cfp             dword
    RSP_sourceChunk     word
    RSP_destChunk       word
    RSP_base            word
    RSP_lockedEntry     dword
    RSP_cachedFlags     byte
    align               word
RangeSortParams     ends

RSP_range stores the rectangular range to conduct the sort on.

RSP_active stores the cell in the row/column that the current sort is acting upon.

RSP_flags stores the RangeSortFlags used in the sorting operation.

RSP_cfp stores the CellFunctionParameters.

RSP_sourceChunk stores the source row chunk for swapping.

RSP_destChunk stores the destination chunk for swapping.

RSP_base stores the base row/column for sort block.

RSP_lockedEntry stores the entry that is currently locked. If the segment is -1, nothing is locked.

RSP_cachedFlags stores the flags (carry set if cell exists).

Library: cell.def


RecalcSizeArgs

RecalcSizeArgs      record
    RSA_CHOOSE_OWN_SIZE         :1
    RSA_SUGGESTED_SIZE          :15
RecalcSizeArgs      end

RSA_CHOOSE_OWN_SIZE
Geometry manager wants object to choose its own size, typically objects will use current size if any, or choose an initial size, is coming up for the first time.

RSA_SUGGESTED_SIZE
Suggested size to use, if above bit is not set.

Library: Objects/visC.def


Rectangle

Rectangle           struct
    R_left      sword
    R_top       sword
    R_right     sword
    R_bottom    sword
Rectangle           ends

This is the standard structure for a rectangle in GEOS.

Library: graphics.def


RectDWFixed

RectDWFixed     struct
    RDWF_left       DWFixed
    RDWF_top        DWFixed
    RDWF_right      DWFixed
    RDWF_bottom     DWFixed
RectDWFixed     ends

Library: bitmap.def


RectDWord

RectDWord       struct
    RD_left         sdword
    RD_top          sdword
    RD_right        sdword
    RD_bottom       sdword
RectDWord       ends

This is the standard structure for a rectangle in extended coordinates.

Library: graphics.def


RectRegion

RectRegion          struct
    RR_y1M1     word
    RR_eo1      word EOREGREC
    RR_y2       word
    RR_x1       word
    RR_x2       word
    RR_eo2      word EOREGREC
    RR_eo3      word EOREGREC
RectRegion          ends

This structure stores a rectangular region.

Library: graphics.def


RectWWFixed

RectWWFixed     struct
    RWWF_left       WWFixed
    RWWF_top        WWFixed
    RWWF_right      WWFixed
    RWWF_bottom     WWFixed
RectWWFixed     ends

Library: grobj.def


RefElementHeader

RefElementHeader        struct
    REH_refCount            WordAndAHalf
RefElementHeader        ends

This structure defines a header for an element of a fixed size.

Library: chunkarr.def


Region

Region  struct
    R_data      word
Region  ends
EOREGREC        =   8000h

This structure stores a region of a graphics coordinate space. A region is of arbitrary length and consists of a series of word-length values.

Regions are described in terms of a rectangular array (thus the similarity to bitmaps). Instead of specifying an on/off value for each pixel, however, regions assume that the area will be fairly undetailed and that the data structure can thus be treated in the manner of a sparse array. Only the cells in which the color value of a row changes are recorded. The tricky part here is keeping in mind that when figuring out whether or not a row is the same as a previous row; the system works its way up from the bottom, so that you should compare each row with the row beneath it to determine whether it needs an entry.

The easiest region to describe is the null region, which is a special case described by a single word with the value EOREGREC (which stands for End Of REGion RECord value). Describing a non-null region requires several numbers.

The first four words of the region (starting with R_data) give the (rectangular) bounds of the region. What follows is a series of one or more numbers. Each word-length entry describes a row, specifying which pixels of that row are part of the region. The only rows which need to be described are those which are different

Library: graphics.def


RegionFillRule

RegionFillRule      etype byte
    RFR_ODD_EVEN    enum RegionFillRule     ; 0 = odd-even rule
    RFR_WINDING     enum RegionFillRule     ; 1 = winding rule

Library: graphics.def


ReleaseNumber

ReleaseNumber       struct
    RN_major            word
    RN_minor            word
    RN_change           word
    RN_engineering      word
ReleaseNumber       ends

This structure stores the release number (version) of a file, document or geode.

RN_major stores the major release number. Different major release numbers signify a considerable version difference.

RN_minor stores the minor release version. Different minor release numbers typically mean a minor version “tweaking” of the system.

RN_change and RN_engineering are internal release numbers that should not need to be examined or changed.

Library: geode.def


ReplaceAllFromOffsetFlags

ReplaceAllFromOffsetFlags           record
    RAFOF_CONTINUING_REPLACE    :1
    RAFOF_HAS_UNDO              :1
                                :14
ReplaceAllFromOffsetFlags           end

RAFOF_CONTINUING_REPLACE
Set if this message was generated to continue a replace all sent to a different object.

RAFOF_HAS_UNDO
Set if this action will be undoable - mainly used for error-checking, to ensure that all objects involved in a ReplaceAll are undoable.

Library: Objects/vTextC.def


ReplaceAllFromOffsetStruct

ReplaceAllFromOffsetStruct          struct
    RAFOS_data              hptr.SearchReplaceStruct
    RAFOS_startOffset       dword
    RAFOS_flags             ReplaceAllFromOffsetFlags
ReplaceAllFromOffsetStruct          ends

RAFOS_data stores a pointer to the replace-all data. The data is organized in the following format: SearchReplaceStruct<>
data - Null-Terminated Search string
data - Null-Terminated Replace string
Note: The sender of this message is responsible for freeing the passed SearchReplaceStruct.

RAFOS_startOffset stores the offset in this object to begin the replace all operation.

RAFOS_flags stores flags that are set internally by the text object; do not set them.

Library: Objects/vTextC.def


ReplaceAllInRangeStruct

ReplaceAllInRangeStruct         struct
    RAIRS_data          hptr.SearchReplaceStruct
    RAIRS_range         VisTextRange <>
ReplaceAllInRangeStruct         ends

RAIRS_data stores a pointer to the replace-all data. The data is organized in the following format: SearchReplaceStruct<>
data - Null-Terminated Search string
data - Null-Terminated Replace string
Note: The sender of this message is responsible for freeing the passed SearchReplaceStruct.

Library: Objects/vTextC.def


ReplaceItemMonikerFlags

ReplaceItemMonikerFlags         record
    RIMF_NOT_ENABLED        :1
                            :15
ReplaceItemMonikerFlags         end

RIMF_NOT_ENABLED
Ensure that the item we are setting the moniker for will be disabled while visible.

Library: Objects/gDListC.def


ReplaceItemMonikerFrame

ReplaceItemMonikerFrame         struct
    RIMF_source         dword
    RIMF_sourceType     VisMonikerSourceType
    even
    RIMF_dataType       VisMonikerDataType
    even
    RIMF_length         word
    RIMF_width          word
    RIMF_height         word
    RIMF_itemFlags      ReplaceItemMonikerFlags
    RIMF_item           word
ReplaceItemMonikerFrame         ends

RIMF_source stores a pointer to the source moniker. This pointer may be an optr, hptr, or fptr, depending on the RIMF_sourceType.

RIMF_sourceType defines the type of pointer contained in RIMF_source.

RIMF_dataType defines whether the source is a VisMoniker, text string, graphics string, or GeodeToken.

RIMF_length stores the size (in bytes) of the source. (This value is not used for VMST_OPTR.) If the data type is VMDT_TEXT and RIMF_length is 0, the text is assumed to be null-terminated. If the data type is VMDT_GSTRING and RIMF_length is 0, the length of the gstring is computed by scanning the gstring.

RIMF_width stores the width of the graphics string if the data type is VMDT_GSTRING. If 0, the width of the gstring is computed by scanning the gstring.

RIMF_height stores the height of the graphics string if the data type is VMDT_GSTRING. If 0, the height of the gstring is computed by scanning the gstring.

RIMF_itemFlags stores the item flags for the function.

RIMF_item stores the position of the item whose moniker you’re setting.

Library: Objects/gDListC.def


ReplaceVisMonikerFrame

ReplaceVisMonikerFrame          struct
    RVMF_source             dword
    RVMF_sourceType         VisMonikerSourceType
    even
    RVMF_dataType           VisMonikerDataType
    even
    RVMF_length             word
    RVMF_width              word
    RVMF_height             word
    RVMF_updateMode         VisUpdateMode
    even
ReplaceVisMonikerFrame          ends

This structure is used by MSG_GEN_REPLACE_VIS_MONIKER to store the parameters used in that operation.

RVMF_source stores a pointer to the source moniker. This pointer may be an optr, hptr, or fptr, depending on the RVMF_sourceType.

RVMF_sourceType defines the type of pointer contained in RVMF_source.

RVMF_dataType defines whether the source is a VisMoniker, text string, graphics string, or GeodeToken.

RVMF_length stores the size (in bytes) of the source. (This value is not used for VMST_OPTR.) If the data type is VMDT_TEXT and RVMF_length is 0, the text is assumed to be null-terminated. If the data type is VMDT_GSTRING and RVMF_length is 0, the length of the gstring is computed by scanning the gstring.

RVMF_width stores the width of the graphics string if the data type is VMDT_GSTRING. If 0, the width of the gstring is computed by scanning the gstring.

RVMF_height stores the height of the graphics string if the data type is VMDT_GSTRING. If 0, the height of the gstring is computed by scanning the gstring.

RVMF_updateMode stores the visual update mode to define when to show the new moniker.

Library: Objects/genC.def


ReplaceWithGraphicParams

ReplaceWithGraphicParams            struct
    RWGP_range              VisTextRange    ;range to replace
    RWGP_pasteFrame         word            ;ptr to frame if quick paste.
                                            ;0 otherwise.
    RWGP_sourceFile         word            ;source vm file
    RWGP_graphic            VisTextGraphic
ReplaceWithGraphicParams            ends

Library: Objects/vTextC.def


ReplaceWithHWRData

ReplaceWithHWRData      struct
    RWHWRD_range            VisTextRange <>
    RWHWRD_context          HWRContext <>
ReplaceWithHWRData      ends

RWHWRD_range stores the range to replace. This range may start beyond the end of the text. If so, spaces should be appended to the text.

RWHWRD_context stores the context in which the hand writing recognition data was added.

Library: Objects/gPenICC.def


RequestedViewArea

RequestedViewArea       etype byte
    RVA_NO_AREA_CHOICE  enum RequestedViewArea  ;no choice made here
    RVA_X_SCROLLER_AREA enum RequestedViewArea  ;put with x scroller
    RVA_Y_SCROLLER_AREA enum RequestedViewArea  ;put with y scroller
    RVA_LEFT_AREA       enum RequestedViewArea  ;put in left area
    RVA_TOP_AREA        enum RequestedViewArea  ;put in top area
    RVA_RIGHT_AREA      enum RequestedViewArea  ;put in right area
    RVA_BOTTOM_AREA     enum RequestedViewArea  ;put in bottom area

Library: Objects/genC.def


RGBDelta

RGBDelta        struct
    RGBD_red        sbyte
    RGBD_green      sbyte
    RGBD_blue       sbyte
RGBDelta        ends

Library: color.def


RGBValue

RGBValue        struct
    RGB_red         byte
    RGB_green       byte
    RGB_blue        byte
RGBValue        ends

Library: color.def


RGCFeatures

RGCFeatures     record
    RGCF_GRID_SPACING       :1
    RGCF_SNAP_TO_GRID       :1
    GRCF_SHOW_GRID          :1
RGCFeatures     end

Library: ruler.def


RowBlockList

RowBlockList        struct
    RBL_blocks          nptr N_ROW_BLOCKS dup (0)
RowBlockList        ends

Library: cell.def


RSCCFeatures

RSCCFeatures        record
    RSCCF_SHOW_VERTICAL         :1
    RSCCF_SHOW_HORIZONTAL       :1
    RSCCF_SHOW_RULERS           :1
RSCCFeatures        end

Library: ruler.def


RSCCToolboxFeatures

RSCCToolboxFeatures         record
RSCCToolboxFeatures         end

Library: ruler.def


RTCFeatures

RTCFeatures     record
    RTCF_DEFAULT        :1
    RTCF_SPREADSHEET    :1
    RTCF_INCHES         :1
    RTCF_CENTIMETERS    :1
    RTCF_POINTS         :1
    RTCF_PICAS          :1
RTCFeatures     end

Library: ruler.def


RTCToolboxFeatures

RTCToolboxFeatures      record
    RTCTF_DEFAULT           :1
    RTCTF_SPREADSHEET       :1
    RTCTF_INCHES            :1
    RTCTF_CENTIMETERS       :1
    RTCTF_POINTS            :1
    RTCTF_PICAS             :1
RTCToolboxFeatures      end

Library: ruler.def


RulerGridNotificationBlock

RulerGridNotificationBlock              struct
    RGNB_gridSpacing                WWFixed
    RGNB_gridOptions                GridOptions
RulerGridNotificationBlock              ends

Library: ruler.def


RulerGuideControlFeatures

RulerGuideControlFeatures           record
    RGCF_HV                 :1
    RGCF_LIST               :1
    RGCF_POSITION           :1
    RGCF_DELETE             :1
RulerGuideControlFeatures           end

Library: ruler.def


RulerShowControlAttributes

RulerShowControlAttributes              record
    RSCA_SHOW_VERTICAL              :1
    RSCA_SHOW_HORIZONTAL            :1
                                    :14
RulerShowControlAttributes              end

Library: ruler.def


RulerTypeNotificationBlock

RulerTypeNotificationBlock          struct
    RTNB_type       VisRulerType
RulerTypeNotificationBlock          ends

Library: ruler.def


RulerViewAttributes

RulerViewAttributes         record
    RVA_HORIZONTAL      :1
                        :7
RulerViewAttributes         end

Library: ruler.def

Structures H-M <– Table of Contents    –> Structures S-S