Synopsis

#include <adg-1/adg.h>

enum                AdgThreeState;
enum                AdgTransformMode;
enum                AdgMix;
enum                AdgProjectionScheme;
enum                AdgDress;

Description

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

Details

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


enum AdgMix

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
} AdgMix;

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_SCHEME_UNDEFINED,
    ADG_PROJECTION_SCHEME_FIRST_ANGLE,
    ADG_PROJECTION_SCHEME_THIRD_ANGLE
} AdgProjectionScheme;

Specifies how the views are positioned relative to each other.

ADG_PROJECTION_SCHEME_UNDEFINED

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

ADG_PROJECTION_SCHEME_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_SCHEME_THIRD_ANGLE

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

Since 1.0


enum AdgDress

typedef enum {
    ADG_DRESS_UNDEFINED,
    ADG_DRESS_COLOR,
    ADG_DRESS_COLOR_BACKGROUND,
    ADG_DRESS_COLOR_STROKE,
    ADG_DRESS_COLOR_DIMENSION,
    ADG_DRESS_COLOR_ANNOTATION,
    ADG_DRESS_COLOR_FILL,
    ADG_DRESS_COLOR_AXIS,
    ADG_DRESS_COLOR_HIDDEN,
    ADG_DRESS_LINE,
    ADG_DRESS_LINE_STROKE,
    ADG_DRESS_LINE_DIMENSION,
    ADG_DRESS_LINE_FILL,
    ADG_DRESS_LINE_GRID,
    ADG_DRESS_LINE_FRAME,
    ADG_DRESS_LINE_AXIS,
    ADG_DRESS_LINE_HIDDEN,
    ADG_DRESS_FONT,
    ADG_DRESS_FONT_TEXT,
    ADG_DRESS_FONT_ANNOTATION,
    ADG_DRESS_FONT_QUOTE_TEXT,
    ADG_DRESS_FONT_QUOTE_ANNOTATION,
    ADG_DRESS_DIMENSION,
    ADG_DRESS_FILL,
    ADG_DRESS_FILL_HATCH,
    ADG_DRESS_TABLE
} AdgDress;

An index representing a virtual AdgStyle. The ADG comes equipped with some built-in dress.

ADG_DRESS_UNDEFINED

undefined dress, used for notifying invalid dresses.

ADG_DRESS_COLOR

default built-in color. This is a pass-through dress, that is it does not change the cairo context when it is applied. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_BACKGROUND

default built-in color to be used as the AdgCanvas background. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_STROKE

default built-in color for AdgStroke entities. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_DIMENSION

built-in color used by default in AdgDimStyle. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_ANNOTATION

built-in color used for rendering helper entities such as AdgToyText, AdgTable and AdgTitleBlock. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_FILL

built-in color used by default by AdgFillStyle based styles. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_AXIS

default built-in color for stroking ADG_DRESS_LINE_AXIS lines. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_COLOR_HIDDEN

default built-in color for stroking ADG_DRESS_LINE_HIDDEN lines. This dress will be resolved to an AdgColorStyle instance.

ADG_DRESS_LINE

default built-in line. This is a pass-through dress, that is it does not change the cairo context when it is applied. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_STROKE

built-in line type to be used by default for rendering AdgStroke entities. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_DIMENSION

built-in line type used by default for rendering base and extension lines of dimensions. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_FILL

built-in line type used by AdgFillStyle. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_GRID

built-in line type used for rendering the grid of AdgTable entities, that is the frame of the cells. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_FRAME

built-in line type used for rendering the frame of AdgTable entities, that is the frame around the whole table. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_AXIS

built-in line type used for rendering axis and centerlines. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_LINE_HIDDEN

built-in line type used for rendering hidden lines and edges. This dress will be resolved to an AdgLineStyle instance.

ADG_DRESS_FONT

default built-in font. This dress will be resolved to an AdgFontStyle instance.

ADG_DRESS_FONT_TEXT

built-in font used by default for rendering common text such as AdgToyText or the value of AdgTable entities. This dress will be resolved to an AdgFontStyle instance.

ADG_DRESS_FONT_ANNOTATION

built-in font used for rendering auxiliary text, such as the titles on AdgTable entities. This dress will be resolved to an AdgFontStyle instance.

ADG_DRESS_FONT_QUOTE_TEXT

built-in font used for rendering regular text on dimension entities, such as the nominal value and the notes of a quote. This dress will be resolved to an AdgFontStyle instance.

ADG_DRESS_FONT_QUOTE_ANNOTATION

built-in font used for rendering auxiliary text on dimension entities, such as the min and max limits of a quote. This dress will be resolved to an AdgFontStyle instance.

ADG_DRESS_DIMENSION

default built-in for dimensions. This dress will be resolved to an AdgDimStyle instance.

ADG_DRESS_FILL

default built-in for filling. This is a pass-through dress, that is it does not change the cairo context when it is applied. This dress will be resolved to an AdgFillStyle derived instance.

ADG_DRESS_FILL_HATCH

built-in dress used by default by AdgHatch instances. This dress will be resolved to an AdgFillStyle derived instance.

ADG_DRESS_TABLE

default built-in for tables. This dress will be resolved to an AdgTableStyle derived instance.

Since 1.0