]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/mainwin.h
Added FPS counter.
[virtualjaguar] / src / gui / mainwin.h
index fd6aef14c8c03de782dc02d8e1d59f30c38f357c..c87ce997dd4ee1fe44ac96ebe83e86eae030dbfd 100644 (file)
@@ -10,6 +10,9 @@
 
 //Hrm. uh??? I thought this wasn't the way to do this stuff...???
 #include <QtGui>
+#include "tom.h"
+
+#define RING_BUFFER_SIZE 32
 
 // Forward declarations
 class GLWidget;
@@ -17,6 +20,10 @@ class AboutWindow;
 class HelpWindow;
 class FilePickerWindow;
 class MemoryBrowserWindow;
+class CPUBrowserWindow;
+class OPBrowserWindow;
+class M68KDasmBrowserWindow;
+class RISCDasmBrowserWindow;
 
 class MainWin: public QMainWindow
 {
@@ -36,7 +43,7 @@ class MainWin: public QMainWindow
 
        private slots:
                void Open(void);
-               void Configure(void);
+               void Configure(void);
                void Timer(void);
                void TogglePowerState(void);
                void ToggleRunState(void);
@@ -53,11 +60,18 @@ class MainWin: public QMainWindow
                void LoadSoftware(QString);
                void ToggleCDUsage(void);
                void FrameAdvance(void);
+               void ToggleFullScreen(void);
 
                void ShowMemoryBrowserWin(void);
+               void ShowCPUBrowserWin(void);
+               void ShowOPBrowserWin(void);
+               void ShowM68KDasmBrowserWin(void);
+               void ShowRISCDasmBrowserWin(void);
 
        private:
                void HandleKeys(QKeyEvent *, bool);
+               void HandleGamepads(void);
+               void SetFullScreen(bool state = true);
                void ResizeMainWindow(void);
                void ReadSettings(void);
                void WriteSettings(void);
@@ -69,6 +83,10 @@ class MainWin: public QMainWindow
                HelpWindow * helpWin;
                FilePickerWindow * filePickWin;
                MemoryBrowserWindow * memBrowseWin;
+               CPUBrowserWindow * cpuBrowseWin;
+               OPBrowserWindow * opBrowseWin;
+               M68KDasmBrowserWindow * m68kDasmBrowseWin;
+               RISCDasmBrowserWindow * riscDasmBrowseWin;
                QTimer * timer;
                bool running;
                int zoomLevel;
@@ -81,9 +99,15 @@ class MainWin: public QMainWindow
                bool pauseForFileSelector;
                bool loadAndGo;
                bool keyHeld[8];
+               bool fullScreen;
        public:
                bool plzDontKillMyComputer;
+               uint32_t oldTimestamp;
+               uint32_t ringBufferPointer;
+               uint32_t ringBuffer[RING_BUFFER_SIZE];
        private:
+               QPoint mainWinPosition;
+//             QSize mainWinSize;
                QMenu * fileMenu;
                QMenu * helpMenu;
                QMenu * debugMenu;
@@ -108,11 +132,17 @@ class MainWin: public QMainWindow
                QAction * configAct;
                QAction * useCDAct;
                QAction * frameAdvanceAct;
+               QAction * fullScreenAct;
 
                QAction * memBrowseAct;
+               QAction * cpuBrowseAct;
+               QAction * opBrowseAct;
+               QAction * m68kDasmBrowseAct;
+               QAction * riscDasmBrowseAct;
 
                QIcon powerGreen;
                QIcon powerRed;
+               uint32_t testPattern[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT_PAL];
 };
 
 #endif // __MAINWIN_H__