From 944bb15d55d674ee65d2fe68f9f73ba0a3fa97c9 Mon Sep 17 00:00:00 2001 From: martinahansen Date: Fri, 19 Mar 2010 08:48:07 +0000 Subject: [PATCH] added grid to BGB git-svn-id: http://biopieces.googlecode.com/svn/trunk@934 74ccb610-7750-0410-82ae-013aeee3265d --- code_perl/Maasha/BGB/Draw.pm | 6 ++++++ code_perl/Maasha/BGB/Track.pm | 30 ++++++++++++++++++++++++++++++ www/index.cgi | 6 ++++-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/code_perl/Maasha/BGB/Draw.pm b/code_perl/Maasha/BGB/Draw.pm index 7cfe938..1a76cd5 100644 --- a/code_perl/Maasha/BGB/Draw.pm +++ b/code_perl/Maasha/BGB/Draw.pm @@ -71,6 +71,12 @@ sub draw_feature $cr->move_to( $feature->{ 'x1' }, $feature->{ 'y1' } ); $cr->line_to( $feature->{ 'x2' }, $feature->{ 'y2' } ); } + elsif ( $feature->{ 'type' } eq 'grid' ) + { + $cr->set_line_width( $feature->{ 'line_width' } ); + $cr->move_to( $feature->{ 'x1' }, $feature->{ 'y1' } ); + $cr->line_to( $feature->{ 'x2' }, $feature->{ 'y2' } ); + } elsif ( $feature->{ 'type' } eq 'wiggle' ) { $cr->set_line_width( $feature->{ 'line_width' } ); diff --git a/code_perl/Maasha/BGB/Track.pm b/code_perl/Maasha/BGB/Track.pm index e007f68..75ba552 100644 --- a/code_perl/Maasha/BGB/Track.pm +++ b/code_perl/Maasha/BGB/Track.pm @@ -61,6 +61,36 @@ use constant { # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +sub track_grid +{ + # Martin A. Hansen, March 2010. + + # Create a grid of vertical lines for the browser image. + + my ( $cookie, # browser cookie + ) = @_; + + # Returns a list. + + my ( @grid, $i ); + + for ( $i = 0; $i < $cookie->{ 'IMG_WIDTH' }; $i += 20 ) + { + push @grid, { + type => 'grid', + line_width => 0.1, + color => [ 0, 0, 0 ], + x1 => $i, + y1 => 0, + x2 => $i, + y2 => $cookie->{ 'TRACK_OFFSET' }, + }; + } + + return wantarray ? @grid : \@grid; +} + + sub track_ruler { # Martin A. Hansen, November 2009. diff --git a/www/index.cgi b/www/index.cgi index 85fed67..38b1988 100755 --- a/www/index.cgi +++ b/www/index.cgi @@ -165,7 +165,7 @@ sub cookie_default $cookie->{ 'MOVE_RIGHT3' } = $cgi->param( 'move_right3' ); $cookie->{ 'IMG_WIDTH' } = 1200; # Width of browser image in pixels - $cookie->{ 'IMG_HEIGHT' } = 800; # Height of browser image in pixels + $cookie->{ 'IMG_HEIGHT' } = 800; # Height of browser image in pixels # TODO: Redundant? $cookie->{ 'WIGGLE_HEIGHT' } = 75; # Height of Wiggle tracks in pixels $cookie->{ 'TRACK_OFFSET' } = 20; $cookie->{ 'TRACK_SPACE' } = 20; @@ -1123,6 +1123,8 @@ sub section_browse push @tracks, [ Maasha::BGB::Track::track_feature( $track_list[ $i ], $cookie ) ]; } + unshift @tracks, [ Maasha::BGB::Track::track_grid( $cookie ) ]; + $surface = Cairo::ImageSurface->create( 'argb32', $cookie->{ 'IMG_WIDTH' }, $cookie->{ 'TRACK_OFFSET' } ); $cr = Cairo::Context->create( $surface ); @@ -1180,7 +1182,7 @@ sub section_browse { foreach $elem ( @{ $track } ) { - next if $elem->{ 'type' } =~ /text|wiggle/; + next if $elem->{ 'type' } =~ /grid|text|wiggle/; if ( $elem->{ 'type' } eq 'track_name' ) { -- 2.39.5