C1: deny drops into black holes
[openc2e.git] / qtgui / QtBackend.h
blobd2fa2adc29a92325337a3e45608aba28ecd94760
1 /*
2 This program is free software; you can redistribute it and/or modify
3 it under the terms of the GNU General Public License as published by
4 the Free Software Foundation; either version 2 of the License, or
5 (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License along
13 with this program; if not, write to the Free Software Foundation, Inc.,
14 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 #ifndef _QTBACKEND_H
18 #define _QTBACKEND_H
20 #include "SDLBackend.h"
21 #include <deque>
23 class QtBackend : public SDLBackend {
24 public:
25 QtBackend();
26 void shutdown();
27 void init();
28 void setup(class QWidget *vp);
29 void resized(int w, int h);
30 bool pollEvent(SomeEvent &e);
31 void pushEvent(SomeEvent e);
32 bool keyDown(int key);
33 void keyEvent(class QKeyEvent *k, bool pressed);
35 bool selfRender() { return true; }
36 void requestRender() { needsrender = true; }
37 bool needsRender() { return needsrender; }
38 void renderDone();
40 int run(int argc, char **argv);
42 protected:
43 std::deque<SomeEvent> events;
45 bool downkeys[256]; // TODO: public data bad
46 class QWidget *viewport;
47 bool needsrender;
49 int idealBpp();
52 #endif