[gnome-photos] base-item: Add photos_base_item_get_bbox_edited



commit ddcebc354c5cb0a5ee15f6e95bc2b97dbe0101e0
Author: Debarshi Ray <debarshir gnome org>
Date:   Fri Dec 25 10:11:27 2015 +0100

    base-item: Add photos_base_item_get_bbox_edited
    
    We need to know the size of the edited item so that we can find out if
    it is big enough to be downscaled and by how much.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759363

 src/photos-base-item.c |   26 ++++++++++++++++++++++++++
 src/photos-base-item.h |    2 ++
 2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/src/photos-base-item.c b/src/photos-base-item.c
index 1ec4262..d07cb34 100644
--- a/src/photos-base-item.c
+++ b/src/photos-base-item.c
@@ -1704,6 +1704,32 @@ photos_base_item_get_author (PhotosBaseItem *self)
 
 
 gboolean
+photos_base_item_get_bbox_edited (PhotosBaseItem *self, GeglRectangle *out_bbox)
+{
+  PhotosBaseItemPrivate *priv;
+  GeglNode *graph;
+  GeglRectangle bbox;
+
+  g_return_val_if_fail (PHOTOS_IS_BASE_ITEM (self), FALSE);
+  priv = self->priv;
+
+  g_return_val_if_fail (priv->edit_graph != NULL, FALSE);
+  g_return_val_if_fail (priv->load_graph != NULL, FALSE);
+  g_return_val_if_fail (priv->pipeline != NULL, FALSE);
+  g_return_val_if_fail (priv->processor != NULL, FALSE);
+  g_return_val_if_fail (!gegl_processor_work (priv->processor, NULL), FALSE);
+
+  graph = photos_pipeline_get_graph (priv->pipeline);
+  bbox = gegl_node_get_bounding_box (graph);
+
+  if (out_bbox != NULL)
+    *out_bbox = bbox;
+
+  return TRUE;
+}
+
+
+gboolean
 photos_base_item_get_bbox_source (PhotosBaseItem *self, GeglRectangle *bbox)
 {
   PhotosBaseItemPrivate *priv = self->priv;
diff --git a/src/photos-base-item.h b/src/photos-base-item.h
index 54c8dae..bb71ede 100644
--- a/src/photos-base-item.h
+++ b/src/photos-base-item.h
@@ -118,6 +118,8 @@ gchar              *photos_base_item_download_finish         (PhotosBaseItem *se
 
 const gchar        *photos_base_item_get_author              (PhotosBaseItem *self);
 
+gboolean            photos_base_item_get_bbox_edited         (PhotosBaseItem *self, GeglRectangle *out_bbox);
+
 gboolean            photos_base_item_get_bbox_source         (PhotosBaseItem *self, GeglRectangle *bbox);
 
 gint64              photos_base_item_get_date_created        (PhotosBaseItem *self);


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