| 1 | package Pastel::FontMetrics;\r |
| 2 | @ISA = qw (Pastel::Mixin::Mixin);\r |
| 3 | use Pastel::Mixin::Mixin;\r |
| 4 | use Carp;\r |
| 5 | use strict;\r |
| 6 | \r |
| 7 | {\r |
| 8 | my $id;\r |
| 9 | sub _id { return $id++;}\r |
| 10 | }\r |
| 11 | \r |
| 12 | sub new {\r |
| 13 | my $class = shift;\r |
| 14 | my $self = {};\r |
| 15 | bless $self, ref($class) || $class;\r |
| 16 | $self->_init(@_);\r |
| 17 | return $self;\r |
| 18 | }\r |
| 19 | \r |
| 20 | sub _init {\r |
| 21 | my ($self, @args) = @_;\r |
| 22 | \r |
| 23 | if ( @args > 4 ){\r |
| 24 | croak "Wrong number of parameters in Pastel::FonMetrics\n";\r |
| 25 | }\r |
| 26 | \r |
| 27 | my ( $file, $font, $platform) = $self->_rearrange(["FILE", "FONT",\r |
| 28 | "PLATFORM"], @args);\r |
| 29 | \r |
| 30 | if ( defined ( $file) ){\r |
| 31 | $self->{filename} = $file;\r |
| 32 | \r |
| 33 | \r |