OSDN Git Service

[Qt][DEBUGGER] Temporally revert changes around debugger, will use src/debugger.cpp .
[csp-qt/common_source_project-fm7.git] / source / src / qt / common / draw_thread.h
1 /*
2         Skelton for retropc emulator
3         Author : Takeda.Toshiya
4         Port to Qt : K.Ohta <whatisthis.sowhat _at_ gmail.com>
5         Date   : 2006.08.18 -
6         License : GPLv2
7         History : 2015.11.10 Split from qt_main.h
8         [ win32 main ] -> [ Qt main ] -> [Draw]
9 */
10 #ifndef _CSP_QT_DRAW_THREAD_H
11 #define _CSP_QT_DRAW_THREAD_H
12
13 #include <QThread>
14 #include <QScreen>
15
16 #include <SDL.h>
17
18 #include "osd.h"
19 #include "qt_gldraw.h"
20
21 class Ui_MainWindow;
22 class EMU;
23
24 QT_BEGIN_NAMESPACE
25
26 class DrawThreadClass : public QThread {
27         Q_OBJECT
28  private:
29         EMU *p_emu;
30         Ui_MainWindow *MainWindow;
31         GLDrawClass *glv;
32
33         qreal refresh_rate;
34         qreal wait_refresh;
35         qreal wait_count;
36         int wait_factor;
37  protected:
38         QScreen *screen;
39         int draw_frames;
40         bool bRunThread;
41         bool bDrawReq;
42         screen_buffer_t *draw_screen_buffer;
43         
44  public:
45         DrawThreadClass(EMU *p, QObject *parent = 0);
46         ~DrawThreadClass();
47         void run() { doWork("");}
48         void SetEmu(EMU *p) {
49                 p_emu = p;
50         }
51 public slots:
52         void doWork(const QString &);
53         void doExit(void);
54         void doDraw(bool flag);
55         void do_change_refresh_rate(qreal rate);
56         void do_update_screen(screen_buffer_t *p);
57 signals:
58         int sig_draw_frames(int);
59         int message_changed(QString);
60         int sig_update_screen(screen_buffer_t *);
61         int sig_draw_timing(bool);
62 };
63
64 QT_END_NAMESPACE
65 #endif