From: Mark D. <the...@us...> - 2004-09-11 15:25:44
|
Update of /cvsroot/gaim/gaim/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30111/src Modified Files: gtkimhtml.c status.c stock.c Log Message: Superimpose the version number on the logo from Gary "What's superimposed...?" Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.364 retrieving revision 1.365 diff -u -d -p -r1.364 -r1.365 --- gtkimhtml.c 31 Aug 2004 20:10:21 -0000 1.364 +++ gtkimhtml.c 11 Sep 2004 15:25:35 -0000 1.365 @@ -366,11 +366,9 @@ gtk_imhtml_tip (gpointer data) g_free(tmp); return FALSE; - } font_metrics = pango_font_get_metrics(font, NULL); - pango_layout_get_pixel_size(layout, &scr_w, NULL); gap = PANGO_PIXELS((pango_font_metrics_get_ascent(font_metrics) + @@ -618,7 +616,7 @@ static void gtk_imhtml_clipboard_get(Gtk GtkTextIter start, end; GtkTextMark *sel = gtk_text_buffer_get_selection_bound(imhtml->text_buffer); GtkTextMark *ins = gtk_text_buffer_get_insert(imhtml->text_buffer); - + gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, sel); gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &end, ins); primary = gtk_widget_get_clipboard(GTK_WIDGET(imhtml), GDK_SELECTION_PRIMARY) == clipboard; @@ -629,7 +627,7 @@ static void gtk_imhtml_clipboard_get(Gtk GString *str = g_string_new(NULL); if (primary) { text = gtk_imhtml_get_markup_range(imhtml, &start, &end); - } else + } else text = imhtml->clipboard_html_string; /* Mozilla asks that we start our text/html with the Unicode byte order mark */ Index: status.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/status.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -p -r1.17 -r1.18 --- status.c 11 Sep 2004 05:41:50 -0000 1.17 +++ status.c 11 Sep 2004 15:25:36 -0000 1.18 @@ -649,7 +649,7 @@ gaim_status_set_active(GaimStatus *statu temp_status = (GaimStatus *)g_hash_table_lookup( presence->status_table, gaim_status_type_get_id(temp_type)); - + if (gaim_status_is_active(temp_status)) { /* Index: stock.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/stock.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -p -r1.28 -r1.29 --- stock.c 20 Aug 2004 17:04:43 -0000 1.28 +++ stock.c 11 Sep 2004 15:25:36 -0000 1.29 @@ -121,6 +121,42 @@ find_file(const char *dir, const char *b return filename; } +static void +gaim_gtk_stock_versionize(GdkPixbuf **original, GtkWidget *widget) { + GdkPixmap *pixmap; + GtkStyle *style; + PangoContext *context; + PangoLayout *layout; + gchar *markup; + gint width, height; + gint lwidth = 0, lheight = 0; + + style = gtk_widget_get_style(widget); + + gdk_pixbuf_render_pixmap_and_mask(*original, &pixmap, NULL, 255); + width = gdk_pixbuf_get_width(*original); + height = gdk_pixbuf_get_height(*original); + g_object_unref(G_OBJECT(*original)); + + context = gtk_widget_get_pango_context(widget); + layout = pango_layout_new(context); + + markup = g_strdup_printf("<span foreground=\"#FFFFFF\" size=\"larger\">%s</span>", VERSION); + pango_layout_set_font_description(layout, style->font_desc); + pango_layout_set_markup(layout, markup, strlen(markup)); + g_free(markup); + + pango_layout_get_pixel_size(layout, &lwidth, &lheight); + gdk_draw_layout(GDK_DRAWABLE(pixmap), style->bg_gc[GTK_STATE_NORMAL], + width - (lwidth + 3), height - (lheight + 1), layout); + g_object_unref(G_OBJECT(layout)); + + *original = gdk_pixbuf_get_from_drawable(NULL, pixmap, NULL, + 0, 0, 0, 0, + width, height); + g_object_unref(G_OBJECT(pixmap)); +} + void gaim_gtk_stock_init(void) { @@ -166,6 +202,9 @@ gaim_gtk_stock_init(void) g_free(filename); + if (!strcmp(stock_icons[i].name, GAIM_STOCK_LOGO)) + gaim_gtk_stock_versionize(&pixbuf, win); + iconset = gtk_icon_set_new_from_pixbuf(pixbuf); g_object_unref(G_OBJECT(pixbuf)); |