app: move "image" member of GimpDisplay to the private struct

This commit is contained in:
Michael Natterer
2010-02-28 16:14:54 +01:00
parent 144210031d
commit 8671860945
3 changed files with 35 additions and 20 deletions

View File

@ -64,8 +64,11 @@ typedef struct _GimpDisplayPrivate GimpDisplayPrivate;
struct _GimpDisplayPrivate struct _GimpDisplayPrivate
{ {
gint ID; /* unique identifier for this display */ gint ID; /* unique identifier for this display */
GimpImage *image; /* pointer to the associated image */
gint instance; /* the instance # of this display as gint instance; /* the instance # of this display as
* taken from the image at creation */ * taken from the image at creation */
GtkWidget *shell; GtkWidget *shell;
GSList *update_areas; GSList *update_areas;
}; };
@ -244,7 +247,7 @@ gimp_display_get_property (GObject *object,
break; break;
case PROP_IMAGE: case PROP_IMAGE:
g_value_set_object (value, display->image); g_value_set_object (value, private->image);
break; break;
case PROP_SHELL: case PROP_SHELL:
@ -432,7 +435,7 @@ gimp_display_new (Gimp *gimp,
if (! window) if (! window)
{ {
window = gimp_image_window_new (gimp, window = gimp_image_window_new (gimp,
display->image, private->image,
menu_factory, menu_factory,
dialog_factory); dialog_factory);
} }
@ -592,7 +595,7 @@ gimp_display_get_image (GimpDisplay *display)
{ {
g_return_val_if_fail (GIMP_IS_DISPLAY (display), NULL); g_return_val_if_fail (GIMP_IS_DISPLAY (display), NULL);
return display->image; return GIMP_DISPLAY_GET_PRIVATE (display)->image;
} }
void void
@ -610,7 +613,7 @@ gimp_display_set_image (GimpDisplay *display,
shell = gimp_display_get_shell (display); shell = gimp_display_get_shell (display);
if (display->image) if (private->image)
{ {
/* stop any active tool */ /* stop any active tool */
tool_manager_control_active (display->gimp, GIMP_TOOL_ACTION_HALT, tool_manager_control_active (display->gimp, GIMP_TOOL_ACTION_HALT,
@ -620,13 +623,13 @@ gimp_display_set_image (GimpDisplay *display,
gimp_display_disconnect (display); gimp_display_disconnect (display);
gimp_image_dec_display_count (display->image); gimp_image_dec_display_count (private->image);
/* set display->image before unrefing because there may be code /* set private->image before unrefing because there may be code
* that listens for image removals and then iterates the * that listens for image removals and then iterates the
* display list to find a valid display. * display list to find a valid display.
*/ */
old_image = display->image; old_image = private->image;
#if 0 #if 0
g_print ("%s: image->ref_count before unrefing: %d\n", g_print ("%s: image->ref_count before unrefing: %d\n",
@ -634,7 +637,7 @@ gimp_display_set_image (GimpDisplay *display,
#endif #endif
} }
display->image = image; private->image = image;
if (image) if (image)
{ {
@ -698,8 +701,13 @@ gimp_display_get_shell (GimpDisplay *display)
void void
gimp_display_empty (GimpDisplay *display) gimp_display_empty (GimpDisplay *display)
{ {
GimpDisplayPrivate *private;
g_return_if_fail (GIMP_IS_DISPLAY (display)); g_return_if_fail (GIMP_IS_DISPLAY (display));
g_return_if_fail (GIMP_IS_IMAGE (display->image));
private = GIMP_DISPLAY_GET_PRIVATE (display);
g_return_if_fail (GIMP_IS_IMAGE (private->image));
gimp_display_set_image (display, NULL); gimp_display_set_image (display, NULL);
@ -712,9 +720,15 @@ gimp_display_fill (GimpDisplay *display,
GimpUnit unit, GimpUnit unit,
gdouble scale) gdouble scale)
{ {
GimpDisplayPrivate *private;
g_return_if_fail (GIMP_IS_DISPLAY (display)); g_return_if_fail (GIMP_IS_DISPLAY (display));
g_return_if_fail (GIMP_IS_IMAGE (image)); g_return_if_fail (GIMP_IS_IMAGE (image));
private = GIMP_DISPLAY_GET_PRIVATE (display);
g_return_if_fail (private->image == NULL);
gimp_display_set_image (display, image); gimp_display_set_image (display, image);
gimp_display_shell_fill (gimp_display_get_shell (display), gimp_display_shell_fill (gimp_display_get_shell (display),
@ -742,8 +756,8 @@ gimp_display_update_area (GimpDisplay *display,
else else
{ {
GimpArea *area; GimpArea *area;
gint image_width = gimp_image_get_width (display->image); gint image_width = gimp_image_get_width (private->image);
gint image_height = gimp_image_get_height (display->image); gint image_height = gimp_image_get_height (private->image);
area = gimp_area_new (CLAMP (x, 0, image_width), area = gimp_area_new (CLAMP (x, 0, image_width),
CLAMP (y, 0, image_height), CLAMP (y, 0, image_height),
@ -812,9 +826,10 @@ gimp_display_paint_area (GimpDisplay *display,
gint w, gint w,
gint h) gint h)
{ {
GimpDisplayPrivate *private = GIMP_DISPLAY_GET_PRIVATE (display);
GimpDisplayShell *shell = gimp_display_get_shell (display); GimpDisplayShell *shell = gimp_display_get_shell (display);
gint image_width = gimp_image_get_width (display->image); gint image_width = gimp_image_get_width (private->image);
gint image_height = gimp_image_get_height (display->image); gint image_height = gimp_image_get_height (private->image);
gint x1, y1, x2, y2; gint x1, y1, x2, y2;
gdouble x1_f, y1_f, x2_f, y2_f; gdouble x1_f, y1_f, x2_f, y2_f;

View File

@ -36,10 +36,9 @@ struct _GimpDisplay
{ {
GimpObject parent_instance; GimpObject parent_instance;
Gimp *gimp; /* global gimp instance */ Gimp *gimp;
GimpDisplayConfig *config; GimpDisplayConfig *config;
GimpImage *image; /* pointer to the associated image */
}; };
struct _GimpDisplayClass struct _GimpDisplayClass

View File

@ -362,7 +362,8 @@ gimp_display_shell_get_screen_resolution (GimpDisplayShell *shell,
if (shell->dot_for_dot) if (shell->dot_for_dot)
{ {
gimp_image_get_resolution (shell->display->image, &x, &y); gimp_image_get_resolution (gimp_display_get_image (shell->display),
&x, &y);
} }
else else
{ {