annotate GD/Group.pm @ 0:58111b3965b2 draft default tip

Uploaded
author dereeper
date Thu, 01 Nov 2012 09:35:05 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
1 package GD::Group;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
2
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
3 # Simple object for recursive grouping. Does absolutely nothing with GD,
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
4 # but works nicely with GD::SVG.
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
5
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
6 use strict;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
7
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
8 our $AUTOLOAD;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
9 our $VERSION = 1.00;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
10
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
11 sub AUTOLOAD {
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
12 my ($pack,$func_name) = $AUTOLOAD =~ /(.+)::([^:]+)$/;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
13 my $this = shift;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
14 $this->{gd}->currentGroup($this->{group});
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
15 $this->{gd}->$func_name(@_);
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
16 }
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
17
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
18 sub new {
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
19 my $this = shift;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
20 my ($gd,$group) = @_;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
21 return bless {gd => $gd,
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
22 group => $group},ref $this || $this;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
23 }
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
24
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
25 sub DESTROY {
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
26 my $this = shift;
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
27 my $gd = $this->{gd};
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
28 my $grp = $this->{group};
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
29 $gd->endGroup($grp);
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
30 }
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
31
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
32
58111b3965b2 Uploaded
dereeper
parents:
diff changeset
33 1;