summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2019-03-01 06:48:30 +0100
committerBenjamin Otte <otte@redhat.com>2019-03-04 23:15:24 +0100
commit791bf0c2eb4b458f6f0ff9765e9fa52bbd9e6950 (patch)
tree9b56aa2acecab6af3e7ffc817fd7dd4e303ddf42
parent3a3c2d14abb57ba56a30be83a7194a24a986f5c5 (diff)
downloadgtk+-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.
-rw-r--r--docs/reference/gsk/gsk4-sections.txt4
-rw-r--r--gsk/gsktransform.c82
-rw-r--r--gsk/gsktransform.h14
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,
@@ -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__ */