X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDLx-App.html-inc;h=8db7209400f3db73f901fb9904ea798d53b08d86;hb=a3de848879a5553418ed11fb193c4bf286ca7120;hp=ca61336f28932d06fbbaa4afc879c4de4dbd07d3;hpb=c7e8d3c612049580c9a96b3006c4c89a00410643;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDLx-App.html-inc b/pages/SDLx-App.html-inc index ca61336..8db7209 100644 --- a/pages/SDLx-App.html-inc +++ b/pages/SDLx-App.html-inc @@ -8,7 +8,10 @@
  • DESCRIPTION
  • METHODS +
  • +
  • METHODS +
  • +
  • CALLBACKS
  • AUTHORS
  • SEE ALSO
  • @@ -67,7 +70,7 @@ } -

    An alternative to the manual Event processing is the SDLx::App::loop.

    +

    An alternative to the manual Event processing is through the SDLx::Controller module. SDLx::App is a Controller so see the CALLBACKS section below.

    DESCRIPTION

    Top

    @@ -105,9 +108,9 @@ Any flags you want to pass to SDL::Video upon initi Set this to a true value to make the window resizeable by the user. Default is off. - - - + +

    METHODS

    Top

    +

    title()

    @@ -170,30 +173,6 @@ the application. It takes one argument, which should be one of the following:

    -

    loop( \%actions )

    -
    -

    SDLx::App::loop is a simple event loop method which takes a reference to a hash -of event handler subroutines. The keys of the hash must be SDL event types such -as SDL_QUIT(), SDL_KEYDOWN(), and the like. When called, the event method recieves -as its parameter the event object used in the loop.

    -

    Example:

    -
        my $app = SDLx::App->new(
    -        title  => "test.app", 
    -        width  => 800, 
    -        height => 600, 
    -        depth  => 32
    -    );
    -
    -    my %actions = (
    -        SDL_QUIT()    => sub { exit(0); },
    -        SDL_KEYDOWN() => sub { print "Key Pressed" },
    -    );
    -
    -    $app->loop( \%actions );
    -
    -
    - -

    sync

    SDLx::App::sync encapsulates the various methods of syncronizing the screen with the @@ -209,7 +188,32 @@ or OpenGL buffer if applicable. This is prefered to calling flip on the applicat

    SDLx::App::attribute allows one to get and set GL attributes. By passing a value in addition to the attribute selector, the value will be set. SDL:::App::attribute -always returns the current value of the given attribute, or croaks on failure.

    +always returns the current value of the given attribute, or Carp::confesss on failure.

    + +
    +

    CALLBACKS

    Top

    +
    +

    SDLx::App is a SDLx::Controller. Use the event, show and handlers to run the app.

    +
      use SDL;
    +  use SDLx::App;
    +
    +  use SDL::Event; #Where ever the event call back is processed
    +
    +  my $app = SDLx::App->new( width => 200, height => 200);
    +
    +  $app->add_event_handler( sub{ return 0 if $_[0]->type == SDL_QUIT; return 1});
    +
    +  $app->add_show_handler( sub{ $app->update() } );
    +
    +  $app->add_move_handler( 
    +  sub{ 
    +  #calc your physics here 
    +  } );
    +
    +  $app->run();
    +
    +
    +

    see SDLx::Controller for more details.

    AUTHORS

    Top