Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

SDLApplication Class Reference

The class that represent an application in ParaGUI. It handles the main loop, screen attibutes etc. More...

#include <sdlapplication.h>

Inheritance diagram for SDLApplication

Inheritance graph
[legend]
Collaboration diagram for SDLApplication:

Collaboration graph
[legend]
List of all members.

Public Methods

 SDLApplication ()
 ~SDLApplication ()
bool InitScreen (int w, int h, int depth=DISPLAY_DEPTH, Uint32 flags = SDL_SWSURFACE | SDL_HWPALETTE)
 Initialize the screen. More...

SDLThemeLoadTheme (const char* xmltheme, bool asDefault = true, const char* searchpath = NULL)
 Load a widget theme. More...

SDL_Thread* Run ()
 Run the applications main eventloop. More...

void Quit ()
 Exit the main eventloop. More...

void Shutdown ()
 Cleanup the application data. More...

SDL_Surface* SetScreen (SDL_Surface* screen)
bool SetBackground (const char* filename, int mode=BKMODE_TILE)
bool SetBackground (SDL_Surface* surface, int mode=BKMODE_TILE)
void RedrawBackground ()
void PrintVideoTest ()

Static Public Methods

SDL_Surface* GetScreen ()
TTF_Font* GetDefaultFont ()
bool UnlockScreen ()
bool LockScreen ()
void SetApplicationPath (char* path)
char* GetApplicationPath ()
char* GetRelativePath (char* file)
int GetScreenHeight ()
int GetScreenWidth ()
void FlipPage ()
TTF_Font* LoadFont (char* filename, int size)
SDLThemeGetTheme ()
bool GetBulkMode ()

Protected Methods

bool eventKeyUp (const SDL_KeyboardEvent* key)
 Overridable Eventhandler for a SDL_KeyboardEvent message. More...

bool eventQuit (int id, SDLWidget* widget, unsigned long data)
 Overridable Eventhandler for a SDL_QuitEvent message. More...

virtual void eventInit ()

Detailed Description

The class that represent an application in ParaGUI. It handles the main loop, screen attibutes etc.

Author(s):
Alexander Pipelka

Every Paragui application needs to have a SDLApplication object. The Application object is the controller for events, screen initialization, theme support and main loop. Here is an example of the steps necesary for creating a simple Paragui application that opens a 640x480 window with a button in the middle.

        
        #include <paragui.h>
        #include <sdlapplication.h>
        #include <sdlbutton.h>
        
        
        // Event handler for button click 
        PARAGUI_CALLBACK(buttonHandler) { 
          cout << "Ouch !\\n";
          return true;
        } 
          
        
        int main(  int argc, char **argv ) { 
          const int WIDTH  = 640; 
          const int HEIGHT = 480; 
          
          SDLApplication app; 
          
          app.LoadTheme("qnx");                      // Load the QNX theme 
          app.InitScreen(640,480,16,SDL_SWSURFACE);  // SDL_SURFACE | SDL_FULLSCREEN for full screen support

          SDLButton btnOK(NULL,0, SDLWidget::mkrect((WIDTH-100)/2,(HEIGHT-20)/2,100,20),"Push me !");

          btnOK.SetEventCallback(MSG_BUTTONCLICK,buttonHandler); // Set the event handler
          btnOK.Show(); 
           
          app.Run();                                 // Application loop, exit with Esc by default 
        } 
Examples:

tut1.cpp, tut2.cpp, tut3.cpp, and tut4.cpp.

Definition at line 90 of file sdlapplication.h.


Constructor & Destructor Documentation

SDLApplication::SDLApplication ( )
 

SDLApplication::~SDLApplication ( )
 


Member Function Documentation

void SDLApplication::FlipPage ( ) [static]
 

char * SDLApplication::GetApplicationPath ( ) [static]
 

bool SDLApplication::GetBulkMode ( ) [static]
 

TTF_Font * SDLApplication::GetDefaultFont ( ) [static]
 

char * SDLApplication::GetRelativePath ( char * file ) [static]
 

SDL_Surface * SDLApplication::GetScreen ( ) [static]
 

int SDLApplication::GetScreenHeight ( ) [static]
 

int SDLApplication::GetScreenWidth ( ) [static]
 

SDLTheme * SDLApplication::GetTheme ( ) [static]
 

bool SDLApplication::InitScreen ( int w,
int h,
int depth = DISPLAY_DEPTH,
Uint32 flags = SDL_SWSURFACE | SDL_HWPALETTE )
 

Initialize the screen.

Parameters:
w   screenwidth in pixels
h   screenheight in pixels
depth   screendepth in bits per pixel
flags   SDL screen initialization flags
Examples:
tut1.cpp, tut2.cpp, tut3.cpp, and tut4.cpp.

TTF_Font * SDLApplication::LoadFont ( char * filename,
int size ) [static]
 

SDLTheme * SDLApplication::LoadTheme ( const char * xmltheme,
bool asDefault = true,
const char * searchpath = NULL )
 

Load a widget theme.

Parameters:
xmltheme   name of the theme (e.g. default)
asDefault   apply the theme as default widgettheme
searchpath   path where the themefile is located
Examples:
tut1.cpp, tut2.cpp, tut3.cpp, and tut4.cpp.

bool SDLApplication::LockScreen ( ) [static]
 

void SDLApplication::PrintVideoTest ( )
 

void SDLApplication::Quit ( )
 

Exit the main eventloop.

Examples:
tut3.cpp, and tut4.cpp.

void SDLApplication::RedrawBackground ( )
 

SDL_Thread * SDLApplication::Run ( )
 

Run the applications main eventloop.

Examples:
tut1.cpp, tut2.cpp, tut3.cpp, and tut4.cpp.

void SDLApplication::SetApplicationPath ( char * path ) [static]
 

bool SDLApplication::SetBackground ( SDL_Surface * surface,
int mode = BKMODE_TILE )
 

bool SDLApplication::SetBackground ( const char * filename,
int mode = BKMODE_TILE )
 

SDL_Surface * SDLApplication::SetScreen ( SDL_Surface * screen )
 

void SDLApplication::Shutdown ( )
 

Cleanup the application data.

bool SDLApplication::UnlockScreen ( ) [static]
 

void SDLApplication::eventInit ( ) [protected, virtual]
 

bool SDLApplication::eventKeyUp ( const SDL_KeyboardEvent * key ) [protected, virtual]
 

Overridable Eventhandler for a SDL_KeyboardEvent message.

This handler is called when a key changed it's state from pressed to unpressed. The default implementation returns 'false' which indicates that this message is not processed by this object.

Parameters:
key   SDL_KeyboardEvent message

Returns:
Notifies the message pump if this message is processed by this object or it should be routed to the next message receiver.

Reimplemented from SDLMessageObject.

bool SDLApplication::eventQuit ( int id,
SDLWidget * widget,
unsigned long data ) [protected, virtual]
 

Overridable Eventhandler for a SDL_QuitEvent message.

The default implementation returns 'false' which indicates that this message is not processed by this object.

Parameters:
quit   SDL_QuitEvent message

Returns:
Notifies the message pump if this message is processed by this object or it should be routed to the next message receiver.

Reimplemented from SDLMessageObject.


The documentation for this class was generated from the following file: