diff options
author | Benjamin Otte <otte@redhat.com> | 2019-03-01 06:48:30 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2019-03-04 23:15:24 +0100 |
commit | 791bf0c2eb4b458f6f0ff9765e9fa52bbd9e6950 (patch) | |
tree | 9b56aa2acecab6af3e7ffc817fd7dd4e303ddf42 /gsk | |
parent | 3a3c2d14abb57ba56a30be83a7194a24a986f5c5 (diff) | |
download | gtk+-791bf0c2eb4b458f6f0ff9765e9fa52bbd9e6950.tar.gz |
transform: Remove API to poke internals
It is not interesting to users of GskTransform how it is made up
internally. Users should just use the gsk_transform_to_*() APIs.
Diffstat (limited to 'gsk')
-rw-r--r-- | gsk/gsktransform.c | 82 | ||||
-rw-r--r-- | gsk/gsktransform.h | 14 |
2 files changed, 21 insertions, 75 deletions
diff --git a/gsk/gsktransform.c b/gsk/gsktransform.c index 788a58de26..555af72294 100644 --- a/gsk/gsktransform.c +++ b/gsk/gsktransform.c @@ -39,8 +39,6 @@ typedef struct _GskTransformClass GskTransformClass; -#define GSK_IS_TRANSFORM_TYPE(self,type) ((self) == NULL ? (type) == GSK_TRANSFORM_TYPE_IDENTITY : (self)->transform_class->transform_type == (type)) - struct _GskTransform { const GskTransformClass *transform_class; @@ -51,7 +49,6 @@ struct _GskTransform struct _GskTransformClass { - GskTransformType transform_type; gsize struct_size; const char *type_name; @@ -93,25 +90,8 @@ G_DEFINE_BOXED_TYPE (GskTransform, gsk_transform, gsk_transform_ref, gsk_transform_unref) -/*<private> - * gsk_transform_is_identity: - * @transform: (allow-none): A transform or %NULL - * - * Checks if the transform is a representation of the identity - * transform. - * - * This is different from a transform like `scale(2) scale(0.5)` - * which just results in an identity transform when simplified. - * - * Returns: %TRUE if this transform is a representation of - * the identity transform - **/ static gboolean -gsk_transform_is_identity (GskTransform *self) -{ - return self == NULL || - (GSK_IS_TRANSFORM_TYPE (self, GSK_TRANSFORM_TYPE_IDENTITY) && gsk_transform_is_identity (self->next)); -} +gsk_transform_is_identity (GskTransform *self); /*< private > * gsk_transform_alloc: @@ -210,7 +190,6 @@ gsk_identity_transform_equal (GskTransform *first_transform, static const GskTransformClass GSK_IDENTITY_TRANSFORM_CLASS = { - GSK_TRANSFORM_TYPE_IDENTITY, sizeof (GskTransform), "GskIdentityMatrix", gsk_identity_transform_finalize, @@ -224,6 +203,26 @@ static const GskTransformClass GSK_IDENTITY_TRANSFORM_CLASS = gsk_identity_transform_equal, }; +/*<private> + * gsk_transform_is_identity: + * @transform: (allow-none): A transform or %NULL + * + * Checks if the transform is a representation of the identity + * transform. + * + * This is different from a transform like `scale(2) scale(0.5)` + * which just results in an identity transform when simplified. + * + * Returns: %TRUE if this transform is a representation of + * the identity transform + **/ +static gboolean +gsk_transform_is_identity (GskTransform *self) +{ + return self == NULL || + (self->transform_class == &GSK_IDENTITY_TRANSFORM_CLASS && gsk_transform_is_identity (self->next)); +} + /** * gsk_transform_identity: * @next: (allow-none): the next transform operation or %NULL @@ -406,7 +405,6 @@ gsk_matrix_transform_equal (GskTransform *first_transform, static const GskTransformClass GSK_TRANSFORM_TRANSFORM_CLASS = { - GSK_TRANSFORM_TYPE_TRANSFORM, sizeof (GskMatrixTransform), "GskMatrixTransform", gsk_matrix_transform_finalize, @@ -582,7 +580,6 @@ gsk_translate_transform_print (GskTransform *transform, static const GskTransformClass GSK_TRANSLATE_TRANSFORM_CLASS = { - GSK_TRANSFORM_TYPE_TRANSLATE, sizeof (GskTranslateTransform), "GskTranslateTransform", gsk_translate_transform_finalize, @@ -752,7 +749,6 @@ gsk_rotate_transform_print (GskTransform *transform, static const GskTransformClass GSK_ROTATE_TRANSFORM_CLASS = { - GSK_TRANSFORM_TYPE_ROTATE, sizeof (GskRotateTransform), "GskRotateTransform", gsk_rotate_transform_finalize, @@ -945,7 +941,6 @@ gsk_scale_transform_print (GskTransform *transform, static const GskTransformClass GSK_SCALE_TRANSFORM_CLASS = { - GSK_TRANSFORM_TYPE_SCALE, sizeof (GskScaleTransform), "GskScaleTransform", gsk_scale_transform_finalize, @@ -1108,41 +1103,6 @@ gsk_transform_to_string (GskTransform *self) } /** - * gsk_transform_get_transform_type: - * @self: (allow-none): a #GskTransform - * - * Returns the type of the @self. - * - * Returns: the type of the #GskTransform - */ -GskTransformType -gsk_transform_get_transform_type (GskTransform *self) -{ - if (self == NULL) - return GSK_TRANSFORM_TYPE_IDENTITY; - - return self->transform_class->transform_type; -} - -/** - * gsk_transform_get_next: - * @self: (allow-none): a #GskTransform - * - * Gets the rest of the matrix in the chain of operations. - * - * Returns: (transfer none) (nullable): The next transform or - * %NULL if this was the last operation. - **/ -GskTransform * -gsk_transform_get_next (GskTransform *self) -{ - if (self == NULL) - return NULL; - - return self->next; -} - -/** * gsk_transform_to_matrix: * @self: (allow-none): a #GskTransform * @out_matrix: (out caller-allocates): The matrix to set diff --git a/gsk/gsktransform.h b/gsk/gsktransform.h index fd3dd7a2e1..78aeb55975 100644 --- a/gsk/gsktransform.h +++ b/gsk/gsktransform.h @@ -31,15 +31,6 @@ G_BEGIN_DECLS #define GSK_TYPE_TRANSFORM (gsk_transform_get_type ()) -typedef enum -{ - GSK_TRANSFORM_TYPE_IDENTITY, - GSK_TRANSFORM_TYPE_TRANSFORM, - GSK_TRANSFORM_TYPE_TRANSLATE, - GSK_TRANSFORM_TYPE_ROTATE, - GSK_TRANSFORM_TYPE_SCALE -} GskTransformType; - GDK_AVAILABLE_IN_ALL GType gsk_transform_get_type (void) G_GNUC_CONST; @@ -117,11 +108,6 @@ void gsk_transform_transform_bounds (GskTransform const graphene_rect_t *rect, graphene_rect_t *out_rect); -GDK_AVAILABLE_IN_ALL -GskTransformType gsk_transform_get_transform_type (GskTransform *self) G_GNUC_PURE; -GDK_AVAILABLE_IN_ALL -GskTransform * gsk_transform_get_next (GskTransform *self) G_GNUC_PURE; - G_END_DECLS #endif /* __GSK_TRANSFORM_H__ */ |