[gtk/wip/otte/transform: 30/41] transform: Remove API to poke internals



commit 791bf0c2eb4b458f6f0ff9765e9fa52bbd9e6950
Author: Benjamin Otte <otte redhat com>
Date:   Fri Mar 1 06:48:30 2019 +0100

    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.

 docs/reference/gsk/gsk4-sections.txt |  4 --
 gsk/gsktransform.c                   | 82 +++++++++---------------------------
 gsk/gsktransform.h                   | 14 ------
 3 files changed, 21 insertions(+), 79 deletions(-)
---
diff --git a/docs/reference/gsk/gsk4-sections.txt b/docs/reference/gsk/gsk4-sections.txt
index 9ebdc9df84..026613dc69 100644
--- a/docs/reference/gsk/gsk4-sections.txt
+++ b/docs/reference/gsk/gsk4-sections.txt
@@ -148,7 +148,6 @@ gsk_rounded_rect_intersects_rect
 <SECTION>
 <FILE>GskTransform</FILE>
 <TITLE>3D transformations</TITLE>
-GskTransformType
 GskTransform
 gsk_transform_ref
 gsk_transform_unref
@@ -172,9 +171,6 @@ gsk_transform_scale_3d
 <SUBSECTION>
 gsk_transform_equal
 <SUBSECTION>
-gsk_transform_get_transform_type
-gsk_transform_get_next
-<SUBSECTION>
 gsk_transform_transform_bounds
 <SUBSECTION Private>
 GSK_TYPE_TRANSFORM
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,
@@ -1107,41 +1102,6 @@ gsk_transform_to_string (GskTransform *self)
   return g_string_free (string, FALSE);
 }
 
-/**
- * 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
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__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]