[gimp/gtk3-port: 46/444] 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: 46/444] app: port the splash to GTK+ 3.0
- Date: Sun, 13 May 2018 21:41:43 +0000 (UTC)
commit 5280003e261295e5e4bba64a5b1c3642947f9f93
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 | 36 +++++++++++++-----------------------
1 files changed, 13 insertions(+), 23 deletions(-)
---
diff --git a/app/gui/splash.c b/app/gui/splash.c
index 956f129..58a8c87 100644
--- a/app/gui/splash.c
+++ b/app/gui/splash.c
@@ -71,14 +71,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,
- GimpSplash *splash);
+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);
@@ -197,9 +197,9 @@ splash_create (gboolean be_verbose,
g_object_unref (pixbuf);
- g_signal_connect_after (splash->area, "expose-event",
- G_CALLBACK (splash_area_expose),
- splash);
+ g_signal_connect_after (splash->area, "draw",
+ G_CALLBACK (splash_area_draw),
+ splash);
/* add a progress bar */
splash->progress = gtk_progress_bar_new ();
@@ -289,15 +289,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);
@@ -306,8 +301,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;
}
@@ -413,7 +406,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)
@@ -426,8 +419,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);
@@ -472,9 +465,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]