diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2007-04-05 06:20:13 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2007-04-05 06:20:13 +0000 |
commit | 22f34ddeb5761d2fe197a5f936e521247db363fe (patch) | |
tree | 433ecf1e52c81f50b9192b3fd2bfd2352ca0b0f6 /src/gtkshruler.c | |
parent | 412ddd5981f7f5e5b4345b81fea04aa87078e3d7 (diff) |
added margin to the compose text view.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1595 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/gtkshruler.c')
-rw-r--r-- | src/gtkshruler.c | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/src/gtkshruler.c b/src/gtkshruler.c index 05a78764..d4a72d57 100644 --- a/src/gtkshruler.c +++ b/src/gtkshruler.c @@ -1,6 +1,7 @@ /* GtkSHRuler * - * Copyright (C) 2000-2005 Alfons Hoogervorst & The Sylpheed Claws Team + * Copyright (C) 2000-2005 Alfons Hoogervorst & The Sylpheed Claws Team + * Copyright (C) 2007 Hiroyuki Yamamoto * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -105,6 +106,7 @@ gtk_shruler_init (GtkSHRuler * shruler) widget = GTK_WIDGET (shruler); widget->requisition.width = widget->style->xthickness * 2 + 1; widget->requisition.height = widget->style->ythickness * 2 + RULER_HEIGHT; + shruler->start_pos = 0; } @@ -114,6 +116,22 @@ gtk_shruler_new(void) return GTK_WIDGET( g_object_new( gtk_shruler_get_type(), NULL ) ); } +void +gtk_shruler_set_start_pos(GtkSHRuler *ruler, gint pos) +{ + g_return_if_fail (GTK_IS_SHRULER (ruler)); + + ruler->start_pos = pos; +} + +gint +gtk_shruler_get_start_pos(GtkSHRuler *ruler) +{ + g_return_if_fail (GTK_IS_SHRULER (ruler)); + + return ruler->start_pos; +} + static void gtk_shruler_draw_ticks(GtkRuler *ruler) { @@ -159,27 +177,27 @@ gtk_shruler_draw_ticks(GtkRuler *ruler) /* assume ruler->max_size has the char width */ /* 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++ ) { + for ( pos = GTK_SHRULER(ruler)->start_pos, i = 0; pos < widget->allocation.width - xthickness; pos += ruler->max_size, i++ ) { gint length = height / 8; - if ( pos % 10 == 0 ) length = ( 2 * height / 3 ); - else if ( pos % 5 == 0 ) length = ( height / 3 ); + if ( i % 10 == 0 ) length = ( 2 * height / 3 ); + else if ( i % 5 == 0 ) length = ( height / 3 ); gdk_draw_line(ruler->backing_store, gc, - i, height + ythickness, - i, height - length); + pos, height + ythickness, + pos, height - length); - if ( pos % 10 == 0 ) { + if ( i % 10 == 0 ) { gchar buf[8]; PangoLayout *layout; /* draw label */ - g_snprintf(buf, sizeof buf, "%d", pos); + g_snprintf(buf, sizeof buf, "%d", i); layout = gtk_widget_create_pango_layout (GTK_WIDGET(ruler), buf); - gdk_draw_layout(ruler->backing_store, gc, i + 2, + gdk_draw_layout(ruler->backing_store, gc, pos + 2, 0, layout); g_object_unref(layout); |