Importing SDLPerl 2.2
[sdlgit/SDL_perl.git] / lib / SDL / Font.pm
1 #!/usr/bin/env perl
2 #
3 # Font.pm
4 #
5 # Copyright (C) 2005 David J. Goehrig <dgoehrig@cpan.org>
6 #
7 # ------------------------------------------------------------------------------
8 #
9 # This library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public
11 # License as published by the Free Software Foundation; either
12 # version 2.1 of the License, or (at your option) any later version.
13
14 # This library is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # Lesser General Public License for more details.
18
19 # You should have received a copy of the GNU Lesser General Public
20 # License along with this library; if not, write to the Free Software
21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 #
23 # ------------------------------------------------------------------------------
24 #
25 # Please feel free to send questions, suggestions or improvements to:
26 #
27 #       David J. Goehrig
28 #       dgoehrig@cpan.org
29 #
30
31 package SDL::Font;
32
33 use strict;
34 use SDL;
35 use SDL::SFont;
36 use SDL::Surface;
37
38 use vars qw(@ISA $CurrentFont );
39             
40
41 @ISA = qw(SDL::Surface);
42
43
44 sub new {
45         my $proto = shift;
46         my $class = ref($proto) || $proto;
47         my $self = \SDL::SFont::NewFont(shift);
48         bless $self,$class;
49         return $self;   
50 }
51
52 sub DESTROY {
53         my $self = shift;
54         SDL::FreeSurface($$self);
55 }
56
57 sub use ($) {
58         my $self = shift;
59         $CurrentFont = $self;
60         if ( $self->isa('SDL::Font')) {
61                 SDL::SFont::UseFont($$self);
62         }       
63 }
64
65 1;
66
67 __END__;
68
69 =pod
70
71
72 =head1 NAME
73
74 SDL::Font - a SDL perl extension
75
76 =head1 SYNOPSIS
77
78   $font = new Font "Font.png";
79   $font->use();
80         
81 =head1 DESCRIPTION
82
83 L<SDL::Font> provides an interface to loading and using SFont style 
84 fonts with L<SDL::Surface> objects.  
85
86 =head1 AUTHOR
87
88 David J. Goehrig
89
90 =head1 SEE ALSO
91
92 L<perl> L<SDL::Surface>
93
94 =cut