From 048b2c437d45e0854efa6bafa733408cf5e02458 Mon Sep 17 00:00:00 2001 From: Alx Sa Date: Fri, 2 Aug 2024 14:02:30 +0000 Subject: [PATCH] libgimp, libgimpcolor, libgimpconfig: Convert to derivable types Also converted GimpPreview and GimpScrolledPreview as they are the parents of several of these widgets. --- libgimp/gimpaspectpreview.c | 8 +-- libgimp/gimpaspectpreview.h | 21 +----- libgimp/gimpdrawablepreview.c | 14 ++-- libgimp/gimpdrawablepreview.h | 21 +----- libgimp/gimpprocbrowserdialog.c | 35 +++++----- libgimp/gimpprocbrowserdialog.h | 20 +----- libgimp/gimpzoompreview.c | 25 ++++---- libgimp/gimpzoompreview.h | 21 +----- libgimpcolor/gimpcolortransform.c | 22 +++---- libgimpcolor/gimpcolortransform.h | 21 +----- libgimpconfig/gimpcolorconfig.c | 10 ++- libgimpconfig/gimpcolorconfig.h | 20 +----- libgimpwidgets/gimppreview.c | 95 ++++++++++++++++++---------- libgimpwidgets/gimppreview.h | 21 +----- libgimpwidgets/gimpscrolledpreview.c | 4 +- libgimpwidgets/gimpscrolledpreview.h | 19 +----- 16 files changed, 136 insertions(+), 241 deletions(-) diff --git a/libgimp/gimpaspectpreview.c b/libgimp/gimpaspectpreview.c index a8da7723f2..e80fd9ba41 100644 --- a/libgimp/gimpaspectpreview.c +++ b/libgimp/gimpaspectpreview.c @@ -50,17 +50,17 @@ enum PROP_DRAWABLE }; -struct _GimpAspectPreviewPrivate +typedef struct _GimpAspectPreviewPrivate { GimpDrawable *drawable; -}; +} GimpAspectPreviewPrivate; typedef struct { gboolean update; } PreviewSettings; -#define GET_PRIVATE(obj) (((GimpAspectPreview *) (obj))->priv) +#define GET_PRIVATE(obj) (gimp_aspect_preview_get_instance_private ((GimpAspectPreview *) (obj))) static void gimp_aspect_preview_constructed (GObject *object); @@ -140,8 +140,6 @@ gimp_aspect_preview_class_init (GimpAspectPreviewClass *klass) static void gimp_aspect_preview_init (GimpAspectPreview *preview) { - preview->priv = gimp_aspect_preview_get_instance_private (preview); - g_object_set (gimp_preview_get_area (GIMP_PREVIEW (preview)), "check-size", gimp_check_size (), "check-type", gimp_check_type (), diff --git a/libgimp/gimpaspectpreview.h b/libgimp/gimpaspectpreview.h index e7d126aaaf..a6bb1866ae 100644 --- a/libgimp/gimpaspectpreview.h +++ b/libgimp/gimpaspectpreview.h @@ -31,23 +31,8 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -#define GIMP_TYPE_ASPECT_PREVIEW (gimp_aspect_preview_get_type ()) -#define GIMP_ASPECT_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_ASPECT_PREVIEW, GimpAspectPreview)) -#define GIMP_ASPECT_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_ASPECT_PREVIEW, GimpAspectPreviewClass)) -#define GIMP_IS_ASPECT_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_ASPECT_PREVIEW)) -#define GIMP_IS_ASPECT_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_ASPECT_PREVIEW)) -#define GIMP_ASPECT_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_ASPECT_PREVIEW, GimpAspectPreviewClass)) - - -typedef struct _GimpAspectPreviewPrivate GimpAspectPreviewPrivate; -typedef struct _GimpAspectPreviewClass GimpAspectPreviewClass; - -struct _GimpAspectPreview -{ - GimpPreview parent_instance; - - GimpAspectPreviewPrivate *priv; -}; +#define GIMP_TYPE_ASPECT_PREVIEW (gimp_aspect_preview_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpAspectPreview, gimp_aspect_preview, GIMP, ASPECT_PREVIEW, GimpPreview) struct _GimpAspectPreviewClass { @@ -65,8 +50,6 @@ struct _GimpAspectPreviewClass }; -GType gimp_aspect_preview_get_type (void) G_GNUC_CONST; - GtkWidget * gimp_aspect_preview_new_from_drawable (GimpDrawable *drawable); diff --git a/libgimp/gimpdrawablepreview.c b/libgimp/gimpdrawablepreview.c index 3f4abe46fc..a6b47e46ff 100644 --- a/libgimp/gimpdrawablepreview.c +++ b/libgimp/gimpdrawablepreview.c @@ -58,12 +58,12 @@ typedef struct } PreviewSettings; -struct _GimpDrawablePreviewPrivate +typedef struct _GimpDrawablePreviewPrivate { GimpDrawable *drawable; -}; +} GimpDrawablePreviewPrivate; -#define GET_PRIVATE(obj) (((GimpDrawablePreview *) (obj))->priv) +#define GET_PRIVATE(obj) (gimp_drawable_preview_get_instance_private ((GimpDrawablePreview *) (obj))) static void gimp_drawable_preview_constructed (GObject *object); @@ -138,8 +138,6 @@ gimp_drawable_preview_class_init (GimpDrawablePreviewClass *klass) static void gimp_drawable_preview_init (GimpDrawablePreview *preview) { - preview->priv = gimp_drawable_preview_get_instance_private (preview); - g_object_set (gimp_preview_get_area (GIMP_PREVIEW (preview)), "check-size", gimp_check_size (), "check-type", gimp_check_type (), @@ -637,7 +635,11 @@ gimp_drawable_preview_new_from_drawable (GimpDrawable *drawable) GimpDrawable * gimp_drawable_preview_get_drawable (GimpDrawablePreview *preview) { + GimpDrawablePreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_DRAWABLE_PREVIEW (preview), NULL); - return GET_PRIVATE (preview)->drawable; + priv = GET_PRIVATE (preview); + + return priv->drawable; } diff --git a/libgimp/gimpdrawablepreview.h b/libgimp/gimpdrawablepreview.h index 48aa389650..8ce518f56f 100644 --- a/libgimp/gimpdrawablepreview.h +++ b/libgimp/gimpdrawablepreview.h @@ -31,23 +31,8 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -#define GIMP_TYPE_DRAWABLE_PREVIEW (gimp_drawable_preview_get_type ()) -#define GIMP_DRAWABLE_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_DRAWABLE_PREVIEW, GimpDrawablePreview)) -#define GIMP_DRAWABLE_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_DRAWABLE_PREVIEW, GimpDrawablePreviewClass)) -#define GIMP_IS_DRAWABLE_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_DRAWABLE_PREVIEW)) -#define GIMP_IS_DRAWABLE_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_DRAWABLE_PREVIEW)) -#define GIMP_DRAWABLE_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_DRAWABLE_PREVIEW, GimpDrawablePreviewClass)) - - -typedef struct _GimpDrawablePreviewPrivate GimpDrawablePreviewPrivate; -typedef struct _GimpDrawablePreviewClass GimpDrawablePreviewClass; - -struct _GimpDrawablePreview -{ - GimpScrolledPreview parent_instance; - - GimpDrawablePreviewPrivate *priv; -}; +#define GIMP_TYPE_DRAWABLE_PREVIEW (gimp_drawable_preview_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpDrawablePreview, gimp_drawable_preview, GIMP, DRAWABLE_PREVIEW, GimpScrolledPreview) struct _GimpDrawablePreviewClass { @@ -65,8 +50,6 @@ struct _GimpDrawablePreviewClass }; -GType gimp_drawable_preview_get_type (void) G_GNUC_CONST; - GtkWidget * gimp_drawable_preview_new_from_drawable (GimpDrawable *drawable); GimpDrawable * gimp_drawable_preview_get_drawable (GimpDrawablePreview *preview); diff --git a/libgimp/gimpprocbrowserdialog.c b/libgimp/gimpprocbrowserdialog.c index 4b7fb2d80e..b835067b05 100644 --- a/libgimp/gimpprocbrowserdialog.c +++ b/libgimp/gimpprocbrowserdialog.c @@ -76,15 +76,13 @@ enum }; -struct _GimpProcBrowserDialogPrivate +typedef struct _GimpProcBrowserDialogPrivate { GtkWidget *browser; GtkListStore *store; GtkWidget *tree_view; -}; - -#define GET_PRIVATE(obj) (((GimpProcBrowserDialog *) (obj))->priv) +} GimpProcBrowserDialogPrivate; static void browser_selection_changed (GtkTreeSelection *sel, @@ -153,11 +151,10 @@ gimp_proc_browser_dialog_init (GimpProcBrowserDialog *dialog) GtkTreeSelection *selection; GtkWidget *parent; - dialog->priv = gimp_proc_browser_dialog_get_instance_private (dialog); gtk_window_set_default_size (GTK_WINDOW (dialog), DBL_WIDTH, DBL_WIDTH - DBL_LIST_WIDTH); - priv = GET_PRIVATE (dialog); + priv = gimp_proc_browser_dialog_get_instance_private (dialog); priv->browser = gimp_browser_new (); gimp_browser_add_search_types (GIMP_BROWSER (priv->browser), @@ -223,7 +220,7 @@ gimp_proc_browser_dialog_init (GimpProcBrowserDialog *dialog) gtk_widget_set_size_request (parent, DBL_WIDTH - DBL_LIST_WIDTH, -1); /* first search (all procedures) */ - browser_search (GIMP_BROWSER (dialog->priv->browser), + browser_search (GIMP_BROWSER (priv->browser), "", SEARCH_TYPE_ALL, dialog); } @@ -291,18 +288,21 @@ gimp_proc_browser_dialog_new (const gchar *title, gchar * gimp_proc_browser_dialog_get_selected (GimpProcBrowserDialog *dialog) { - GtkTreeSelection *sel; - GtkTreeIter iter; + GimpProcBrowserDialogPrivate *priv; + GtkTreeSelection *sel; + GtkTreeIter iter; g_return_val_if_fail (GIMP_IS_PROC_BROWSER_DIALOG (dialog), NULL); - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->priv->tree_view)); + priv = gimp_proc_browser_dialog_get_instance_private (dialog); + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->tree_view)); if (gtk_tree_selection_get_selected (sel, NULL, &iter)) { gchar *proc_name; - gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->store), &iter, + gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter, COLUMN_PROC_NAME, &proc_name, -1); @@ -319,17 +319,20 @@ static void browser_selection_changed (GtkTreeSelection *sel, GimpProcBrowserDialog *dialog) { - GtkTreeIter iter; + GimpProcBrowserDialogPrivate *priv; + GtkTreeIter iter; + + priv = gimp_proc_browser_dialog_get_instance_private (dialog); if (gtk_tree_selection_get_selected (sel, NULL, &iter)) { gchar *proc_name; - gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->store), &iter, + gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter, COLUMN_PROC_NAME, &proc_name, -1); - gimp_browser_set_widget (GIMP_BROWSER (dialog->priv->browser), + gimp_browser_set_widget (GIMP_BROWSER (priv->browser), gimp_proc_view_new (proc_name)); g_free (proc_name); @@ -353,13 +356,15 @@ browser_search (GimpBrowser *browser, gint search_type, GimpProcBrowserDialog *dialog) { - GimpProcBrowserDialogPrivate *priv = GET_PRIVATE (dialog); + GimpProcBrowserDialogPrivate *priv; GimpPDB *pdb = gimp_get_pdb (); gchar **proc_list = NULL; gint num_procs; gchar *str; GRegex *regex; + priv = gimp_proc_browser_dialog_get_instance_private (dialog); + /* first check if the query is a valid regex */ regex = g_regex_new (query_text, 0, 0, NULL); diff --git a/libgimp/gimpprocbrowserdialog.h b/libgimp/gimpprocbrowserdialog.h index 480ff0c989..106a0ed8b4 100644 --- a/libgimp/gimpprocbrowserdialog.h +++ b/libgimp/gimpprocbrowserdialog.h @@ -31,24 +31,10 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -#define GIMP_TYPE_PROC_BROWSER_DIALOG (gimp_proc_browser_dialog_get_type ()) -#define GIMP_PROC_BROWSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PROC_BROWSER_DIALOG, GimpProcBrowserDialog)) -#define GIMP_PROC_BROWSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PROC_BROWSER_DIALOG, GimpProcBrowserDialogClass)) -#define GIMP_IS_PROC_BROWSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_PROC_BROWSER_DIALOG)) -#define GIMP_IS_PROC_BROWSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PROC_BROWSER_DIALOG)) -#define GIMP_PROC_BROWSER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_PROC_BROWSER_DIALOG, GimpProcBrowserDialogClass)) +#define GIMP_TYPE_PROC_BROWSER_DIALOG (gimp_proc_browser_dialog_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpProcBrowserDialog, gimp_proc_browser_dialog, GIMP, PROC_BROWSER_DIALOG, GimpDialog) -typedef struct _GimpProcBrowserDialogPrivate GimpProcBrowserDialogPrivate; -typedef struct _GimpProcBrowserDialogClass GimpProcBrowserDialogClass; - -struct _GimpProcBrowserDialog -{ - GimpDialog parent_instance; - - GimpProcBrowserDialogPrivate *priv; -}; - struct _GimpProcBrowserDialogClass { GimpDialogClass parent_class; @@ -68,8 +54,6 @@ struct _GimpProcBrowserDialogClass }; -GType gimp_proc_browser_dialog_get_type (void) G_GNUC_CONST; - GtkWidget * gimp_proc_browser_dialog_new (const gchar *title, const gchar *role, GimpHelpFunc help_func, diff --git a/libgimp/gimpzoompreview.c b/libgimp/gimpzoompreview.c index f6e3ffd61c..c7397a2868 100644 --- a/libgimp/gimpzoompreview.c +++ b/libgimp/gimpzoompreview.c @@ -57,14 +57,14 @@ typedef struct } PreviewSettings; -struct _GimpZoomPreviewPrivate +typedef struct _GimpZoomPreviewPrivate { GimpDrawable *drawable; GimpZoomModel *model; GdkRectangle extents; -}; +} GimpZoomPreviewPrivate; -#define GET_PRIVATE(obj) (((GimpZoomPreview *) (obj))->priv) +#define GET_PRIVATE(obj) ((GimpZoomPreviewPrivate *) gimp_zoom_preview_get_instance_private ((GimpZoomPreview *) (obj))) static void gimp_zoom_preview_constructed (GObject *object); @@ -187,8 +187,6 @@ gimp_zoom_preview_init (GimpZoomPreview *preview) { GtkWidget *area = gimp_preview_get_area (GIMP_PREVIEW (preview)); - preview->priv = gimp_zoom_preview_get_instance_private (preview); - g_signal_connect (area, "size-allocate", G_CALLBACK (gimp_zoom_preview_size_allocate), preview); @@ -372,6 +370,7 @@ gimp_zoom_preview_size_allocate (GtkWidget *widget, GtkAllocation *allocation, GimpZoomPreview *preview) { + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); gdouble zoom; #if 0 @@ -382,7 +381,7 @@ gimp_zoom_preview_size_allocate (GtkWidget *widget, GIMP_PREVIEW (preview)->height = MIN (height, allocation->height); #endif - zoom = gimp_zoom_model_get_factor (preview->priv->model); + zoom = gimp_zoom_model_get_factor (priv->model); gimp_zoom_preview_set_adjustments (preview, zoom, zoom); } @@ -475,7 +474,7 @@ gimp_zoom_preview_scroll_event (GtkWidget *widget, static void gimp_zoom_preview_draw (GimpPreview *preview) { - GimpZoomPreviewPrivate *priv = GIMP_ZOOM_PREVIEW (preview)->priv; + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); guchar *data; gint width; gint height; @@ -507,7 +506,7 @@ gimp_zoom_preview_draw_buffer (GimpPreview *preview, const guchar *buffer, gint rowstride) { - GimpZoomPreviewPrivate *priv = GIMP_ZOOM_PREVIEW (preview)->priv; + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); GtkWidget *area = gimp_preview_get_area (preview); GimpImage *image; gint width; @@ -575,7 +574,7 @@ gimp_zoom_preview_draw_thumb (GimpPreview *preview, gint width, gint height) { - GimpZoomPreviewPrivate *priv = GIMP_ZOOM_PREVIEW (preview)->priv; + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); if (priv->drawable != NULL) _gimp_drawable_preview_area_draw_thumb (area, priv->drawable, @@ -614,7 +613,7 @@ gimp_zoom_preview_transform (GimpPreview *preview, gint *dest_x, gint *dest_y) { - GimpZoomPreviewPrivate *priv = GIMP_ZOOM_PREVIEW (preview)->priv; + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); gint width; gint height; gint xoff; @@ -640,7 +639,7 @@ gimp_zoom_preview_untransform (GimpPreview *preview, gint *dest_x, gint *dest_y) { - GimpZoomPreviewPrivate *priv = GIMP_ZOOM_PREVIEW (preview)->priv; + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); gint width; gint height; gint xoff; @@ -665,12 +664,12 @@ static void gimp_zoom_preview_set_drawable (GimpZoomPreview *preview, GimpDrawable *drawable) { - GimpZoomPreviewPrivate *priv = preview->priv; + GimpZoomPreviewPrivate *priv = GET_PRIVATE (preview); gint x, y; gint width, height; gint max_width, max_height; - g_return_if_fail (preview->priv->drawable == NULL); + g_return_if_fail (priv->drawable == NULL); priv->drawable = drawable; diff --git a/libgimp/gimpzoompreview.h b/libgimp/gimpzoompreview.h index da358ab21e..c2a41a0eee 100644 --- a/libgimp/gimpzoompreview.h +++ b/libgimp/gimpzoompreview.h @@ -32,23 +32,8 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -#define GIMP_TYPE_ZOOM_PREVIEW (gimp_zoom_preview_get_type ()) -#define GIMP_ZOOM_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_ZOOM_PREVIEW, GimpZoomPreview)) -#define GIMP_ZOOM_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_ZOOM_PREVIEW, GimpZoomPreviewClass)) -#define GIMP_IS_ZOOM_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_ZOOM_PREVIEW)) -#define GIMP_IS_ZOOM_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_ZOOM_PREVIEW)) -#define GIMP_ZOOM_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_ZOOM_PREVIEW, GimpZoomPreviewClass)) - - -typedef struct _GimpZoomPreviewPrivate GimpZoomPreviewPrivate; -typedef struct _GimpZoomPreviewClass GimpZoomPreviewClass; - -struct _GimpZoomPreview -{ - GimpScrolledPreview parent_instance; - - GimpZoomPreviewPrivate *priv; -}; +#define GIMP_TYPE_ZOOM_PREVIEW (gimp_zoom_preview_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpZoomPreview, gimp_zoom_preview, GIMP, ZOOM_PREVIEW, GimpScrolledPreview) struct _GimpZoomPreviewClass { @@ -66,8 +51,6 @@ struct _GimpZoomPreviewClass }; -GType gimp_zoom_preview_get_type (void) G_GNUC_CONST; - GtkWidget * gimp_zoom_preview_new_from_drawable (GimpDrawable *drawable); GtkWidget * gimp_zoom_preview_new_with_model_from_drawable (GimpDrawable *drawable, diff --git a/libgimpcolor/gimpcolortransform.c b/libgimpcolor/gimpcolortransform.c index f5706a4dd6..13d486c862 100644 --- a/libgimpcolor/gimpcolortransform.c +++ b/libgimpcolor/gimpcolortransform.c @@ -65,7 +65,7 @@ enum }; -struct _GimpColorTransformPrivate +typedef struct _GimpColorTransformPrivate { GimpColorProfile *src_profile; const Babl *src_format; @@ -75,8 +75,9 @@ struct _GimpColorTransformPrivate cmsHTRANSFORM transform; const Babl *fish; -}; +} GimpColorTransformPrivate; +#define GET_PRIVATE(obj) (gimp_color_transform_get_instance_private ((GimpColorTransform *) (obj))) static void gimp_color_transform_finalize (GObject *object); @@ -134,18 +135,17 @@ gimp_color_transform_class_init (GimpColorTransformClass *klass) static void gimp_color_transform_init (GimpColorTransform *transform) { - transform->priv = gimp_color_transform_get_instance_private (transform); } static void gimp_color_transform_finalize (GObject *object) { - GimpColorTransform *transform = GIMP_COLOR_TRANSFORM (object); + GimpColorTransformPrivate *priv = GET_PRIVATE (object); - g_clear_object (&transform->priv->src_profile); - g_clear_object (&transform->priv->dest_profile); + g_clear_object (&priv->src_profile); + g_clear_object (&priv->dest_profile); - g_clear_pointer (&transform->priv->transform, cmsDeleteTransform); + g_clear_pointer (&priv->transform, cmsDeleteTransform); G_OBJECT_CLASS (parent_class)->finalize (object); } @@ -202,7 +202,7 @@ gimp_color_transform_new (GimpColorProfile *src_profile, transform = g_object_new (GIMP_TYPE_COLOR_TRANSFORM, NULL); - priv = transform->priv; + priv = GET_PRIVATE (transform); /* only src_profile and dest_profile must determine the transform's * color spaces, create formats with src_format's and dest_format's @@ -335,7 +335,7 @@ gimp_color_transform_new_proofing (GimpColorProfile *src_profile, transform = g_object_new (GIMP_TYPE_COLOR_TRANSFORM, NULL); - priv = transform->priv; + priv = GET_PRIVATE (transform); src_lcms = gimp_color_profile_get_lcms_profile (src_profile); dest_lcms = gimp_color_profile_get_lcms_profile (dest_profile); @@ -419,7 +419,7 @@ gimp_color_transform_process_pixels (GimpColorTransform *transform, g_return_if_fail (dest_format != NULL); g_return_if_fail (dest_pixels != NULL); - priv = transform->priv; + priv = GET_PRIVATE (transform); /* we must not do any babl color transforms when reading from * src_pixels or writing to dest_pixels, so construct formats with @@ -514,7 +514,7 @@ gimp_color_transform_process_buffer (GimpColorTransform *transform, g_return_if_fail (GEGL_IS_BUFFER (src_buffer)); g_return_if_fail (GEGL_IS_BUFFER (dest_buffer)); - priv = transform->priv; + priv = GET_PRIVATE (transform); if (src_rect) { diff --git a/libgimpcolor/gimpcolortransform.h b/libgimpcolor/gimpcolortransform.h index 1477dc61bf..6bf755f333 100644 --- a/libgimpcolor/gimpcolortransform.h +++ b/libgimpcolor/gimpcolortransform.h @@ -51,23 +51,8 @@ typedef enum } GimpColorTransformFlags; -#define GIMP_TYPE_COLOR_TRANSFORM (gimp_color_transform_get_type ()) -#define GIMP_COLOR_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_COLOR_TRANSFORM, GimpColorTransform)) -#define GIMP_COLOR_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_COLOR_TRANSFORM, GimpColorTransformClass)) -#define GIMP_IS_COLOR_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_COLOR_TRANSFORM)) -#define GIMP_IS_COLOR_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_COLOR_TRANSFORM)) -#define GIMP_COLOR_TRANSFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_COLOR_TRANSFORM, GimpColorTransformClass)) - - -typedef struct _GimpColorTransformPrivate GimpColorTransformPrivate; -typedef struct _GimpColorTransformClass GimpColorTransformClass; - -struct _GimpColorTransform -{ - GObject parent_instance; - - GimpColorTransformPrivate *priv; -}; +#define GIMP_TYPE_COLOR_TRANSFORM (gimp_color_transform_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpColorTransform, gimp_color_transform, GIMP, COLOR_TRANSFORM, GObject) struct _GimpColorTransformClass { @@ -89,8 +74,6 @@ struct _GimpColorTransformClass }; -GType gimp_color_transform_get_type (void) G_GNUC_CONST; - GimpColorTransform * gimp_color_transform_new (GimpColorProfile *src_profile, const Babl *src_format, diff --git a/libgimpconfig/gimpcolorconfig.c b/libgimpconfig/gimpcolorconfig.c index 624101bdad..a12e9ceda1 100644 --- a/libgimpconfig/gimpcolorconfig.c +++ b/libgimpconfig/gimpcolorconfig.c @@ -141,7 +141,7 @@ enum }; -struct _GimpColorConfigPrivate +typedef struct _GimpColorConfigPrivate { GimpColorManagementMode mode; @@ -164,9 +164,9 @@ struct _GimpColorConfigPrivate gboolean show_rgb_u8; gboolean show_hsv; -}; +} GimpColorConfigPrivate; -#define GET_PRIVATE(obj) (((GimpColorConfig *) (obj))->priv) +#define GET_PRIVATE(obj) ((GimpColorConfigPrivate *) gimp_color_config_get_instance_private ((GimpColorConfig *) (obj))) static void gimp_color_config_finalize (GObject *object); @@ -351,11 +351,9 @@ gimp_color_config_init (GimpColorConfig *config) { GeglColor *magenta = gegl_color_new (NULL); - config->priv = gimp_color_config_get_instance_private (config); - /* Magenta (sRGB space). */ gegl_color_set_rgba (magenta, 1.0, 0.0, 1.0, 1.0); - config->priv->out_of_gamut_color = magenta; + GET_PRIVATE (config)->out_of_gamut_color = magenta; } static void diff --git a/libgimpconfig/gimpcolorconfig.h b/libgimpconfig/gimpcolorconfig.h index 4f324fcd3c..b6d3da99f2 100644 --- a/libgimpconfig/gimpcolorconfig.h +++ b/libgimpconfig/gimpcolorconfig.h @@ -27,22 +27,8 @@ #define __GIMP_COLOR_CONFIG_H__ -#define GIMP_TYPE_COLOR_CONFIG (gimp_color_config_get_type ()) -#define GIMP_COLOR_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_COLOR_CONFIG, GimpColorConfig)) -#define GIMP_COLOR_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_COLOR_CONFIG, GimpColorConfigClass)) -#define GIMP_IS_COLOR_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_COLOR_CONFIG)) -#define GIMP_IS_COLOR_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_COLOR_CONFIG)) - - -typedef struct _GimpColorConfigPrivate GimpColorConfigPrivate; -typedef struct _GimpColorConfigClass GimpColorConfigClass; - -struct _GimpColorConfig -{ - GObject parent_instance; - - GimpColorConfigPrivate *priv; -}; +#define GIMP_TYPE_COLOR_CONFIG (gimp_color_config_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpColorConfig, gimp_color_config, GIMP, COLOR_CONFIG, GObject) struct _GimpColorConfigClass { @@ -59,8 +45,6 @@ struct _GimpColorConfigClass }; -GType gimp_color_config_get_type (void) G_GNUC_CONST; - GimpColorManagementMode gimp_color_config_get_mode (GimpColorConfig *config); diff --git a/libgimpwidgets/gimppreview.c b/libgimpwidgets/gimppreview.c index 65a692a644..7e54a8c4d2 100644 --- a/libgimpwidgets/gimppreview.c +++ b/libgimpwidgets/gimppreview.c @@ -61,7 +61,7 @@ enum }; -struct _GimpPreviewPrivate +typedef struct _GimpPreviewPrivate { GtkWidget *area; GtkWidget *grid; @@ -77,9 +77,7 @@ struct _GimpPreviewPrivate gboolean update_preview; guint timeout_id; -}; - -#define GET_PRIVATE(obj) (((GimpPreview *) (obj))->priv) +} GimpPreviewPrivate; static void gimp_preview_dispose (GObject *object); @@ -189,9 +187,7 @@ gimp_preview_init (GimpPreview *preview) GtkWidget *frame; gdouble xalign = 0.0; - preview->priv = gimp_preview_get_instance_private (preview); - - priv = preview->priv; + priv = gimp_preview_get_instance_private (preview); gtk_orientable_set_orientation (GTK_ORIENTABLE (preview), GTK_ORIENTATION_VERTICAL); @@ -299,7 +295,8 @@ gimp_preview_init (GimpPreview *preview) static void gimp_preview_dispose (GObject *object) { - GimpPreviewPrivate *priv = GET_PRIVATE (object); + GimpPreview *preview = GIMP_PREVIEW (object); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); if (priv->timeout_id) { @@ -316,7 +313,8 @@ gimp_preview_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - GimpPreviewPrivate *priv = GET_PRIVATE (object); + GimpPreview *preview = GIMP_PREVIEW (object); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); switch (property_id) { @@ -336,7 +334,8 @@ gimp_preview_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { - GimpPreviewPrivate *priv = GET_PRIVATE (object); + GimpPreview *preview = GIMP_PREVIEW (object); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); switch (property_id) { @@ -355,7 +354,8 @@ static void gimp_preview_direction_changed (GtkWidget *widget, GtkTextDirection prev_dir) { - GimpPreviewPrivate *priv = GET_PRIVATE (widget); + GimpPreview *preview = GIMP_PREVIEW (widget); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); gdouble xalign = 0.0; if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) @@ -368,7 +368,8 @@ gimp_preview_direction_changed (GtkWidget *widget, static gboolean gimp_preview_popup_menu (GtkWidget *widget) { - GimpPreviewPrivate *priv = GET_PRIVATE (widget); + GimpPreview *preview = GIMP_PREVIEW (widget); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); gimp_preview_area_menu_popup (GIMP_PREVIEW_AREA (priv->area), NULL); @@ -379,7 +380,7 @@ static void gimp_preview_area_realize (GtkWidget *widget, GimpPreview *preview) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); GdkDisplay *display = gtk_widget_get_display (widget); g_return_if_fail (priv->cursor_busy == NULL); @@ -392,7 +393,7 @@ static void gimp_preview_area_unrealize (GtkWidget *widget, GimpPreview *preview) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); g_clear_object (&priv->cursor_busy); } @@ -402,7 +403,7 @@ gimp_preview_area_size_allocate (GtkWidget *widget, GtkAllocation *allocation, GimpPreview *preview) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); gint width = priv->xmax - priv->xmin; gint height = priv->ymax - priv->ymin; @@ -448,7 +449,7 @@ static void gimp_preview_toggle_callback (GtkWidget *toggle, GimpPreview *preview) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle))) { @@ -481,7 +482,7 @@ gimp_preview_notify_checks (GimpPreview *preview) static gboolean gimp_preview_invalidate_now (GimpPreview *preview) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (preview)); GimpPreviewClass *class = GIMP_PREVIEW_GET_CLASS (preview); @@ -514,7 +515,7 @@ gimp_preview_invalidate_now (GimpPreview *preview) static void gimp_preview_real_set_cursor (GimpPreview *preview) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); if (gtk_widget_get_realized (priv->area)) gdk_window_set_cursor (gtk_widget_get_window (priv->area), @@ -528,7 +529,7 @@ gimp_preview_real_transform (GimpPreview *preview, gint *dest_x, gint *dest_y) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); *dest_x = src_x - priv->xoff - priv->xmin; *dest_y = src_y - priv->yoff - priv->ymin; @@ -541,7 +542,7 @@ gimp_preview_real_untransform (GimpPreview *preview, gint *dest_x, gint *dest_y) { - GimpPreviewPrivate *priv = GET_PRIVATE (preview); + GimpPreviewPrivate *priv = gimp_preview_get_instance_private (preview); *dest_x = src_x + priv->xoff + priv->xmin; *dest_y = src_y + priv->yoff + priv->ymin; @@ -579,9 +580,13 @@ gimp_preview_set_update (GimpPreview *preview, gboolean gimp_preview_get_update (GimpPreview *preview) { + GimpPreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), FALSE); - return GET_PRIVATE (preview)->update_preview; + priv = gimp_preview_get_instance_private (preview); + + return priv->update_preview; } /** @@ -611,7 +616,7 @@ gimp_preview_set_bounds (GimpPreview *preview, g_return_if_fail (xmax > xmin); g_return_if_fail (ymax > ymin); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); priv->xmin = xmin; priv->ymin = ymin; @@ -642,7 +647,7 @@ gimp_preview_get_bounds (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); if (xmin) *xmin = priv->xmin; if (ymin) *ymin = priv->ymin; @@ -659,7 +664,7 @@ gimp_preview_set_size (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); priv->width = width; priv->height = height; @@ -684,7 +689,7 @@ gimp_preview_get_size (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); if (width) *width = priv->width; if (height) *height = priv->height; @@ -699,7 +704,7 @@ gimp_preview_set_offsets (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); priv->xoff = xoff; priv->yoff = yoff; @@ -720,7 +725,7 @@ gimp_preview_get_offsets (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); if (xoff) *xoff = priv->xoff; if (yoff) *yoff = priv->yoff; @@ -743,7 +748,7 @@ gimp_preview_get_position (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); if (x) *x = priv->xoff + priv->xmin; if (y) *y = priv->yoff + priv->ymin; @@ -813,9 +818,13 @@ gimp_preview_untransform (GimpPreview *preview, GtkWidget * gimp_preview_get_frame (GimpPreview *preview) { + GimpPreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), NULL); - return GET_PRIVATE (preview)->frame; + priv = gimp_preview_get_instance_private (preview); + + return priv->frame; } /** @@ -830,9 +839,13 @@ gimp_preview_get_frame (GimpPreview *preview) GtkWidget * gimp_preview_get_grid (GimpPreview *preview) { + GimpPreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), NULL); - return GET_PRIVATE (preview)->grid; + priv = gimp_preview_get_instance_private (preview); + + return priv->grid; } /** @@ -852,9 +865,13 @@ gimp_preview_get_grid (GimpPreview *preview) GtkWidget * gimp_preview_get_area (GimpPreview *preview) { + GimpPreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), NULL); - return GET_PRIVATE (preview)->area; + priv = gimp_preview_get_instance_private (preview); + + return priv->area; } /** @@ -925,7 +942,7 @@ gimp_preview_invalidate (GimpPreview *preview) g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); if (priv->update_preview) { @@ -958,7 +975,7 @@ gimp_preview_set_default_cursor (GimpPreview *preview, g_return_if_fail (GIMP_IS_PREVIEW (preview)); - priv = GET_PRIVATE (preview); + priv = gimp_preview_get_instance_private (preview); g_set_object (&priv->default_cursor, cursor); } @@ -976,9 +993,13 @@ gimp_preview_set_default_cursor (GimpPreview *preview, GdkCursor * gimp_preview_get_default_cursor (GimpPreview *preview) { + GimpPreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), NULL); - return GET_PRIVATE (preview)->default_cursor; + priv = gimp_preview_get_instance_private (preview); + + return priv->default_cursor; } /** @@ -997,7 +1018,11 @@ gimp_preview_get_default_cursor (GimpPreview *preview) GtkWidget * gimp_preview_get_controls (GimpPreview *preview) { + GimpPreviewPrivate *priv; + g_return_val_if_fail (GIMP_IS_PREVIEW (preview), NULL); - return GET_PRIVATE (preview)->controls; + priv = gimp_preview_get_instance_private (preview); + + return priv->controls; } diff --git a/libgimpwidgets/gimppreview.h b/libgimpwidgets/gimppreview.h index f21ff68d0b..8a06e69aa6 100644 --- a/libgimpwidgets/gimppreview.h +++ b/libgimpwidgets/gimppreview.h @@ -31,23 +31,8 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ()) -#define GIMP_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PREVIEW, GimpPreview)) -#define GIMP_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PREVIEW, GimpPreviewClass)) -#define GIMP_IS_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_PREVIEW)) -#define GIMP_IS_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PREVIEW)) -#define GIMP_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_PREVIEW, GimpPreviewClass)) - - -typedef struct _GimpPreviewPrivate GimpPreviewPrivate; -typedef struct _GimpPreviewClass GimpPreviewClass; - -struct _GimpPreview -{ - GtkBox parent_instance; - - GimpPreviewPrivate *priv; -}; +#define GIMP_TYPE_PREVIEW (gimp_preview_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpPreview, gimp_preview, GIMP, PREVIEW, GtkBox) struct _GimpPreviewClass { @@ -90,8 +75,6 @@ struct _GimpPreviewClass }; -GType gimp_preview_get_type (void) G_GNUC_CONST; - void gimp_preview_set_update (GimpPreview *preview, gboolean update); gboolean gimp_preview_get_update (GimpPreview *preview); diff --git a/libgimpwidgets/gimpscrolledpreview.c b/libgimpwidgets/gimpscrolledpreview.c index 4f9e3d8c7b..611180858d 100644 --- a/libgimpwidgets/gimpscrolledpreview.c +++ b/libgimpwidgets/gimpscrolledpreview.c @@ -47,7 +47,7 @@ #define POPUP_SIZE 100 -struct _GimpScrolledPreviewPrivate +typedef struct _GimpScrolledPreviewPrivate { GtkWidget *hscr; GtkWidget *vscr; @@ -60,7 +60,7 @@ struct _GimpScrolledPreviewPrivate gint drag_yoff; gboolean in_drag; gint frozen; -}; +} GimpScrolledPreviewPrivate; #define GET_PRIVATE(obj) (gimp_scrolled_preview_get_instance_private ((GimpScrolledPreview *) (obj))) diff --git a/libgimpwidgets/gimpscrolledpreview.h b/libgimpwidgets/gimpscrolledpreview.h index 45a2cd8e81..cf301c88bb 100644 --- a/libgimpwidgets/gimpscrolledpreview.h +++ b/libgimpwidgets/gimpscrolledpreview.h @@ -33,21 +33,8 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -#define GIMP_TYPE_SCROLLED_PREVIEW (gimp_scrolled_preview_get_type ()) -#define GIMP_SCROLLED_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_SCROLLED_PREVIEW, GimpScrolledPreview)) -#define GIMP_SCROLLED_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_SCROLLED_PREVIEW, GimpScrolledPreviewClass)) -#define GIMP_IS_SCROLLED_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_SCROLLED_PREVIEW)) -#define GIMP_IS_SCROLLED_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_SCROLLED_PREVIEW)) -#define GIMP_SCROLLED_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_SCROLLED_PREVIEW, GimpScrolledPreviewClass)) - - -typedef struct _GimpScrolledPreviewPrivate GimpScrolledPreviewPrivate; -typedef struct _GimpScrolledPreviewClass GimpScrolledPreviewClass; - -struct _GimpScrolledPreview -{ - GimpPreview parent_instance; -}; +#define GIMP_TYPE_SCROLLED_PREVIEW (gimp_scrolled_preview_get_type ()) +G_DECLARE_DERIVABLE_TYPE (GimpScrolledPreview, gimp_scrolled_preview, GIMP, SCROLLED_PREVIEW, GimpPreview) struct _GimpScrolledPreviewClass { @@ -65,8 +52,6 @@ struct _GimpScrolledPreviewClass }; -GType gimp_scrolled_preview_get_type (void) G_GNUC_CONST; - void gimp_scrolled_preview_set_position (GimpScrolledPreview *preview, gint x, gint y);