Always repaint synchronously here, since the expose events are already

2002-02-14  Jens Finke <jens@triq.net>

	* image-view.c (image_view_expose): Always repaint synchronously
	here, since the expose events are already send async by gtk+
	2.0. This fixes the flickering described in bug #70909.
	(redraw_all): Removed this function and replaced all calls to it
	with gtk_widget_queue_draw, which has the same effect.

	* gtkscrollframe.[ch]: Removed these long dead files.
This commit is contained in:
Jens Finke 2002-02-14 12:29:48 +00:00 committed by Jens Finke
parent e54c48550e
commit 6991c7a1d7
4 changed files with 23 additions and 1414 deletions

View file

@ -1,3 +1,13 @@
2002-02-14 Jens Finke <jens@triq.net>
* image-view.c (image_view_expose): Always repaint synchronously
here, since the expose events are already send async by gtk+
2.0. This fixes the flickering described in bug #70909.
(redraw_all): Removed this function and replaced all calls to it
with gtk_widget_queue_draw, which has the same effect.
* gtkscrollframe.[ch]: Removed these long dead files.
2002-02-01 Michael Meeks <michael@ximian.com>
* GNOME_EOG.server.in: add Unknown,

File diff suppressed because it is too large Load diff

View file

@ -1,99 +0,0 @@
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
* Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __GTK_SCROLL_FRAME_H__
#define __GTK_SCROLL_FRAME_H__
#include <gdk/gdk.h>
#include <gtk/gtkbin.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define GTK_TYPE_SCROLL_FRAME (gtk_scroll_frame_get_type ())
#define GTK_SCROLL_FRAME(obj) (GTK_CHECK_CAST ((obj), \
GTK_TYPE_SCROLL_FRAME, GtkScrollFrame))
#define GTK_SCROLL_FRAME_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), \
GTK_TYPE_SCROLL_FRAME, GtkScrollFrameClass))
#define GTK_IS_SCROLL_FRAME(obj) (GTK_CHECK_TYPE ((obj), \
GTK_TYPE_SCROLL_FRAME))
#define GTK_IS_SCROLL_FRAME_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), \
GTK_TYPE_SCROLL_FRAME))
typedef struct _GtkScrollFrame GtkScrollFrame;
typedef struct _GtkScrollFrameClass GtkScrollFrameClass;
struct _GtkScrollFrame
{
GtkBin bin;
/* Private data */
gpointer priv;
};
struct _GtkScrollFrameClass
{
GtkBinClass parent_class;
};
GtkType gtk_scroll_frame_get_type (void);
GtkWidget *gtk_scroll_frame_new (GtkAdjustment *hadj, GtkAdjustment *vadj);
void gtk_scroll_frame_set_hadjustment (GtkScrollFrame *sf, GtkAdjustment *adj);
void gtk_scroll_frame_set_vadjustment (GtkScrollFrame *sf, GtkAdjustment *adj);
GtkAdjustment *gtk_scroll_frame_get_hadjustment (GtkScrollFrame *sf);
GtkAdjustment *gtk_scroll_frame_get_vadjustment (GtkScrollFrame *sf);
void gtk_scroll_frame_set_policy (GtkScrollFrame *sf,
GtkPolicyType hsb_policy,
GtkPolicyType vsb_policy);
void gtk_scroll_frame_get_policy (GtkScrollFrame *sf,
GtkPolicyType *hsb_policy,
GtkPolicyType *vsb_policy);
void gtk_scroll_frame_set_placement (GtkScrollFrame *sf, GtkCornerType frame_placement);
void gtk_scroll_frame_set_shadow_type (GtkScrollFrame *sf, GtkShadowType shadow_type);
GtkShadowType gtk_scroll_frame_get_shadow_type (GtkScrollFrame *sf);
void gtk_scroll_frame_set_scrollbar_spacing (GtkScrollFrame *sf, guint spacing);
void gtk_scroll_frame_add_with_viewport (GtkScrollFrame *sf, GtkWidget *child);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __GTK_SCROLL_FRAME_H__ */

View file

@ -1413,7 +1413,7 @@ image_view_expose (GtkWidget *widget, GdkEventExpose *event)
view = IMAGE_VIEW (widget);
request_paint_area (view, &event->area, TRUE);
request_paint_area (view, &event->area, FALSE);
return TRUE;
}
@ -1625,20 +1625,6 @@ image_view_new (void)
return GTK_WIDGET (gtk_type_new (TYPE_IMAGE_VIEW));
}
/* Requests a full redraw of the image view */
static void
redraw_all (ImageView *view)
{
GdkRectangle r;
r.x = 0;
r.y = 0;
r.width = GTK_WIDGET (view)->allocation.width;
r.height = GTK_WIDGET (view)->allocation.height;
request_paint_area (view, &r, TRUE);
}
GdkPixbuf *
image_view_get_pixbuf (ImageView *view)
{
@ -1677,7 +1663,7 @@ image_view_set_pixbuf (ImageView *view, GdkPixbuf *pixbuf)
/* FIXME: adjust zoom / image offsets; maybe just offsets here */
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**
@ -1767,7 +1753,7 @@ image_view_set_interp_type (ImageView *view, GdkInterpType interp_type)
return;
priv->interp_type = interp_type;
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**
@ -1811,7 +1797,8 @@ image_view_set_check_type (ImageView *view, CheckType check_type)
return;
priv->check_type = check_type;
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**
@ -1855,7 +1842,8 @@ image_view_set_check_size (ImageView *view, CheckSize check_size)
return;
priv->check_size = check_size;
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**
@ -1899,7 +1887,8 @@ image_view_set_dither (ImageView *view, GdkRgbDither dither)
return;
priv->dither = dither;
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**
@ -1943,7 +1932,8 @@ image_view_set_scroll (ImageView *view, ScrollType scroll)
return;
priv->scroll = scroll;
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**
@ -1987,7 +1977,8 @@ image_view_set_full_screen_zoom (ImageView *view, FullScreenZoom full_screen_zoo
return;
priv->full_screen_zoom = full_screen_zoom;
redraw_all (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
/**