[gimp/blend-tool-fun: 50/163] libgimp: start getting rid of using GimpDrawable in the drawable previews
- From: Michael Henning <mhenning src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/blend-tool-fun: 50/163] libgimp: start getting rid of using GimpDrawable in the drawable previews
- Date: Mon, 26 Oct 2015 02:22:25 +0000 (UTC)
commit 91fe7951d27e91922b9016e6da5fed3d7c3bbd98
Author: Michael Natterer <mitch gimp org>
Date: Mon Sep 14 19:47:18 2015 +0200
libgimp: start getting rid of using GimpDrawable in the drawable previews
Start with the internal APIs that need no deprecations.
libgimp/gimpdrawablepreview.c | 44 +++++++++++++++++++++-------------------
libgimp/gimpdrawablepreview.h | 4 +-
libgimp/gimpzoompreview.c | 6 +++-
3 files changed, 29 insertions(+), 25 deletions(-)
---
diff --git a/libgimp/gimpdrawablepreview.c b/libgimp/gimpdrawablepreview.c
index 26b1504..e7f1948 100644
--- a/libgimp/gimpdrawablepreview.c
+++ b/libgimp/gimpdrawablepreview.c
@@ -285,12 +285,13 @@ gimp_drawable_preview_draw_thumb (GimpPreview *preview,
GimpDrawable *drawable = drawable_preview->drawable;
if (drawable)
- _gimp_drawable_preview_area_draw_thumb (area, drawable, width, height);
+ _gimp_drawable_preview_area_draw_thumb (area, drawable->drawable_id,
+ width, height);
}
void
_gimp_drawable_preview_area_draw_thumb (GimpPreviewArea *area,
- GimpDrawable *drawable,
+ gint32 drawable_ID,
gint width,
gint height)
{
@@ -301,17 +302,18 @@ _gimp_drawable_preview_area_draw_thumb (GimpPreviewArea *area,
gint nav_width, nav_height;
g_return_if_fail (GIMP_IS_PREVIEW_AREA (area));
- g_return_if_fail (drawable != NULL);
+ g_return_if_fail (gimp_item_is_valid (drawable_ID));
+ g_return_if_fail (gimp_item_is_drawable (drawable_ID));
- if (_gimp_drawable_preview_get_bounds (drawable, &x1, &y1, &x2, &y2))
+ if (_gimp_drawable_preview_get_bounds (drawable_ID, &x1, &y1, &x2, &y2))
{
width = x2 - x1;
height = y2 - y1;
}
else
{
- width = gimp_drawable_width (drawable->drawable_id);
- height = gimp_drawable_height (drawable->drawable_id);
+ width = gimp_drawable_width (drawable_ID);
+ height = gimp_drawable_height (drawable_ID);
}
if (width > height)
@@ -325,16 +327,16 @@ _gimp_drawable_preview_area_draw_thumb (GimpPreviewArea *area,
nav_width = (width * nav_height) / height;
}
- if (_gimp_drawable_preview_get_bounds (drawable, &x1, &y1, &x2, &y2))
+ if (_gimp_drawable_preview_get_bounds (drawable_ID, &x1, &y1, &x2, &y2))
{
- buffer = gimp_drawable_get_sub_thumbnail_data (drawable->drawable_id,
+ buffer = gimp_drawable_get_sub_thumbnail_data (drawable_ID,
x1, y1, x2 - x1, y2 - y1,
&nav_width, &nav_height,
&bpp);
}
else
{
- buffer = gimp_drawable_get_thumbnail_data (drawable->drawable_id,
+ buffer = gimp_drawable_get_thumbnail_data (drawable_ID,
&nav_width, &nav_height,
&bpp);
}
@@ -479,7 +481,7 @@ gimp_drawable_preview_set_drawable (GimpDrawablePreview *drawable_preview,
drawable_preview->drawable = drawable;
- _gimp_drawable_preview_get_bounds (drawable, &x1, &y1, &x2, &y2);
+ _gimp_drawable_preview_get_bounds (drawable->drawable_id, &x1, &y1, &x2, &y2);
gimp_preview_set_bounds (preview, x1, y1, x2, y2);
@@ -501,11 +503,11 @@ gimp_drawable_preview_set_drawable (GimpDrawablePreview *drawable_preview,
#define MIN3(a, b, c) (MIN (MIN ((a), (b)), (c)))
gboolean
-_gimp_drawable_preview_get_bounds (GimpDrawable *drawable,
- gint *xmin,
- gint *ymin,
- gint *xmax,
- gint *ymax)
+_gimp_drawable_preview_get_bounds (gint32 drawable_ID,
+ gint *xmin,
+ gint *ymin,
+ gint *xmax,
+ gint *ymax)
{
gint width;
gint height;
@@ -515,15 +517,15 @@ _gimp_drawable_preview_get_bounds (GimpDrawable *drawable,
gint x2, y2;
gboolean retval;
- g_return_val_if_fail (drawable != NULL, FALSE);
+ g_return_val_if_fail (gimp_item_is_valid (drawable_ID), FALSE);
+ g_return_val_if_fail (gimp_item_is_drawable (drawable_ID), FALSE);
- width = gimp_drawable_width (drawable->drawable_id);
- height = gimp_drawable_height (drawable->drawable_id);
+ width = gimp_drawable_width (drawable_ID);
+ height = gimp_drawable_height (drawable_ID);
- retval = gimp_drawable_mask_bounds (drawable->drawable_id,
- &x1, &y1, &x2, &y2);
+ retval = gimp_drawable_mask_bounds (drawable_ID, &x1, &y1, &x2, &y2);
- gimp_drawable_offsets (drawable->drawable_id, &offset_x, &offset_y);
+ gimp_drawable_offsets (drawable_ID, &offset_x, &offset_y);
*xmin = MAX3 (x1 - SELECTION_BORDER, 0, - offset_x);
*ymin = MAX3 (y1 - SELECTION_BORDER, 0, - offset_y);
diff --git a/libgimp/gimpdrawablepreview.h b/libgimp/gimpdrawablepreview.h
index 9767a21..bddd34b 100644
--- a/libgimp/gimpdrawablepreview.h
+++ b/libgimp/gimpdrawablepreview.h
@@ -71,10 +71,10 @@ void gimp_drawable_preview_draw_region (GimpDrawablePreview *preview,
/* for internal use only */
G_GNUC_INTERNAL void _gimp_drawable_preview_area_draw_thumb (GimpPreviewArea *area,
- GimpDrawable *drawable,
+ gint32 drawable_ID,
gint width,
gint height);
-G_GNUC_INTERNAL gboolean _gimp_drawable_preview_get_bounds (GimpDrawable *drawable,
+G_GNUC_INTERNAL gboolean _gimp_drawable_preview_get_bounds (gint32 drawable_ID,
gint *xmin,
gint *ymin,
gint *xmax,
diff --git a/libgimp/gimpzoompreview.c b/libgimp/gimpzoompreview.c
index e0c734f..b40e516 100644
--- a/libgimp/gimpzoompreview.c
+++ b/libgimp/gimpzoompreview.c
@@ -394,7 +394,8 @@ gimp_zoom_preview_style_set (GtkWidget *widget,
gtk_widget_style_get (widget, "size", &size, NULL);
- if (_gimp_drawable_preview_get_bounds (drawable, &x1, &y1, &x2, &y2))
+ if (_gimp_drawable_preview_get_bounds (drawable->drawable_id,
+ &x1, &y1, &x2, &y2))
{
width = x2 - x1;
height = y2 - y1;
@@ -557,7 +558,8 @@ gimp_zoom_preview_draw_thumb (GimpPreview *preview,
GimpDrawable *drawable = priv->drawable;
if (drawable)
- _gimp_drawable_preview_area_draw_thumb (area, drawable, width, height);
+ _gimp_drawable_preview_area_draw_thumb (area, drawable->drawable_id,
+ width, height);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]