X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdocs%2FTutorial.pod;fp=lib%2Fdocs%2FTutorial.pod;h=bd9f6e075894584a52554f272f35525b4bcb7047;hb=896b04ee008898e1c1edbdd432bedaa8643400dc;hp=0000000000000000000000000000000000000000;hpb=b3cdeb39a431b026168c4060bf74001fcee07493;p=sdlgit%2FSDL_perl.git
diff --git a/lib/docs/Tutorial.pod b/lib/docs/Tutorial.pod
new file mode 100644
index 0000000..bd9f6e0
--- /dev/null
+++ b/lib/docs/Tutorial.pod
@@ -0,0 +1,103 @@
+=head1 NAME
+
+SDL::Tutorial - introduction to Perl SDL
+
+=head1 SYNOPSIS
+
+ # to read this tutorial
+ $ perldoc SDL::Tutorial
+
+ # to create a bare-bones SDL app based on this tutorial
+ $ perl -MSDL::Tutorial -e 1
+
+=head1 SDL BASICS
+
+SDL, the Simple DirectMedia Layer, is a cross-platform multimedia library.
+These are the Perl 5 bindings. You can find out more about SDL at
+L.
+
+Creating an SDL application with Perl is easy. You have to know a few basics,
+though. Here's how to get up and running as quickly as possible.
+
+=head2 Surfaces
+
+All graphics in SDL live on a surface. You'll need at least one. That's what
+L provides.
+
+Of course, before you can get a surface, you need to initialize your video
+mode. SDL gives you several options, including whether to run in a window or
+take over the full screen, the size of the window, the bit depth of your
+colors, and whether to use hardware acceleration. For now, we'll build
+something really simple.
+
+=head2 Initialization
+
+SDL::App makes it easy to initialize video and create a surface. Here's how to
+ask for a windowed surface with 640x480x16 resolution:
+
+ use SDL::App;
+
+ my $app = SDL::App->new(
+ -width => 640,
+ -height => 480,
+ -depth => 16,
+ );
+
+You can get more creative, especially if you use the C<-title> and C<-icon>
+attributes in a windowed application. Here's how to set the window title of
+the application to C:
+
+ use SDL::App;
+
+ my $app = SDL::App->new(
+ -height => 640,
+ -width => 480,
+ -depth => 16,
+ -title => 'My SDL Program',
+ );
+
+Setting an icon is a little more involved -- you have to load an image onto a
+surface. That's a bit more complicated, but see the C<-name> parameter to
+Cnew()> if you want to skip ahead.
+
+=head2 Working With The App
+
+Since C<$app> from the code above is just an SDL surface with some extra sugar,
+it behaves much like L. In particular, the all-important C
+and C methods work. You'll need to create L objects
+representing sources of graphics to draw onto the C<$app>'s surface, C
+them there, then C the C<$app>.
+
+B "blitting" is copying a chunk of memory from one place to another.
+
+That, however, is another tutorial.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item L
+
+basic drawing with rectangles
+
+=item L
+
+basic rectangle animation
+
+=item L
+
+image loading and animation
+
+=back
+
+=head1 AUTHOR
+
+chromatic, Echromatic@wgz.orgE.
+
+Written for and maintained by the Perl SDL project, L.
+
+=head1 COPYRIGHT
+
+Copyright (c) 2003 - 2004, chromatic. All rights reserved. This module is
+distributed under the same terms as Perl itself, in the hope that it is useful
+but certainly under no guarantee.