annotate GD/Group.pm @ 7:98e4922caaa9 draft default tip

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