[gimp] app: add gimp_display_shell_get_canvas_pickable()
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_display_shell_get_canvas_pickable()
- Date: Thu, 19 Sep 2019 17:26:59 +0000 (UTC)
commit 71f42f66753006f77d20611ef56fac260e2e6890
Author: Ell <ell_se yahoo com>
Date: Thu Sep 19 19:57:16 2019 +0300
app: add gimp_display_shell_get_canvas_pickable()
... which is similar to gimp_display_shell_get_pickable(), however,
it returns the projection, rather than the image, only when
gimp_display_shell_get_infinite_canvas() is TRUE, i.e., when the
shell is in "show all" mode *and* canvas padding is disabled.
app/display/gimpdisplayshell.c | 20 ++++++++++++++++++++
app/display/gimpdisplayshell.h | 2 ++
2 files changed, 22 insertions(+)
---
diff --git a/app/display/gimpdisplayshell.c b/app/display/gimpdisplayshell.c
index f94c6ab356..365e7d08e7 100644
--- a/app/display/gimpdisplayshell.c
+++ b/app/display/gimpdisplayshell.c
@@ -1817,6 +1817,26 @@ gimp_display_shell_get_pickable (GimpDisplayShell *shell)
return NULL;
}
+GimpPickable *
+gimp_display_shell_get_canvas_pickable (GimpDisplayShell *shell)
+{
+ GimpImage *image;
+
+ g_return_val_if_fail (GIMP_IS_DISPLAY_SHELL (shell), NULL);
+
+ image = gimp_display_get_image (shell->display);
+
+ if (image)
+ {
+ if (! gimp_display_shell_get_infinite_canvas (shell))
+ return GIMP_PICKABLE (image);
+ else
+ return GIMP_PICKABLE (gimp_image_get_projection (image));
+ }
+
+ return NULL;
+}
+
GeglRectangle
gimp_display_shell_get_bounding_box (GimpDisplayShell *shell)
{
diff --git a/app/display/gimpdisplayshell.h b/app/display/gimpdisplayshell.h
index ff3a7d3048..389370b464 100644
--- a/app/display/gimpdisplayshell.h
+++ b/app/display/gimpdisplayshell.h
@@ -317,6 +317,8 @@ void gimp_display_shell_set_show_all (GimpDisplayShell *shell,
gboolean show_all);
GimpPickable * gimp_display_shell_get_pickable (GimpDisplayShell *shell);
+GimpPickable * gimp_display_shell_get_canvas_pickable
+ (GimpDisplayShell *shell);
GeglRectangle gimp_display_shell_get_bounding_box
(GimpDisplayShell *shell);
gboolean gimp_display_shell_get_infinite_canvas
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]