- round the dimensions used within the legend to integers to prevent
authorTony Cook <tony@develop-help.com>
Mon, 21 Jan 2008 10:57:37 +0000 (10:57 +0000)
committerTony Cook <tony@develop-help.com>
Mon, 21 Jan 2008 10:57:37 +0000 (10:57 +0000)
   later truncation from causing uneven output.

Changes
Graph.pm
testimg/t10_lin_fount.png
testimg/t10_pie2.png
testimg/t10_rad_fount.png

diff --git a/Changes b/Changes
index bf82c97..d87e7f0 100644 (file)
--- a/Changes
+++ b/Changes
@@ -5,6 +5,9 @@ Imager-Graph 0.06 - unreleased
 
  - Removed ancient Imager cruft from the documentation
 
+ - round the dimensions used within the legend to integers to prevent
+   later truncation from causing uneven output.
+
 Imager-Graph 0.05 - 17 December 2007
 =================
 
index f08a08d..bea06d9 100644 (file)
--- a/Graph.pm
+++ b/Graph.pm
@@ -981,6 +981,22 @@ sub _get_number {
   }
 }
 
+=item $self->_get_integer($name)
+
+Retrieves an integer from the style.  This is a simple wrapper around
+_get_number() that rounds the result to an integer.
+
+=cut
+
+sub _get_integer {
+  my ($self, $name, @depth) = @_;
+
+  my $number = $self->_get_number($name, @depth)
+    or return;
+
+  return sprintf("%.0f", $number);
+}
+
 =item _get_color($name)
 
 Returns a color object of the given name from the style hash.
@@ -1271,11 +1287,11 @@ sub _remove_box {
 sub _draw_legend {
   my ($self, $img, $labels, $chart_box) = @_;
 
-  defined(my $padding = $self->_get_number('legend.padding'))
+  defined(my $padding = $self->_get_integer('legend.padding'))
     or return;
-  my $patchsize = $self->_get_number('legend.patchsize')
+  my $patchsize = $self->_get_integer('legend.patchsize')
     or return;
-  defined(my $gap = $self->_get_number('legend.patchgap'))
+  defined(my $gap = $self->_get_integer('legend.patchgap'))
     or return;
   my $minrowsize = $patchsize + $gap;
   my ($width, $height) = (0,0);
index 06d82a7..b93620d 100644 (file)
Binary files a/testimg/t10_lin_fount.png and b/testimg/t10_lin_fount.png differ
index 59c45bf..0cb8d27 100644 (file)
Binary files a/testimg/t10_pie2.png and b/testimg/t10_pie2.png differ
index 8ac0d5b..5d4bfa6 100644 (file)
Binary files a/testimg/t10_rad_fount.png and b/testimg/t10_rad_fount.png differ