[ Previous | Next | Contents | Glossary | Home | Search ]
The graPHIGS Programming Interface : Subroutine Reference

GPMTR - Set Marker Type Representation

GPMTR (wsid, mtype, format, length, data)

Purpose

Use GPMTR to set a two-dimensional pattern representation that defines a marker in the workstation's marker type table. The Set Marker Type (GPMT) subroutine specifies a marker type entry. This entry selects a marker pattern your application applies to subsequent markers.

Marker type table entry 3 cannot be changed. It always defines the asterisk marker.

Parameters

wsid -- specified by user, fullword integer

Workstation identifier.

mtype -- specified by user, fullword integer

Marker type table index (>=1, <>3)

format -- specified by user, fullword integer

Format (1=VECTOR )

length -- specified by user, fullword integer

Length of entire marker pattern definition data (even integer >=8 ) in bytes.

data -- specified by user, variable data

Marker pattern definition data. This parameter must have the following format:

Format 1=graPHIGS VECTOR FONT

      ------------------
    0 |      flag      | halfword integer
      |----------------|
    2 |    reserved    | halfword integer
      |----------------|
    4 |  top  | bottom | two 8-bit signed integer
      |----------------|
    6 | right |  left  | two 8-bit signed integer
      |----------------|
    8 |   draw/move    | two 8-bit strings (2 unsigned characters)
      |----------------|
   10 |   draw/move    |
      /                /
      /                /
      |                |
      ------------------
Each field specifies:

flag

    0       1                       15
    -----------------------------------
    | fill |        reserved          |
    | flag |                          |
    -----------------------------------
If the fill flag=1, and the workstation supports filled characters, then the marker will be filled.

reserved

Must be 0.

top, bottom, right, left

Four 8-bit signed integers specifying the marker rectangle measured from the origin. The marker definition must be within this rectangle (top > bottom, right > left)
          ------------- ^
          |     |     | | top
          |-----------| 
          |     |     | | bottom
          ------------- v 
          <----   ----> 
           left   right

draw/move

A pair of 8-bit unsigned characters specifying a relative draw/move starting from the origin (the marker position) with the format sxxxxxx1 and syyyyyyb, where s is sign bit and b is blank bit. When the blank bit=1, then the sxxxxxx and syyyyyy strings specify a relative move; otherwise, they specify a relative draw. A workstation which supports scalable markers uses this maker definition format. The graPHIGS API maps the specified marker box height (top-bottom) to the nominal marker size of the workstation. The total data size cannot exceed the maximum marker pattern size supported by the workstation.

Error Codes

25
SPECIFIED WORKSTATION DOES NOT EXIST
35
WORKSTATION HAS ONLY INPUT CAPABILITIES
61
LENGTH IS INVALID
69
MARKER TYPE VALUE < ONE
70
SPECIFIED MARKER TYPE NOT AVAILABLE ON WORKSTATION
71
FIELD IN DEFINITION DATA IS INVALID
274
THIS FUNCTION IS NOT SUPPORTED BY THE WORKSTATION
275
SPECIFIED ENTRY CANNOT BE CHANGED
276
DEFINITION DATA FORMAT IS NOT SUPPORTED
277
DEFINITION DATA EXCEEDS THE WORKSTATION TABLE CAPACITY

Related Subroutines

GPMT
Set Marker Type
GPQMTF
Inquire Marker Type Facilities
GPQMTR
Inquire Marker Type Representation
GPQXTX
Inquire Extended Text Facilities

RCP code

201329424 (X'0C000B10')


[ Previous | Next | Contents | Glossary | Home | Search ]