gimp r25124 - in trunk: . app/display app/gui
- From: mitch svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r25124 - in trunk: . app/display app/gui
- Date: Wed, 19 Mar 2008 16:15:51 +0000 (GMT)
Author: mitch
Date: Wed Mar 19 16:15:50 2008
New Revision: 25124
URL: http://svn.gnome.org/viewvc/gimp?rev=25124&view=rev
Log:
2008-03-19 Michael Natterer <mitch gimp org>
* app/display/gimpdisplay.[ch]: add gimp_display_empty()/fill()
which turns it into an empty display and back.
* app/display/gimpdisplayshell.[ch]: add same api here.
* app/display/gimpdisplayshell-close.c
* app/gui/gui-vtable.c: use the new functions instead of having
the code here.
* app/display/gimpdisplayshell-selection.c
(gimp_display_shell_selection_control): stop the timeout and free
the segments when this function is called on an empty display.
Modified:
trunk/ChangeLog
trunk/app/display/gimpdisplay.c
trunk/app/display/gimpdisplay.h
trunk/app/display/gimpdisplayshell-close.c
trunk/app/display/gimpdisplayshell-selection.c
trunk/app/display/gimpdisplayshell.c
trunk/app/display/gimpdisplayshell.h
trunk/app/gui/gui-vtable.c
Modified: trunk/app/display/gimpdisplay.c
==============================================================================
--- trunk/app/display/gimpdisplay.c (original)
+++ trunk/app/display/gimpdisplay.c Wed Mar 19 16:15:50 2008
@@ -495,6 +495,32 @@
}
void
+gimp_display_empty (GimpDisplay *display)
+{
+ g_return_if_fail (GIMP_IS_DISPLAY (display));
+ g_return_if_fail (GIMP_IS_IMAGE (display->image));
+
+ gimp_display_set_image (display, NULL);
+
+ gimp_display_shell_empty (GIMP_DISPLAY_SHELL (display->shell));
+}
+
+void
+gimp_display_fill (GimpDisplay *display,
+ GimpImage *image,
+ GimpUnit unit,
+ gdouble scale)
+{
+ g_return_if_fail (GIMP_IS_DISPLAY (display));
+ g_return_if_fail (GIMP_IS_IMAGE (image));
+
+ gimp_display_set_image (display, image);
+
+ gimp_display_shell_fill (GIMP_DISPLAY_SHELL (display->shell),
+ image, unit, scale);
+}
+
+void
gimp_display_update_area (GimpDisplay *display,
gboolean now,
gint x,
Modified: trunk/app/display/gimpdisplay.h
==============================================================================
--- trunk/app/display/gimpdisplay.h (original)
+++ trunk/app/display/gimpdisplay.h Wed Mar 19 16:15:50 2008
@@ -74,6 +74,12 @@
void gimp_display_set_image (GimpDisplay *display,
GimpImage *image);
+void gimp_display_empty (GimpDisplay *display);
+void gimp_display_fill (GimpDisplay *display,
+ GimpImage *image,
+ GimpUnit unit,
+ gdouble scale);
+
void gimp_display_update_area (GimpDisplay *display,
gboolean now,
gint x,
Modified: trunk/app/display/gimpdisplayshell-close.c
==============================================================================
--- trunk/app/display/gimpdisplayshell-close.c (original)
+++ trunk/app/display/gimpdisplayshell-close.c Wed Mar 19 16:15:50 2008
@@ -42,12 +42,7 @@
#include "gimpdisplay.h"
#include "gimpdisplayshell.h"
-#include "gimpdisplayshell-appearance.h"
#include "gimpdisplayshell-close.h"
-#include "gimpdisplayshell-cursor.h"
-#include "gimpdisplayshell-scale.h"
-#include "gimpdisplayshell-scroll.h"
-#include "gimpdisplayshell-selection.h"
#include "gimp-intl.h"
@@ -310,20 +305,7 @@
{
GimpContext *user_context;
- gimp_display_shell_selection_control (shell, GIMP_SELECTION_OFF);
-
- gimp_display_set_image (shell->display, NULL);
-
- gimp_display_shell_expose_full (shell);
-
- gimp_display_shell_scale (shell, GIMP_ZOOM_TO, 1.0);
- gimp_display_shell_scroll_clamp_offsets (shell);
- gimp_display_shell_scale_setup (shell);
- gimp_display_shell_scaled (shell);
-
- gimp_display_shell_set_cursor (shell, GIMP_CURSOR_MOUSE,
- GIMP_TOOL_CURSOR_NONE,
- GIMP_CURSOR_MODIFIER_NONE);
+ gimp_display_empty (shell->display);
gimp_ui_manager_update (shell->menubar_manager, shell->display);
@@ -331,8 +313,6 @@
if (shell->display == gimp_context_get_display (user_context))
gimp_ui_manager_update (shell->popup_manager, shell->display);
-
- gimp_display_shell_appearance_update (shell);
}
}
Modified: trunk/app/display/gimpdisplayshell-selection.c
==============================================================================
--- trunk/app/display/gimpdisplayshell-selection.c (original)
+++ trunk/app/display/gimpdisplayshell-selection.c Wed Mar 19 16:15:50 2008
@@ -197,6 +197,11 @@
break;
}
}
+ else if (shell->selection)
+ {
+ selection_stop (shell->selection);
+ selection_free_segs (shell->selection);
+ }
}
void
Modified: trunk/app/display/gimpdisplayshell.c
==============================================================================
--- trunk/app/display/gimpdisplayshell.c (original)
+++ trunk/app/display/gimpdisplayshell.c Wed Mar 19 16:15:50 2008
@@ -67,6 +67,7 @@
#include "gimpdisplayshell-handlers.h"
#include "gimpdisplayshell-progress.h"
#include "gimpdisplayshell-scale.h"
+#include "gimpdisplayshell-scroll.h"
#include "gimpdisplayshell-selection.h"
#include "gimpdisplayshell-title.h"
#include "gimpdisplayshell-transform.h"
@@ -92,7 +93,7 @@
/* local function prototypes */
-static void gimp_color_managed_iface_init (GimpColorManagedInterface *iface);
+static void gimp_color_managed_iface_init (GimpColorManagedInterface *iface);
static void gimp_display_shell_finalize (GObject *object);
static void gimp_display_shell_set_property (GObject *object,
@@ -1101,8 +1102,48 @@
gimp_color_managed_profile_changed (GIMP_COLOR_MANAGED (shell));
gimp_display_shell_scale_setup (shell);
+ gimp_display_shell_scaled (shell);
+
gimp_display_shell_expose_full (shell);
+}
+
+void
+gimp_display_shell_empty (GimpDisplayShell *shell)
+{
+ g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
+ g_return_if_fail (GIMP_IS_DISPLAY (shell->display));
+ g_return_if_fail (shell->display->image == NULL);
+
+ gimp_display_shell_selection_control (shell, GIMP_SELECTION_OFF);
+
+ gimp_display_shell_scale (shell, GIMP_ZOOM_TO, 1.0);
+ gimp_display_shell_scroll_clamp_offsets (shell);
+ gimp_display_shell_scale_setup (shell);
gimp_display_shell_scaled (shell);
+
+ gimp_display_shell_appearance_update (shell);
+
+ gimp_display_shell_expose_full (shell);
+}
+
+void
+gimp_display_shell_fill (GimpDisplayShell *shell,
+ GimpImage *image,
+ GimpUnit unit,
+ gdouble scale)
+{
+ gint display_width;
+ gint display_height;
+
+ g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
+ g_return_if_fail (GIMP_IS_DISPLAY (shell->display));
+ g_return_if_fail (GIMP_IS_IMAGE (image));
+
+ gimp_display_shell_set_unit (shell, unit);
+ gimp_display_shell_set_initial_scale (shell, scale,
+ &display_width, &display_height);
+
+ gimp_display_shell_appearance_update (shell);
}
/*
Modified: trunk/app/display/gimpdisplayshell.h
==============================================================================
--- trunk/app/display/gimpdisplayshell.h (original)
+++ trunk/app/display/gimpdisplayshell.h Wed Mar 19 16:15:50 2008
@@ -211,6 +211,12 @@
void gimp_display_shell_reconnect (GimpDisplayShell *shell);
+void gimp_display_shell_empty (GimpDisplayShell *shell);
+void gimp_display_shell_fill (GimpDisplayShell *shell,
+ GimpImage *image,
+ GimpUnit unit,
+ gdouble scale);
+
void gimp_display_shell_scale_changed (GimpDisplayShell *shell);
void gimp_display_shell_scaled (GimpDisplayShell *shell);
Modified: trunk/app/gui/gui-vtable.c
==============================================================================
--- trunk/app/gui/gui-vtable.c (original)
+++ trunk/app/gui/gui-vtable.c Wed Mar 19 16:15:50 2008
@@ -59,8 +59,6 @@
#include "display/gimpdisplay.h"
#include "display/gimpdisplay-foreach.h"
#include "display/gimpdisplayshell.h"
-#include "display/gimpdisplayshell-appearance.h"
-#include "display/gimpdisplayshell-scale.h"
#include "actions/plug-in-actions.h"
@@ -298,15 +296,7 @@
if (display)
{
- gint display_width;
- gint display_height;
-
- gimp_display_set_image (display, image);
- gimp_display_shell_set_unit (GIMP_DISPLAY_SHELL (display->shell), unit);
- gimp_display_shell_set_initial_scale (GIMP_DISPLAY_SHELL (display->shell),
- scale,
- &display_width, &display_height);
- gimp_display_shell_appearance_update (GIMP_DISPLAY_SHELL (display->shell));
+ gimp_display_fill (display, image, unit, scale);
if (gimp_context_get_display (context) == display)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]