From dc9c1f898384f9b449486896dde5ff6a995f9bea Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Tue, 8 Sep 2020 21:14:39 -0300 Subject: [PATCH] Remove ClutterMatrix Good bye. You won't be missed. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1439 --- clutter/clutter/clutter-actor.c | 88 ++++---- clutter/clutter/clutter-actor.h | 10 +- clutter/clutter/clutter-autocleanups.h | 1 - clutter/clutter/clutter-base-types.c | 189 ------------------ clutter/clutter/clutter-pan-action.c | 2 +- clutter/clutter/clutter-private.h | 23 +-- clutter/clutter/clutter-scroll-actor.c | 2 +- clutter/clutter/clutter-types.h | 19 -- clutter/clutter/clutter-util.c | 20 +- src/tests/clutter/conform/actor-pivot-point.c | 4 +- 10 files changed, 71 insertions(+), 287 deletions(-) diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index da610f4cf..b689bf033 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -1068,10 +1068,10 @@ static inline void clutter_actor_set_margin_internal (ClutterActor *self, gfloat margin, GParamSpec *pspec); -static void clutter_actor_set_transform_internal (ClutterActor *self, - const ClutterMatrix *transform); -static void clutter_actor_set_child_transform_internal (ClutterActor *self, - const ClutterMatrix *transform); +static void clutter_actor_set_transform_internal (ClutterActor *self, + const CoglMatrix *transform); +static void clutter_actor_set_child_transform_internal (ClutterActor *self, + const CoglMatrix *transform); static void clutter_actor_realize_internal (ClutterActor *self); static void clutter_actor_unrealize_internal (ClutterActor *self); @@ -3053,8 +3053,8 @@ clutter_actor_get_abs_allocation_vertices (ClutterActor *self, } static void -clutter_actor_real_apply_transform (ClutterActor *self, - ClutterMatrix *matrix) +clutter_actor_real_apply_transform (ClutterActor *self, + CoglMatrix *matrix) { ClutterActorPrivate *priv = self->priv; const ClutterTransformInfo *info; @@ -3085,10 +3085,10 @@ clutter_actor_real_apply_transform (ClutterActor *self, const ClutterTransformInfo *parent_info; parent_info = _clutter_actor_get_transform_info_or_defaults (priv->parent); - clutter_matrix_init_from_matrix (matrix, &(parent_info->child_transform)); + cogl_matrix_init_from_matrix (matrix, &(parent_info->child_transform)); } else - clutter_matrix_init_identity (matrix); + cogl_matrix_init_identity (matrix); /* if we have an overriding transformation, we use that, and get out */ if (info->transform_set) @@ -3146,8 +3146,8 @@ roll_back_pivot: /* Applies the transforms associated with this actor to the given * matrix. */ void -_clutter_actor_apply_modelview_transform (ClutterActor *self, - ClutterMatrix *matrix) +_clutter_actor_apply_modelview_transform (ClutterActor *self, + CoglMatrix *matrix) { ClutterActorPrivate *priv = self->priv; @@ -3167,7 +3167,7 @@ out: * @self: The actor whose coordinate space you want to transform from. * @ancestor: The ancestor actor whose coordinate space you want to transform too * or %NULL if you want to transform all the way to eye coordinates. - * @matrix: A #ClutterMatrix to apply the transformation too. + * @matrix: A #CoglMatrix to apply the transformation too. * * This multiplies a transform with @matrix that will transform coordinates * from the coordinate space of @self into the coordinate space of @ancestor. @@ -4432,9 +4432,9 @@ static const ClutterTransformInfo default_transform_info = { GRAPHENE_POINT_INIT_ZERO, /* pivot */ 0.f, /* pivot-z */ - CLUTTER_MATRIX_INIT_IDENTITY, + COGL_MATRIX_INIT_IDENTITY, FALSE, /* transform */ - CLUTTER_MATRIX_INIT_IDENTITY, + COGL_MATRIX_INIT_IDENTITY, FALSE, /* child-transform */ }; @@ -5456,7 +5456,7 @@ clutter_actor_get_property (GObject *object, case PROP_TRANSFORM: { - ClutterMatrix m; + CoglMatrix m; clutter_actor_get_transform (actor, &m); g_value_set_boxed (value, &m); @@ -5474,7 +5474,7 @@ clutter_actor_get_property (GObject *object, case PROP_CHILD_TRANSFORM: { - ClutterMatrix m; + CoglMatrix m; clutter_actor_get_child_transform (actor, &m); g_value_set_boxed (value, &m); @@ -6865,7 +6865,7 @@ clutter_actor_class_init (ClutterActorClass *klass) * * Application code should rarely need to use this function directly. * - * Setting this property with a #ClutterMatrix will set the + * Setting this property with a #CoglMatrix will set the * #ClutterActor:transform-set property to %TRUE as a side effect; * setting this property with %NULL will set the * #ClutterActor:transform-set property to %FALSE. @@ -6878,7 +6878,7 @@ clutter_actor_class_init (ClutterActorClass *klass) g_param_spec_boxed ("transform", P_("Transform"), P_("Transformation matrix"), - CLUTTER_TYPE_MATRIX, + COGL_GTYPE_TYPE_MATRIX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | CLUTTER_PARAM_ANIMATABLE); @@ -6903,7 +6903,7 @@ clutter_actor_class_init (ClutterActorClass *klass) * * Applies a transformation matrix on each child of an actor. * - * Setting this property with a #ClutterMatrix will set the + * Setting this property with a #CoglMatrix will set the * #ClutterActor:child-transform-set property to %TRUE as a side effect; * setting this property with %NULL will set the * #ClutterActor:child-transform-set property to %FALSE. @@ -6916,7 +6916,7 @@ clutter_actor_class_init (ClutterActorClass *klass) g_param_spec_boxed ("child-transform", P_("Child Transform"), P_("Children transformation matrix"), - CLUTTER_TYPE_MATRIX, + COGL_GTYPE_TYPE_MATRIX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | CLUTTER_PARAM_ANIMATABLE); @@ -14772,8 +14772,8 @@ clutter_actor_unset_flags (ClutterActor *self, } static void -clutter_actor_set_transform_internal (ClutterActor *self, - const ClutterMatrix *transform) +clutter_actor_set_transform_internal (ClutterActor *self, + const CoglMatrix *transform) { ClutterTransformInfo *info; gboolean was_set; @@ -14801,7 +14801,7 @@ clutter_actor_set_transform_internal (ClutterActor *self, /** * clutter_actor_set_transform: * @self: a #ClutterActor - * @transform: (allow-none): a #ClutterMatrix, or %NULL to + * @transform: (allow-none): a #CoglMatrix, or %NULL to * unset a custom transformation * * Overrides the transformations of a #ClutterActor with a custom @@ -14813,20 +14813,20 @@ clutter_actor_set_transform_internal (ClutterActor *self, * Since: 1.12 */ void -clutter_actor_set_transform (ClutterActor *self, - const ClutterMatrix *transform) +clutter_actor_set_transform (ClutterActor *self, + const CoglMatrix *transform) { const ClutterTransformInfo *info; - ClutterMatrix new_transform; + CoglMatrix new_transform; g_return_if_fail (CLUTTER_IS_ACTOR (self)); info = _clutter_actor_get_transform_info_or_defaults (self); if (transform != NULL) - clutter_matrix_init_from_matrix (&new_transform, transform); + cogl_matrix_init_from_matrix (&new_transform, transform); else - clutter_matrix_init_identity (&new_transform); + cogl_matrix_init_identity (&new_transform); _clutter_actor_create_transition (self, obj_props[PROP_TRANSFORM], &info->transform, @@ -14836,15 +14836,15 @@ clutter_actor_set_transform (ClutterActor *self, /** * clutter_actor_get_transform: * @self: a #ClutterActor - * @transform: (out caller-allocates): a #ClutterMatrix + * @transform: (out caller-allocates): a #CoglMatrix * * Retrieves the current transformation matrix of a #ClutterActor. * * Since: 1.12 */ void -clutter_actor_get_transform (ClutterActor *self, - ClutterMatrix *transform) +clutter_actor_get_transform (ClutterActor *self, + CoglMatrix *transform) { g_return_if_fail (CLUTTER_IS_ACTOR (self)); g_return_if_fail (transform != NULL); @@ -19383,8 +19383,8 @@ done: } static void -clutter_actor_set_child_transform_internal (ClutterActor *self, - const ClutterMatrix *transform) +clutter_actor_set_child_transform_internal (ClutterActor *self, + const CoglMatrix *transform) { ClutterTransformInfo *info = _clutter_actor_get_transform_info (self); ClutterActorIter iter; @@ -19392,7 +19392,7 @@ clutter_actor_set_child_transform_internal (ClutterActor *self, GObject *obj; gboolean was_set = info->child_transform_set; - clutter_matrix_init_from_matrix (&info->child_transform, transform); + cogl_matrix_init_from_matrix (&info->child_transform, transform); /* if it's the identity matrix, we need to toggle the boolean flag */ info->child_transform_set = !cogl_matrix_is_identity (transform); @@ -19414,7 +19414,7 @@ clutter_actor_set_child_transform_internal (ClutterActor *self, /** * clutter_actor_set_child_transform: * @self: a #ClutterActor - * @transform: (allow-none): a #ClutterMatrix, or %NULL + * @transform: (allow-none): a #CoglMatrix, or %NULL * * Sets the transformation matrix to be applied to all the children * of @self prior to their own transformations. The default child @@ -19427,20 +19427,20 @@ clutter_actor_set_child_transform_internal (ClutterActor *self, * Since: 1.12 */ void -clutter_actor_set_child_transform (ClutterActor *self, - const ClutterMatrix *transform) +clutter_actor_set_child_transform (ClutterActor *self, + const CoglMatrix *transform) { const ClutterTransformInfo *info; - ClutterMatrix new_transform; + CoglMatrix new_transform; g_return_if_fail (CLUTTER_IS_ACTOR (self)); info = _clutter_actor_get_transform_info_or_defaults (self); if (transform != NULL) - clutter_matrix_init_from_matrix (&new_transform, transform); + cogl_matrix_init_from_matrix (&new_transform, transform); else - clutter_matrix_init_identity (&new_transform); + cogl_matrix_init_identity (&new_transform); _clutter_actor_create_transition (self, obj_props[PROP_CHILD_TRANSFORM], &info->child_transform, @@ -19450,7 +19450,7 @@ clutter_actor_set_child_transform (ClutterActor *self, /** * clutter_actor_get_child_transform: * @self: a #ClutterActor - * @transform: (out caller-allocates): a #ClutterMatrix + * @transform: (out caller-allocates): a #CoglMatrix * * Retrieves the child transformation matrix set using * clutter_actor_set_child_transform(); if none is currently set, @@ -19459,8 +19459,8 @@ clutter_actor_set_child_transform (ClutterActor *self, * Since: 1.12 */ void -clutter_actor_get_child_transform (ClutterActor *self, - ClutterMatrix *transform) +clutter_actor_get_child_transform (ClutterActor *self, + CoglMatrix *transform) { const ClutterTransformInfo *info; @@ -19470,9 +19470,9 @@ clutter_actor_get_child_transform (ClutterActor *self, info = _clutter_actor_get_transform_info_or_defaults (self); if (info->child_transform_set) - clutter_matrix_init_from_matrix (transform, &info->child_transform); + cogl_matrix_init_from_matrix (transform, &info->child_transform); else - clutter_matrix_init_identity (transform); + cogl_matrix_init_identity (transform); } static void diff --git a/clutter/clutter/clutter-actor.h b/clutter/clutter/clutter-actor.h index b404dd635..0c750a7dc 100644 --- a/clutter/clutter/clutter-actor.h +++ b/clutter/clutter/clutter-actor.h @@ -257,7 +257,7 @@ struct _ClutterActorClass /* transformations */ void (* apply_transform) (ClutterActor *actor, - ClutterMatrix *matrix); + CoglMatrix *matrix); /* event signals */ gboolean (* event) (ClutterActor *actor, @@ -803,16 +803,16 @@ void clutter_actor_get_translation gfloat *translate_z); CLUTTER_EXPORT void clutter_actor_set_transform (ClutterActor *self, - const ClutterMatrix *transform); + const CoglMatrix *transform); CLUTTER_EXPORT void clutter_actor_get_transform (ClutterActor *self, - ClutterMatrix *transform); + CoglMatrix *transform); CLUTTER_EXPORT void clutter_actor_set_child_transform (ClutterActor *self, - const ClutterMatrix *transform); + const CoglMatrix *transform); CLUTTER_EXPORT void clutter_actor_get_child_transform (ClutterActor *self, - ClutterMatrix *transform); + CoglMatrix *transform); CLUTTER_EXPORT void clutter_actor_get_transformed_extents (ClutterActor *self, diff --git a/clutter/clutter/clutter-autocleanups.h b/clutter/clutter/clutter-autocleanups.h index a9d103e7c..1d5af5ef8 100644 --- a/clutter/clutter/clutter-autocleanups.h +++ b/clutter/clutter/clutter-autocleanups.h @@ -83,7 +83,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterZoomAction, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterActorBox, clutter_actor_box_free) G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterColor, clutter_color_free) G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterMargin, clutter_margin_free) -G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterMatrix, clutter_matrix_free) G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterPaintContext, clutter_paint_context_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterPaintNode, clutter_paint_node_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterPaintVolume, clutter_paint_volume_free) diff --git a/clutter/clutter/clutter-base-types.c b/clutter/clutter/clutter-base-types.c index ea2719c69..9825ba1f2 100644 --- a/clutter/clutter/clutter-base-types.c +++ b/clutter/clutter/clutter-base-types.c @@ -101,192 +101,3 @@ clutter_margin_free (ClutterMargin *margin_) G_DEFINE_BOXED_TYPE (ClutterMargin, clutter_margin, clutter_margin_copy, clutter_margin_free) - -/** - * ClutterMatrix: - * - * A type representing a 4x4 matrix. - * - * It is identicaly to #CoglMatrix. - * - * Since: 1.12 - */ - -static gpointer -clutter_matrix_copy (gpointer data) -{ - return cogl_matrix_copy (data); -} - -static gboolean -clutter_matrix_progress (const GValue *a, - const GValue *b, - gdouble progress, - GValue *retval) -{ - const ClutterMatrix *matrix1 = g_value_get_boxed (a); - const ClutterMatrix *matrix2 = g_value_get_boxed (b); - graphene_point3d_t scale1 = GRAPHENE_POINT3D_INIT (1.f, 1.f, 1.f); - float shear1[3] = { 0.f, 0.f, 0.f }; - graphene_point3d_t rotate1 = GRAPHENE_POINT3D_INIT_ZERO; - graphene_point3d_t translate1 = GRAPHENE_POINT3D_INIT_ZERO; - ClutterVertex4 perspective1 = { 0.f, 0.f, 0.f, 0.f }; - graphene_point3d_t scale2 = GRAPHENE_POINT3D_INIT (1.f, 1.f, 1.f); - float shear2[3] = { 0.f, 0.f, 0.f }; - graphene_point3d_t rotate2 = GRAPHENE_POINT3D_INIT_ZERO; - graphene_point3d_t translate2 = GRAPHENE_POINT3D_INIT_ZERO; - ClutterVertex4 perspective2 = { 0.f, 0.f, 0.f, 0.f }; - graphene_point3d_t scale_res = GRAPHENE_POINT3D_INIT (1.f, 1.f, 1.f); - float shear_res = 0.f; - graphene_point3d_t rotate_res = GRAPHENE_POINT3D_INIT_ZERO; - graphene_point3d_t translate_res = GRAPHENE_POINT3D_INIT_ZERO; - ClutterVertex4 perspective_res = { 0.f, 0.f, 0.f, 0.f }; - ClutterMatrix res; - - clutter_matrix_init_identity (&res); - - _clutter_util_matrix_decompose (matrix1, - &scale1, shear1, &rotate1, &translate1, - &perspective1); - _clutter_util_matrix_decompose (matrix2, - &scale2, shear2, &rotate2, &translate2, - &perspective2); - - /* perspective */ - _clutter_util_vertex4_interpolate (&perspective1, &perspective2, progress, &perspective_res); - res.wx = perspective_res.x; - res.wy = perspective_res.y; - res.wz = perspective_res.z; - res.ww = perspective_res.w; - - /* translation */ - graphene_point3d_interpolate (&translate1, &translate2, progress, &translate_res); - cogl_matrix_translate (&res, translate_res.x, translate_res.y, translate_res.z); - - /* rotation */ - graphene_point3d_interpolate (&rotate1, &rotate2, progress, &rotate_res); - cogl_matrix_rotate (&res, rotate_res.x, 1.0f, 0.0f, 0.0f); - cogl_matrix_rotate (&res, rotate_res.y, 0.0f, 1.0f, 0.0f); - cogl_matrix_rotate (&res, rotate_res.z, 0.0f, 0.0f, 1.0f); - - /* skew */ - shear_res = shear1[2] + (shear2[2] - shear1[2]) * progress; /* YZ */ - if (shear_res != 0.f) - _clutter_util_matrix_skew_yz (&res, shear_res); - - shear_res = shear1[1] + (shear2[1] - shear1[1]) * progress; /* XZ */ - if (shear_res != 0.f) - _clutter_util_matrix_skew_xz (&res, shear_res); - - shear_res = shear1[0] + (shear2[0] - shear1[0]) * progress; /* XY */ - if (shear_res != 0.f) - _clutter_util_matrix_skew_xy (&res, shear_res); - - /* scale */ - graphene_point3d_interpolate (&scale1, &scale2, progress, &scale_res); - cogl_matrix_scale (&res, scale_res.x, scale_res.y, scale_res.z); - - g_value_set_boxed (retval, &res); - - return TRUE; -} - -G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterMatrix, clutter_matrix, - clutter_matrix_copy, - clutter_matrix_free, - CLUTTER_REGISTER_INTERVAL_PROGRESS (clutter_matrix_progress)) - -/** - * clutter_matrix_alloc: - * - * Allocates enough memory to hold a #ClutterMatrix. - * - * Return value: (transfer full): the newly allocated #ClutterMatrix - * - * Since: 1.12 - */ -ClutterMatrix * -clutter_matrix_alloc (void) -{ - return g_new0 (ClutterMatrix, 1); -} - -/** - * clutter_matrix_free: - * @matrix: (allow-none): a #ClutterMatrix - * - * Frees the memory allocated by clutter_matrix_alloc(). - * - * Since: 1.12 - */ -void -clutter_matrix_free (ClutterMatrix *matrix) -{ - cogl_matrix_free (matrix); -} - -/** - * clutter_matrix_init_identity: - * @matrix: a #ClutterMatrix - * - * Initializes @matrix with the identity matrix, i.e.: - * - * |[ - * .xx = 1.0, .xy = 0.0, .xz = 0.0, .xw = 0.0 - * .yx = 0.0, .yy = 1.0, .yz = 0.0, .yw = 0.0 - * .zx = 0.0, .zy = 0.0, .zz = 1.0, .zw = 0.0 - * .wx = 0.0, .wy = 0.0, .wz = 0.0, .ww = 1.0 - * ]| - * - * Return value: (transfer none): the initialized #ClutterMatrix - * - * Since: 1.12 - */ -ClutterMatrix * -clutter_matrix_init_identity (ClutterMatrix *matrix) -{ - cogl_matrix_init_identity (matrix); - - return matrix; -} - -/** - * clutter_matrix_init_from_array: - * @matrix: a #ClutterMatrix - * @values: (array fixed-size=16): a C array of 16 floating point values, - * representing a 4x4 matrix, with column-major order - * - * Initializes @matrix with the contents of a C array of floating point - * values. - * - * Return value: (transfer none): the initialized #ClutterMatrix - * - * Since: 1.12 - */ -ClutterMatrix * -clutter_matrix_init_from_array (ClutterMatrix *matrix, - const float values[16]) -{ - cogl_matrix_init_from_array (matrix, values); - - return matrix; -} - -/** - * clutter_matrix_init_from_matrix: - * @a: the #ClutterMatrix to initialize - * @b: the #ClutterMatrix to copy - * - * Initializes the #ClutterMatrix @a with the contents of the - * #ClutterMatrix @b. - * - * Return value: (transfer none): the initialized #ClutterMatrix - * - * Since: 1.12 - */ -ClutterMatrix * -clutter_matrix_init_from_matrix (ClutterMatrix *a, - const ClutterMatrix *b) -{ - return memcpy (a, b, sizeof (ClutterMatrix)); -} diff --git a/clutter/clutter/clutter-pan-action.c b/clutter/clutter/clutter-pan-action.c index 6a42627e4..21aa7af6c 100644 --- a/clutter/clutter/clutter-pan-action.c +++ b/clutter/clutter/clutter-pan-action.c @@ -354,7 +354,7 @@ clutter_pan_action_real_pan (ClutterPanAction *self, gboolean is_interpolated) { gfloat dx, dy; - ClutterMatrix transform; + CoglMatrix transform; clutter_pan_action_get_constrained_motion_delta (self, 0, &dx, &dy); diff --git a/clutter/clutter/clutter-private.h b/clutter/clutter/clutter-private.h index e4119b99f..7d4dfd04a 100644 --- a/clutter/clutter/clutter-private.h +++ b/clutter/clutter/clutter-private.h @@ -255,23 +255,16 @@ _clutter_util_vertex4_interpolate (const ClutterVertex4 *a, double progress, ClutterVertex4 *res); -#define CLUTTER_MATRIX_INIT_IDENTITY { \ - 1.0f, 0.0f, 0.0f, 0.0f, \ - 0.0f, 1.0f, 0.0f, 0.0f, \ - 0.0f, 0.0f, 1.0f, 0.0f, \ - 0.0f, 0.0f, 0.0f, 1.0f, \ -} +float _clutter_util_matrix_determinant (const CoglMatrix *matrix); -float _clutter_util_matrix_determinant (const ClutterMatrix *matrix); +void _clutter_util_matrix_skew_xy (CoglMatrix *matrix, + float factor); +void _clutter_util_matrix_skew_xz (CoglMatrix *matrix, + float factor); +void _clutter_util_matrix_skew_yz (CoglMatrix *matrix, + float factor); -void _clutter_util_matrix_skew_xy (ClutterMatrix *matrix, - float factor); -void _clutter_util_matrix_skew_xz (ClutterMatrix *matrix, - float factor); -void _clutter_util_matrix_skew_yz (ClutterMatrix *matrix, - float factor); - -gboolean _clutter_util_matrix_decompose (const ClutterMatrix *src, +gboolean _clutter_util_matrix_decompose (const CoglMatrix *src, graphene_point3d_t *scale_p, float shear_p[3], graphene_point3d_t *rotate_p, diff --git a/clutter/clutter/clutter-scroll-actor.c b/clutter/clutter/clutter-scroll-actor.c index 661654b75..e06247dd4 100644 --- a/clutter/clutter/clutter-scroll-actor.c +++ b/clutter/clutter/clutter-scroll-actor.c @@ -99,7 +99,7 @@ clutter_scroll_actor_set_scroll_to_internal (ClutterScrollActor *self, { ClutterScrollActorPrivate *priv = self->priv; ClutterActor *actor = CLUTTER_ACTOR (self); - ClutterMatrix m = CLUTTER_MATRIX_INIT_IDENTITY; + CoglMatrix m = COGL_MATRIX_INIT_IDENTITY; float dx, dy; if (graphene_point_equal (&priv->scroll_to, point)) diff --git a/clutter/clutter/clutter-types.h b/clutter/clutter/clutter-types.h index b98253275..1453eaaad 100644 --- a/clutter/clutter/clutter-types.h +++ b/clutter/clutter/clutter-types.h @@ -40,7 +40,6 @@ G_BEGIN_DECLS #define CLUTTER_TYPE_ACTOR_BOX (clutter_actor_box_get_type ()) #define CLUTTER_TYPE_KNOT (clutter_knot_get_type ()) #define CLUTTER_TYPE_MARGIN (clutter_margin_get_type ()) -#define CLUTTER_TYPE_MATRIX (clutter_matrix_get_type ()) #define CLUTTER_TYPE_PAINT_VOLUME (clutter_paint_volume_get_type ()) #define CLUTTER_TYPE_PERSPECTIVE (clutter_perspective_get_type ()) @@ -87,8 +86,6 @@ typedef struct _ClutterVirtualInputDevice ClutterVirtualInputDevice; typedef struct _ClutterInputMethod ClutterInputMethod; typedef struct _ClutterInputFocus ClutterInputFocus; -typedef CoglMatrix ClutterMatrix; - typedef union _ClutterEvent ClutterEvent; /** @@ -432,22 +429,6 @@ CLUTTER_EXPORT void clutter_interval_register_progress_func (GType value_type, ClutterProgressFunc func); -CLUTTER_EXPORT -GType clutter_matrix_get_type (void) G_GNUC_CONST; - -CLUTTER_EXPORT -ClutterMatrix * clutter_matrix_alloc (void); -CLUTTER_EXPORT -ClutterMatrix * clutter_matrix_init_identity (ClutterMatrix *matrix); -CLUTTER_EXPORT -ClutterMatrix * clutter_matrix_init_from_array (ClutterMatrix *matrix, - const float values[16]); -CLUTTER_EXPORT -ClutterMatrix * clutter_matrix_init_from_matrix (ClutterMatrix *a, - const ClutterMatrix *b); -CLUTTER_EXPORT -void clutter_matrix_free (ClutterMatrix *matrix); - G_END_DECLS #endif /* __CLUTTER_TYPES_H__ */ diff --git a/clutter/clutter/clutter-util.c b/clutter/clutter/clutter-util.c index d386b1db8..0aca5dbd9 100644 --- a/clutter/clutter/clutter-util.c +++ b/clutter/clutter/clutter-util.c @@ -231,7 +231,7 @@ clutter_util_rectangle_equal (const cairo_rectangle_int_t *src1, } float -_clutter_util_matrix_determinant (const ClutterMatrix *matrix) +_clutter_util_matrix_determinant (const CoglMatrix *matrix) { return matrix->xw * matrix->yz * matrix->zy * matrix->wz - matrix->xz * matrix->yw * matrix->zy * matrix->wz @@ -260,7 +260,7 @@ _clutter_util_matrix_determinant (const ClutterMatrix *matrix) } static void -_clutter_util_matrix_transpose_vector4_transform (const ClutterMatrix *matrix, +_clutter_util_matrix_transpose_vector4_transform (const CoglMatrix *matrix, const ClutterVertex4 *point, ClutterVertex4 *res) { @@ -286,8 +286,8 @@ _clutter_util_matrix_transpose_vector4_transform (const ClutterMatrix *matrix, } void -_clutter_util_matrix_skew_xy (ClutterMatrix *matrix, - float factor) +_clutter_util_matrix_skew_xy (CoglMatrix *matrix, + float factor) { matrix->yx += matrix->xx * factor; matrix->yy += matrix->xy * factor; @@ -296,8 +296,8 @@ _clutter_util_matrix_skew_xy (ClutterMatrix *matrix, } void -_clutter_util_matrix_skew_xz (ClutterMatrix *matrix, - float factor) +_clutter_util_matrix_skew_xz (CoglMatrix *matrix, + float factor) { matrix->zx += matrix->xx * factor; matrix->zy += matrix->xy * factor; @@ -306,8 +306,8 @@ _clutter_util_matrix_skew_xz (ClutterMatrix *matrix, } void -_clutter_util_matrix_skew_yz (ClutterMatrix *matrix, - float factor) +_clutter_util_matrix_skew_yz (CoglMatrix *matrix, + float factor) { matrix->zx += matrix->yx * factor; matrix->zy += matrix->yy * factor; @@ -353,7 +353,7 @@ _clutter_util_vertex4_interpolate (const ClutterVertex4 *a, * @perspective_p: (out caller-allocates: return location for a 4D vertex * containing the perspective * - * Decomposes a #ClutterMatrix into the transformations that compose it. + * Decomposes a #CoglMatrix into the transformations that compose it. * * This code is based on the matrix decomposition algorithm as published in * the CSS Transforms specification by the W3C CSS working group, available @@ -367,7 +367,7 @@ _clutter_util_vertex4_interpolate (const ClutterVertex4 *a, * if the matrix is singular */ gboolean -_clutter_util_matrix_decompose (const ClutterMatrix *src, +_clutter_util_matrix_decompose (const CoglMatrix *src, graphene_point3d_t *scale_p, float shear_p[3], graphene_point3d_t *rotate_p, diff --git a/src/tests/clutter/conform/actor-pivot-point.c b/src/tests/clutter/conform/actor-pivot-point.c index fc196b03f..099145fff 100644 --- a/src/tests/clutter/conform/actor-pivot-point.c +++ b/src/tests/clutter/conform/actor-pivot-point.c @@ -10,7 +10,7 @@ static void actor_pivot (void) { ClutterActor *stage, *actor_implicit, *actor_explicit; - ClutterMatrix transform, result_implicit, result_explicit; + CoglMatrix transform, result_implicit, result_explicit; ClutterActorBox allocation = CLUTTER_ACTOR_BOX_INIT (0, 0, 90, 30); gfloat angle = 30; @@ -33,7 +33,7 @@ actor_pivot (void) clutter_actor_set_rotation_angle (actor_implicit, CLUTTER_Z_AXIS, angle); /* Explicit transformation */ - clutter_matrix_init_identity(&transform); + cogl_matrix_init_identity (&transform); cogl_matrix_rotate (&transform, angle, 0, 0, 1.0); clutter_actor_set_transform (actor_explicit, &transform);