From eda1ad74ff729303a25088b90eff2bc9f6d857f2 Mon Sep 17 00:00:00 2001 From: Nicola Fontana Date: Wed, 23 Sep 2009 15:10:41 +0200 Subject: [PATCH] [ADG] Added AdgTransformationMode enum An enum used to apply a transformation on a matrix that specifies how this transformation should be applied. --- adg/adg-enums.c | 19 +++++++++++++++++++ adg/adg-enums.h | 8 ++++++++ 2 files changed, 27 insertions(+) diff --git a/adg/adg-enums.c b/adg/adg-enums.c index ef200255..e972dede 100644 --- a/adg/adg-enums.c +++ b/adg/adg-enums.c @@ -39,3 +39,22 @@ * user when a boolean is requested but also an indefinite / default * state should be caught. **/ + +/** + * AdgTransformationMode: + * @ADG_TRANSFORM_NONE: do not apply any transformation + * @ADG_TRANSFORM_BEFORE: apply the transformation before the matrix using + * cairo_matrix_multiply(matrix, matrix, transformation) + * @ADG_TRANSFORM_AFTER: apply the transformation after the matrix using + * cairo_matrix_multiply(matrix, transformation, matrix) + * @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 + * + * Specifies the mode a generic transformation should be applied on + * a subject matrix. Although used in different places, the function + * performing the dirty work is always adg_matrix_transform(). + **/ diff --git a/adg/adg-enums.h b/adg/adg-enums.h index 9aae6432..7f346891 100644 --- a/adg/adg-enums.h +++ b/adg/adg-enums.h @@ -32,6 +32,14 @@ typedef enum { ADG_THREE_STATE_UNKNOWN } AdgThreeState; +typedef enum { + ADG_TRANSFORM_NONE, + ADG_TRANSFORM_BEFORE, + ADG_TRANSFORM_AFTER, + ADG_TRANSFORM_BEFORE_NORMALIZED, + ADG_TRANSFORM_AFTER_NORMALIZED +} AdgTransformationMode; + G_END_DECLS -- 2.11.4.GIT