[gimp/gtk3-port: 48/228] app: port the splash to GTK+ 3.0
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gtk3-port: 48/228] app: port the splash to GTK+ 3.0
- Date: Tue, 1 Apr 2014 23:55:10 +0000 (UTC)
commit b53f73d6ac44176fc9cfae192a2312ab18380931
Author: Michael Natterer <mitch gimp org>
Date: Tue Oct 19 18:56:32 2010 +0200
app: port the splash to GTK+ 3.0
app/gui/splash.c | 32 +++++++++++---------------------
1 files changed, 11 insertions(+), 21 deletions(-)
---
diff --git a/app/gui/splash.c b/app/gui/splash.c
index 5481947..35a2e56 100644
--- a/app/gui/splash.c
+++ b/app/gui/splash.c
@@ -68,14 +68,14 @@ static void splash_position_layouts (GimpSplash *splash,
const gchar *text1,
const gchar *text2,
GdkRectangle *area);
-static gboolean splash_area_expose (GtkWidget *widget,
- GdkEventExpose *event,
+static gboolean splash_area_draw (GtkWidget *widget,
+ cairo_t *cr,
GimpSplash *splash);
static void splash_rectangle_union (GdkRectangle *dest,
PangoRectangle *pango_rect,
gint offset_x,
gint offset_y);
-static gboolean splash_average_text_area (GimpSplash *splash,
+static void splash_average_text_area (GimpSplash *splash,
GdkPixbuf *pixbuf,
GdkColor *color);
@@ -159,8 +159,8 @@ splash_create (gboolean be_verbose)
g_object_unref (pixbuf);
- g_signal_connect_after (splash->area, "expose-event",
- G_CALLBACK (splash_area_expose),
+ g_signal_connect_after (splash->area, "draw",
+ G_CALLBACK (splash_area_draw),
splash);
/* add a progress bar */
@@ -230,15 +230,10 @@ splash_update (const gchar *text1,
/* private functions */
static gboolean
-splash_area_expose (GtkWidget *widget,
- GdkEventExpose *event,
- GimpSplash *splash)
+splash_area_draw (GtkWidget *widget,
+ cairo_t *cr,
+ GimpSplash *splash)
{
- cairo_t *cr = gdk_cairo_create (event->window);
-
- gdk_cairo_region (cr, event->region);
- cairo_clip (cr);
-
gdk_cairo_set_source_color (cr, &splash->color);
cairo_move_to (cr, splash->upper_x, splash->upper_y);
@@ -247,8 +242,6 @@ splash_area_expose (GtkWidget *widget,
cairo_move_to (cr, splash->lower_x, splash->lower_y);
pango_cairo_show_layout (cr, splash->lower);
- cairo_destroy (cr);
-
return FALSE;
}
@@ -319,7 +312,7 @@ splash_rectangle_union (GdkRectangle *dest,
/* This function chooses a gray value for the text color, based on
* the average luminance of the text area of the splash image.
*/
-static gboolean
+static void
splash_average_text_area (GimpSplash *splash,
GdkPixbuf *pixbuf,
GdkColor *color)
@@ -332,8 +325,8 @@ splash_average_text_area (GimpSplash *splash,
GdkRectangle image = { 0, 0, 0, 0 };
GdkRectangle area = { 0, 0, 0, 0 };
- g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), FALSE);
- g_return_val_if_fail (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8, FALSE);
+ g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
+ g_return_if_fail (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
image.width = gdk_pixbuf_get_width (pixbuf);
image.height = gdk_pixbuf_get_height (pixbuf);
@@ -378,9 +371,6 @@ splash_average_text_area (GimpSplash *splash,
}
color->red = color->green = color->blue = (luminance << 8 | luminance);
-
- return gdk_colormap_alloc_color (gtk_widget_get_colormap (splash->area),
- color, FALSE, TRUE);
}
static GdkPixbufAnimation *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]