new controls dialog; using gconf instead of hgw
[drnoksnes] / platform / platform.h
index 75ef7d2..8e510a6 100644 (file)
@@ -14,24 +14,34 @@ extern struct config {
        bool snapshotSave;
        /** Create fullscreen surface */
        bool fullscreen;
-       /** Using xsp (thus take care of doubling coordinates where appropiate) */
-       bool xsp;
+       /** Name of the scaler to use or NULL for default */
+       char * scaler;
        /** Audio output enabled */
        bool enableAudio;
        /** Speedhacks file to use */
        char * hacksFile;
        /** Enable touchscreen controls */
        bool touchscreenInput;
+       /** Display touchscreen controls grid */
+       bool touchscreenShow;
+       /** If true, next time the main loop is entered application will close */
+       bool quitting;
        /** Current scancode->joypad mapping */
        unsigned short joypad1Mapping[256];
+       unsigned short joypad2Mapping[256];
        unsigned char action[256];
-       /** If true, next time the main loop is entered application will close */
-       bool quitting;
 } Config;
 
 // Video
+extern struct gui {
+       /** Size of the GUI Window */
+       unsigned short Width, Height;
+       /** Size of the (scaled) rendering area, relative to window. */
+       unsigned short RenderX, RenderY, RenderW, RenderH;
+       /** Scaling ratio */
+       float ScaleX, ScaleY;
+} GUI;
 void S9xVideoToggleFullscreen();
-void S9xVideoOutputFocus(bool hasFocus);
 
 // Audio output
 void S9xInitAudioOutput();
@@ -41,12 +51,17 @@ void S9xAudioOutputEnable(bool enable);
 // Input devices
 EXTERN_C void S9xInitInputDevices();
 void S9xDeinitInputDevices();
-void S9xInputFullscreenChanged();
+void S9xInputScreenChanged();
+void S9xInputScreenDraw(int pixelSize, void * buffer, int pitch);
 
 // Input actions
 #define kActionNone                                            0
 #define kActionQuit                                    (1U << 0)
 #define        kActionToggleFullscreen         (1U << 1)
+#define kActionQuickLoad1                      (1U << 2)
+#define kActionQuickSave1                      (1U << 3)
+#define kActionQuickLoad2                      (1U << 4)
+#define kActionQuickSave2                      (1U << 5)
 
 void S9xDoAction(unsigned char action);