value of a property is a union which can store an unsigned integer,
a real number, a string or a pointer. The type of the property determines which
of the possibilities is used. The subtype provides a more subtle differentiation
of property values within the data type – it defines the semantics and allowed values
for the property, which is used mainly by the GUI.
Currently, VRR supports these property types and subtypes:
PTU_BOOLEAN– a logical value, zero or one.
PTU_FONT– a font ID. See Property font.
PTU_CONIC_TYPE_3P– values of the “conic” property for elliptic arcs with zero, one, two or three points on the perimeter. See Property conic.
PTU_CAP_STYLE– the line cap style, one of
PTU_ALIGNMENT_Y– alignment values for a text and TeX-text object. See Texts.
PTU_ARROW_ALIGN– arrow appearance values. See Arrow.
PTU_COLOR– a RGBA color coded into one 32-bit number.
PTU_UNSPECIFIED– any other unsigned integer value.
PTR_COORDINATE– a coordinate in millimeters.
PTR_ANGLE_PI– an angle in radians of value within .
PTR_ANGLE_2PI– an angle in radians of value within .
PTR_ANGLE_4PI– an angle in radians of value within .
PTR_NON_NEGATIVE– any non-negative real number.
PTR_REFERENCE– a number within .
PTR_UNSPECIFIED– any other real number.
PT_STRINGis stored in our
PTS_LARGE_TEXT– a large text. This is used mainly for source texts of text or TeX-text objects.
PT_POINTERis used internally for various data which do not fit into the standard property value.
PTP_TRANSFORM– a transformation matrix.
PTP_TEX_PROCESS– data for storing TeX output.
An object cannot contain two or more property entries with the same key identifier. If you try to set a property with the same key, type and subtype as those of an existing one, the original property is rewritten. If the key is the same but the type or subtype does not match, the attempt causes a transaction fail.