summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2017-01-21 15:18:31 -0500
committerFranklin Wei <git@fwei.tk>2017-12-23 21:01:26 -0500
commita855d6202536ff28e5aae4f22a0f31d8f5b325d0 (patch)
tree8c75f224dd64ed360505afa8843d016b0d75000b /apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc
parent01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b (diff)
downloadrockbox-a855d6202536ff28e5aae4f22a0f31d8f5b325d0.tar.gz
rockbox-a855d6202536ff28e5aae4f22a0f31d8f5b325d0.zip
Port of Duke Nukem 3D
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL for Rockbox. Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
Diffstat (limited to 'apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc')
-rw-r--r--apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc63
1 files changed, 63 insertions, 0 deletions
diff --git a/apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc b/apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc
new file mode 100644
index 0000000000..8daf1c524c
--- /dev/null
+++ b/apps/plugins/sdl/src/video/qtopia/SDL_QPEApp.cc
@@ -0,0 +1,63 @@
1/*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997-2012 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 */
33int SDL_QPEAppActive = 0;
34static QPEApplication *app;
35
36int 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 */
53void 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}