Standard enumerations

Standard enumerations — Public enumerated types used throughout ADG

Synopsis

enum                AdgMixMethod;
enum                AdgProjectionScheme;
enum                AdgThreeState;
enum                AdgTransformMode;

Description

All the enumerations are available in GType notation, and so are the standard type macros.

Details

enum AdgMixMethod

typedef enum {
    ADG_MIX_UNDEFINED,
    ADG_MIX_DISABLED,
    ADG_MIX_NONE,
    ADG_MIX_ANCESTORS,
    ADG_MIX_ANCESTORS_NORMALIZED,
    ADG_MIX_PARENT,
    ADG_MIX_PARENT_NORMALIZED
} AdgMixMethod;

Specifies how the maps of an AdgEntity instance and its ancestors should be combined to get the matrix. The full logic is implemented by the "local-changed" default handler to compute the local matrix, while the global matrix is always computed using the ADG_MIX_ANCESTORS method.

ADG_MIX_UNDEFINED

undefined method, mainly used to return an error condition

ADG_MIX_DISABLED

the maps are completely ignored: the matrix is always set to the identity matrix

ADG_MIX_NONE

the matrix is set to the entity map

ADG_MIX_ANCESTORS

sequentially apply every map on the matrix using ADG_TRANSFORM_BEFORE AdgTransformMode, starting from the elder ancestor in the hierarchy (probably an AdgCanvas) up to the current entity

ADG_MIX_ANCESTORS_NORMALIZED

perform the same operations as ADG_MIX_ANCESTORS but normalize the resulting matrix with adg_matrix_normalize() before returning it

ADG_MIX_PARENT

similar to ADG_MIX_ANCESTORS but taking into account only the parent and ignoring any other ancestors; if the entity has no parent, it returns the entity map as in ADG_MIX_NONE

ADG_MIX_PARENT_NORMALIZED

perform the same operations as ADG_MIX_PARENT but normalize the resulting matrix with adg_matrix_normalize() before returning it

Since 1.0


enum AdgProjectionScheme

typedef enum {
    ADG_PROJECTION_UNDEFINED,
    ADG_PROJECTION_FIRST_ANGLE,
    ADG_PROJECTION_THIRD_ANGLE
} AdgProjectionScheme;

Specifies how the views are positioned relative to each other.

ADG_PROJECTION_UNDEFINED

there is a single view or the views are not related with a consistent scheme

ADG_PROJECTION_FIRST_ANGLE

the views are generated as if the object were sitting on the paper and, from the front view, it is rolled to the right to show the left side or rolled up to show its bottom

ADG_PROJECTION_THIRD_ANGLE

the views are generated as if the object were a box to be unfolded

Since 1.0


enum AdgThreeState

typedef enum {
    ADG_THREE_STATE_OFF,
    ADG_THREE_STATE_ON,
    ADG_THREE_STATE_UNKNOWN
} AdgThreeState;

A generic three state flags to be used whenever needed. Could be user when a boolean is requested but also an indefinite / default state should be caught.

ADG_THREE_STATE_OFF

disabled, switched off, disactive

ADG_THREE_STATE_ON

enabled, switched on, active

ADG_THREE_STATE_UNKNOWN

unknown / indefinite / automatic state

Since 1.0


enum AdgTransformMode

typedef enum {
    ADG_TRANSFORM_NONE,
    ADG_TRANSFORM_BEFORE,
    ADG_TRANSFORM_AFTER,
    ADG_TRANSFORM_BEFORE_NORMALIZED,
    ADG_TRANSFORM_AFTER_NORMALIZED
} AdgTransformMode;

Specifies the mode a generic transformation should be applied on a matrix. Although used in different places, the function performing the dirty work is always adg_matrix_transform().

ADG_TRANSFORM_NONE

do not apply any transformation: the matrix is returned unchanged

ADG_TRANSFORM_BEFORE

apply the transformation before the matrix: the result is equivalent to cairo_matrix_multiply(matrix, transformation, matrix)

ADG_TRANSFORM_AFTER

apply the transformation after the matrix: the result is equivalent to cairo_matrix_multiply(matrix, matrix, transformation)

ADG_TRANSFORM_BEFORE_NORMALIZED

same as ADG_TRANSFORM_BEFORE but normalizing the transformation with adg_matrix_normalize() before applying it

ADG_TRANSFORM_AFTER_NORMALIZED

same as ADG_TRANSFORM_AFTER but normalizing the transformation with adg_matrix_normalize() before applying it

Since 1.0