From c5a9c97ef63e8a2c17d4a21a257a5278623dcdb6 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Tue, 4 Jan 2005 07:46:09 +0000 Subject: [PATCH 1/1] 2005-01-04 [colin] 0.9.13cvs25.6 * src/gtk/gtkshruler.c Move the ruler to GTK2 Patch by Alfons --- ChangeLog-gtk2.claws | 6 ++++++ PATCHSETS | 1 + configure.ac | 2 +- src/gtk/gtkshruler.c | 32 ++++++++++++++++++++------------ 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/ChangeLog-gtk2.claws b/ChangeLog-gtk2.claws index 861ed84ce..3156747e2 100644 --- a/ChangeLog-gtk2.claws +++ b/ChangeLog-gtk2.claws @@ -1,3 +1,9 @@ +2005-01-04 [colin] 0.9.13cvs25.6 + + * src/gtk/gtkshruler.c + Move the ruler to GTK2 + Patch by Alfons + 2005-01-03 [colin] 0.9.13cvs25.5 * src/compose.c diff --git a/PATCHSETS b/PATCHSETS index 38e027204..aff7cd7a6 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -305,3 +305,4 @@ ( cvs diff -u -r 1.382.2.81 -r 1.382.2.82 src/compose.c; cvs diff -u -r 1.10.2.8 -r 1.10.2.9 src/prefs_gtk.c; cvs diff -u -r 1.12.2.4 -r 1.12.2.5 src/prefs_template.c; cvs diff -u -r 1.96.2.37 -r 1.96.2.38 src/textview.c; ) > 0.9.13cvs25.3.patchset ( cvs diff -u -r 1.36.2.18 -r 1.36.2.19 src/common/utils.c; cvs diff -u -r 1.20.2.12 -r 1.20.2.13 src/common/utils.h; cvs diff -u -r 1.12.2.13 -r 1.12.2.14 src/gtk/prefswindow.c; ) > 0.9.13cvs25.4.patchset ( cvs diff -u -r 1.382.2.82 -r 1.382.2.83 src/compose.c; ) > 0.9.13cvs25.5.patchset +( cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/gtk/gtkshruler.c; ) > 0.9.13cvs25.6.patchset diff --git a/configure.ac b/configure.ac index 2fa902f06..7d7e66f92 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ INTERFACE_AGE=0 BINARY_AGE=0 EXTRA_VERSION=25 EXTRA_RELEASE= -EXTRA_GTK2_VERSION=.5 +EXTRA_GTK2_VERSION=.6 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION} diff --git a/src/gtk/gtkshruler.c b/src/gtk/gtkshruler.c index 45062ecd6..d2fff5b2f 100644 --- a/src/gtk/gtkshruler.c +++ b/src/gtk/gtkshruler.c @@ -119,7 +119,6 @@ gtk_shruler_draw_ticks(GtkRuler *ruler) { GtkWidget *widget; GdkGC *gc, *bg_gc; - GdkFont *font; gint i; gint width, height; gint xthickness; @@ -136,7 +135,6 @@ gtk_shruler_draw_ticks(GtkRuler *ruler) gc = widget->style->fg_gc[GTK_STATE_NORMAL]; bg_gc = widget->style->bg_gc[GTK_STATE_NORMAL]; - font = gtk_style_get_font(widget->style); xthickness = widget->style->xthickness; ythickness = widget->style->ythickness; @@ -159,24 +157,34 @@ gtk_shruler_draw_ticks(GtkRuler *ruler) #endif /* assume ruler->max_size has the char width */ - /* i is increment of char_width, pos is label number */ + /* i is increment of char_width, pos is label number + * y position is based on height of widget itself + */ for ( i = 0, pos = 0; i < widget->allocation.width - xthickness; i += ruler->max_size, pos++ ) { - int length = ythickness / 2; + int length = height / 4; - if ( pos % 10 == 0 ) length = ( 4 * ythickness ); - else if (pos % 5 == 0 ) length = ( 2 * ythickness ); + if ( pos % 10 == 0 ) length = ( 3 * height / 4 ); + else if (pos % 5 == 0 ) length = ( height / 2 ); gdk_draw_line(ruler->backing_store, gc, - i, height + ythickness, + i, height, i, height - length); if ( pos % 10 == 0 ) { - char buf[8]; + gchar buf[8]; + PangoLayout *layout; + /* draw label */ - sprintf(buf, "%d", (int) pos); - gdk_draw_string(ruler->backing_store, font, gc, - i + 2, ythickness + font->ascent - 1, - buf); + g_snprintf(buf, sizeof buf, "%d", pos); + + layout = gtk_widget_create_pango_layout + (GTK_WIDGET(ruler), buf); + + gdk_draw_layout(ruler->backing_store, gc, i + 2, + (height / 12), + layout); + + g_object_unref(layout); } } } -- 2.25.1