setting line dash on Gnome2::Canvas
- From: zentara <zentara1 sbcglobal net>
- To: gtk-perl-list gnome org
- Subject: setting line dash on Gnome2::Canvas
- Date: Thu, 16 Mar 2006 18:04:03 -0500
Hi,
Does anyone know how to make dashed lines
on the Gnome2::Canvas?
I saw some mention of it on the C maillist, but don't
seem to be able to make it work on Perl.
#!/usr/bin/perl
use warnings;
use strict;
use Gtk2 -init;
use Gnome2::Canvas;
my $window = Gtk2::Window->new;
$window ->signal_connect( 'destroy' => sub{Gtk2->main_quit } );
my $scroller = Gtk2::ScrolledWindow->new;
my $canvas = Gnome2::Canvas->new_aa;
$scroller->add ($canvas);
$window->add ($scroller);
$window->set_default_size (350, 350);
$canvas->set_scroll_region (0, 0, 700, 700);
$window->show_all;
my $black = Gtk2::Gdk::Color->new (0x0000,0x0000,0x0000);
$canvas->modify_bg('normal',$black);
my $line1= Gnome2::Canvas::Item->new ($canvas->root,
'Gnome2::Canvas::Line',
points => [0,20,130,150],
fill_color => "red",
width_units => 8.0,
line_style => 'GDK_LINE_ON_OFF_DASH',
);
# feeble attempt dosn't work
#$line1->set_dashes( {0,0xff,0,0xff} );
# some stuff from the c mail list
#you can give a line pattern to the function in this way
#gchar list[]={ 0, 0xff, 0, 0xff }
#gdk_gc_set_dashes( gc, 0, list, sizeof(list) / sizeof( gchar) );
#this produces a line like this: - - - - - - - - -
#The offset controls the starting point of the pattern.
#Elements of dash_list give the length (in pixels) of dash segments. n is the
#number of elements in dash_list. dash_offset is the distance (in pixels) to
#start in dash_list.
#Example:
#gdk_gc_set_dashes( gc, 3, { 6, 3 }, 2 );
#Draws a line which is on for 6 pixels, then off for 3, then on for 6, etc. An
#offset of half the first segments helps lines to match up more cleanly when
#they join. Dash patterns look best with an even number of elements in
#dash_list (obviously).
#Use gdk_gc_set_line_attributes() to turn on GDK_LINE_ON_OFF_DASH or
#GDK_LINE_DOUBLE_DASH to see your pattern.
Gtk2->main;
__END__
--
I'm not really a human, but I play one on earth.
http://zentara.net/japh.html
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]