diff options
-rw-r--r-- | gtk/gtkcolorscale.c | 62 | ||||
-rw-r--r-- | gtk/gtkcolorscaleprivate.h | 40 |
2 files changed, 38 insertions, 64 deletions
diff --git a/gtk/gtkcolorscale.c b/gtk/gtkcolorscale.c index 90da05b8ec..6900900618 100644 --- a/gtk/gtkcolorscale.c +++ b/gtk/gtkcolorscale.c @@ -35,12 +35,19 @@ #include <math.h> -typedef struct +struct _GtkColorScale { + GtkScale parent_instance; + GdkRGBA color; GtkColorScaleType type; GdkTexture *hue_texture; -} GtkColorScalePrivate; +}; + +typedef struct +{ + GtkScaleClass parent_class; +} GtkColorScaleClass; enum { @@ -59,7 +66,7 @@ static void click_action (GtkGestureClick *gesture, double y, GtkWidget *scale); -G_DEFINE_TYPE_WITH_PRIVATE (GtkColorScale, gtk_color_scale, GTK_TYPE_SCALE) +G_DEFINE_TYPE (GtkColorScale, gtk_color_scale, GTK_TYPE_SCALE) void gtk_color_scale_snapshot_trough (GtkColorScale *scale, @@ -67,20 +74,19 @@ gtk_color_scale_snapshot_trough (GtkColorScale *scale, int width, int height) { - GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (scale); GtkWidget *widget = GTK_WIDGET (scale); if (width <= 1 || height <= 1) return; - if (priv->hue_texture && - (width != gdk_texture_get_width (priv->hue_texture) || - height != gdk_texture_get_height (priv->hue_texture))) - g_clear_object (&priv->hue_texture); + if (scale->hue_texture && + (width != gdk_texture_get_width (scale->hue_texture) || + height != gdk_texture_get_height (scale->hue_texture))) + g_clear_object (&scale->hue_texture); - if (priv->type == GTK_COLOR_SCALE_HUE) + if (scale->type == GTK_COLOR_SCALE_HUE) { - if (!priv->hue_texture) + if (!scale->hue_texture) { GdkTexture *texture; int stride; @@ -114,14 +120,14 @@ gtk_color_scale_snapshot_trough (GtkColorScale *scale, bytes, stride); g_bytes_unref (bytes); - priv->hue_texture = texture; + scale->hue_texture = texture; } gtk_snapshot_append_texture (snapshot, - priv->hue_texture, + scale->hue_texture, &GRAPHENE_RECT_INIT(0, 0, width, height)); } - else if (priv->type == GTK_COLOR_SCALE_ALPHA) + else if (scale->type == GTK_COLOR_SCALE_ALPHA) { graphene_point_t start, end; const GdkRGBA *color; @@ -140,7 +146,7 @@ gtk_color_scale_snapshot_trough (GtkColorScale *scale, _gtk_color_chooser_snapshot_checkered_pattern (snapshot, width, height); - color = &priv->color; + color = &scale->color; gtk_snapshot_append_linear_gradient (snapshot, &GRAPHENE_RECT_INIT(0, 0, width, height), @@ -179,7 +185,6 @@ static void scale_constructed (GObject *object) { GtkColorScale *scale = GTK_COLOR_SCALE (object); - GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (scale); GtkEventController *controller; GtkShortcutTrigger *trigger; GtkShortcutAction *action; @@ -192,7 +197,7 @@ scale_constructed (GObject *object) shortcut = gtk_shortcut_new_with_arguments (trigger, action, "s", - priv->type == GTK_COLOR_SCALE_ALPHA + scale->type == GTK_COLOR_SCALE_ALPHA ? "a" : "h"); gtk_shortcut_controller_add_shortcut (GTK_SHORTCUT_CONTROLLER (controller), shortcut); gtk_widget_add_controller (GTK_WIDGET (scale), controller); @@ -205,13 +210,13 @@ scale_get_property (GObject *object, GParamSpec *pspec) { GtkColorScale *scale = GTK_COLOR_SCALE (object); - GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (scale); switch (prop_id) { case PROP_SCALE_TYPE: - g_value_set_int (value, priv->type); + g_value_set_int (value, scale->type); break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -219,15 +224,6 @@ scale_get_property (GObject *object, } static void -scale_set_type (GtkColorScale *scale, - GtkColorScaleType type) -{ - GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (scale); - - priv->type = type; -} - -static void scale_set_property (GObject *object, guint prop_id, const GValue *value, @@ -238,8 +234,9 @@ scale_set_property (GObject *object, switch (prop_id) { case PROP_SCALE_TYPE: - scale_set_type (scale, (GtkColorScaleType)g_value_get_int (value)); + scale->type = (GtkColorScaleType) g_value_get_int (value); break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -272,9 +269,9 @@ click_action (GtkGestureClick *gesture, static void scale_finalize (GObject *object) { - GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (GTK_COLOR_SCALE (object)); + GtkColorScale *scale = GTK_COLOR_SCALE (object); - g_clear_object (&priv->hue_texture); + g_clear_object (&scale->hue_texture); G_OBJECT_CLASS (gtk_color_scale_parent_class)->finalize (object); } @@ -293,16 +290,13 @@ gtk_color_scale_class_init (GtkColorScaleClass *class) g_param_spec_int ("scale-type", P_("Scale type"), P_("Scale type"), 0, 1, 0, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - } void gtk_color_scale_set_rgba (GtkColorScale *scale, const GdkRGBA *color) { - GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (scale); - - priv->color = *color; + scale->color = *color; gtk_widget_queue_draw (gtk_range_get_trough_widget (GTK_RANGE (scale))); } diff --git a/gtk/gtkcolorscaleprivate.h b/gtk/gtkcolorscaleprivate.h index d8ced03da6..47bf018702 100644 --- a/gtk/gtkcolorscaleprivate.h +++ b/gtk/gtkcolorscaleprivate.h @@ -24,30 +24,10 @@ G_BEGIN_DECLS #define GTK_TYPE_COLOR_SCALE (gtk_color_scale_get_type ()) #define GTK_COLOR_SCALE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_SCALE, GtkColorScale)) -#define GTK_COLOR_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_COLOR_SCALE, GtkColorScaleClass)) #define GTK_IS_COLOR_SCALE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COLOR_SCALE)) -#define GTK_IS_COLOR_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_COLOR_SCALE)) -#define GTK_COLOR_SCALE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_COLOR_SCALE, GtkColorScaleClass)) -typedef struct _GtkColorScale GtkColorScale; -typedef struct _GtkColorScaleClass GtkColorScaleClass; - -struct _GtkColorScale -{ - GtkScale parent_instance; -}; - -struct _GtkColorScaleClass -{ - GtkScaleClass parent_class; - - /* Padding for future expansion */ - void (*_gtk_reserved1) (void); - void (*_gtk_reserved2) (void); - void (*_gtk_reserved3) (void); - void (*_gtk_reserved4) (void); -}; +typedef struct _GtkColorScale GtkColorScale; typedef enum { @@ -55,16 +35,16 @@ typedef enum GTK_COLOR_SCALE_ALPHA } GtkColorScaleType; -GType gtk_color_scale_get_type (void) G_GNUC_CONST; -GtkWidget * gtk_color_scale_new (GtkAdjustment *adjustment, - GtkColorScaleType type); -void gtk_color_scale_set_rgba (GtkColorScale *scale, - const GdkRGBA *color); +GType gtk_color_scale_get_type (void) G_GNUC_CONST; +GtkWidget * gtk_color_scale_new (GtkAdjustment *adjustment, + GtkColorScaleType type); +void gtk_color_scale_set_rgba (GtkColorScale *scale, + const GdkRGBA *color); -void gtk_color_scale_snapshot_trough (GtkColorScale *scale, - GtkSnapshot *snapshot, - int width, - int height); +void gtk_color_scale_snapshot_trough (GtkColorScale *scale, + GtkSnapshot *snapshot, + int width, + int height); G_END_DECLS |