SDL-1.2.14
[sdl_omap.git] / src / video / qtopia / SDL_QPEApp.cc
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2009 Sam Lantinga
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public
16     License along with this library; if not, write to the Free
17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
19     Sam Lantinga
20     slouken@libsdl.org
21 */
22 #include "SDL_config.h"
23
24 #include <qpe/qpeapplication.h>
25 #include <qapplication.h>
26 #include <qevent.h>
27
28 #include "SDL_thread.h"
29 #include "SDL_timer.h"
30 #include "SDL_error.h"
31
32 /* Flag to tell whether or not the Be application is active or not */
33 int SDL_QPEAppActive = 0;
34 static QPEApplication *app;
35
36 int SDL_InitQPEApp() {
37   if(SDL_QPEAppActive <= 0) {
38     if(!qApp) {
39       int argc = 1;
40       char *argv[] = { { "SDLApp" } };
41       app = new QPEApplication(argc, argv);
42       QWidget dummy;
43       app->showMainWidget(&dummy);
44     } else {
45       app = (QPEApplication*)qApp;
46     }
47     SDL_QPEAppActive++;
48   }
49   return 0;  
50 }
51
52 /* Quit the QPE Application, if there's nothing left to do */
53 void SDL_QuitQPEApp(void)
54 {
55   /* Decrement the application reference count */
56   SDL_QPEAppActive--;
57   /* If the reference count reached zero, clean up the app */
58   if ( SDL_QPEAppActive == 0 && app) {
59     delete app;
60     app = 0;
61     qApp = 0;
62   }
63 }