Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / Pastel / Geometry / Shape.pm
CommitLineData
86530b38
AT
1package Pastel::Geometry::Shape;\r
2use strict;\r
3\r
4# Perl interface for the Geometry objects. The function get_bounds()\r
5# Called by all the Geometry objects. Parameters passed are the\r
6# Point coordinates\r
7\r
8sub _get_bounds\r
9{\r
10 my ($self, @args) = @_;\r
11 my ($max_x, $max_y, $min_x, $min_y); # Hold the maximum and the minimum coordinates\r
12\r
13 $max_x = $args[0];\r
14 $max_y = $args[1];\r
15 $min_x = $args [0];\r
16 $min_y = $args[1];\r
17\r
18 for (my $i = 0; $i < @args; $i +=2) { #Pick even number X values\r
19 if ($args[$i] > $max_x) {\r
20 $max_x = $args[$i];\r
21 }\r
22 elsif ($args[$i] < $min_x){\r
23 $min_x = $args[$i];\r
24 }\r
25\r
26 }\r
27\r
28 for (my $i = 1; $i <@args; $i +=2) { #Pick odd number Y values\r
29 if ($args[$i] > $max_y) {\r
30 $max_y = $args[$i];\r
31 }\r
32 elsif ($args[$i] < $min_y) {\r
33 $min_y = $args[$i];\r
34 }\r
35 }\r
36 \r
37 my $bb = Pastel::Geometry::Rectangle->new($min_x, $min_y, ($max_x - $min_x), ($max_y - $min_y));\r
38 return $bb;\r
39\r
40}\r
41\r
42sub set_stroke {\r
43 my $self = shift;\r
44 my $stroke = shift;\r
45 $self->{stroke} = $stroke;\r
46}\r
47\r
48\r
491;\r