gtk+ r19392 - in trunk: . gtk
- From: hasselmm svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r19392 - in trunk: . gtk
- Date: Tue, 22 Jan 2008 15:03:03 +0000 (GMT)
Author: hasselmm
Date: Tue Jan 22 15:03:03 2008
New Revision: 19392
URL: http://svn.gnome.org/viewvc/gtk+?rev=19392&view=rev
Log:
Use pango_layout_set_height() for calendar details (#506049).
* configure.in: Require 1.19.3 for pango_layout_set_height().
* gtk/gtkcalendar.c: Use pango_layout_set_height() for details.
Modified:
trunk/ChangeLog
trunk/configure.in
trunk/gtk/gtkcalendar.c
Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in (original)
+++ trunk/configure.in Tue Jan 22 15:03:03 2008
@@ -32,7 +32,7 @@
# required versions of other packages
m4_define([glib_required_version], [2.15.0])
-m4_define([pango_required_version], [1.17.3])
+m4_define([pango_required_version], [1.19.3])
m4_define([atk_required_version], [1.13.0])
m4_define([cairo_required_version], [1.2.0])
Modified: trunk/gtk/gtkcalendar.c
==============================================================================
--- trunk/gtk/gtkcalendar.c (original)
+++ trunk/gtk/gtkcalendar.c Tue Jan 22 15:03:03 2008
@@ -2548,8 +2548,6 @@
if (detail && show_details)
{
- gint i, n_lines;
-
gchar *markup = g_strconcat ("<small>", detail, "</small>", NULL);
pango_layout_set_markup (layout, markup, -1);
g_free (markup);
@@ -2567,34 +2565,18 @@
pango_attr_list_unref (colors);
}
- if (priv->detail_width_chars)
- {
- pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
- pango_layout_set_width (layout, PANGO_SCALE * priv->min_day_width);
- }
+ pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
+ pango_layout_set_width (layout, PANGO_SCALE * day_rect.width);
- n_lines = pango_layout_get_line_count (layout);
-
- if (priv->detail_height_rows &&
- n_lines > priv->detail_height_rows)
+ if (priv->detail_height_rows)
{
- n_lines = priv->detail_height_rows;
- overflow = TRUE;
+ gint dy = day_rect.height - (y_loc - day_rect.y);
+ pango_layout_set_height (layout, PANGO_SCALE * dy);
+ pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END);
}
- for (i = 0; i < n_lines; ++i)
- {
- PangoLayoutLine *line = pango_layout_get_line_readonly (layout, i);
- pango_layout_line_get_pixel_extents (line, NULL, &logical_rect);
-
- x_loc = day_rect.x + (day_rect.width - logical_rect.width) / 2;
- y_loc += PANGO_ASCENT (logical_rect);
-
- cairo_move_to (cr, x_loc, y_loc);
- pango_cairo_show_layout_line (cr, line);
-
- y_loc += PANGO_DESCENT (logical_rect);
- }
+ cairo_move_to (cr, day_rect.x, y_loc);
+ pango_cairo_show_layout (cr, layout);
}
if (GTK_WIDGET_HAS_FOCUS (calendar)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]