GTK: added openGL option, and movie loading option
This commit is contained in:
parent
86b65da02e
commit
6da628e69d
|
@ -7,6 +7,7 @@
|
||||||
#include "../../fceu.h"
|
#include "../../fceu.h"
|
||||||
#include "../../driver.h"
|
#include "../../driver.h"
|
||||||
#include "../../version.h"
|
#include "../../version.h"
|
||||||
|
#include "../../movie.h"
|
||||||
|
|
||||||
|
|
||||||
#include "../common/configSys.h"
|
#include "../common/configSys.h"
|
||||||
|
@ -154,13 +155,23 @@ void setScaler(GtkWidget* w, gpointer p)
|
||||||
g_config->setOption("SDL.SpecialFilter", x);
|
g_config->setOption("SDL.SpecialFilter", x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setGL(GtkWidget* w, gpointer p)
|
||||||
|
{
|
||||||
|
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)))
|
||||||
|
g_config->setOption("SDL.OpenGL", 1);
|
||||||
|
else
|
||||||
|
g_config->setOption("SDL.OpenGL", 0);
|
||||||
|
}
|
||||||
|
|
||||||
void openVideoConfig()
|
void openVideoConfig()
|
||||||
{
|
{
|
||||||
GtkWidget* win;
|
GtkWidget* win;
|
||||||
GtkWidget* vbox;
|
GtkWidget* vbox;
|
||||||
|
GtkWidget* lbl;
|
||||||
GtkWidget* hbox1;
|
GtkWidget* hbox1;
|
||||||
GtkWidget* scalerLbl;
|
GtkWidget* scalerLbl;
|
||||||
GtkWidget* scalerCombo;
|
GtkWidget* scalerCombo;
|
||||||
|
GtkWidget* glChk;
|
||||||
|
|
||||||
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_window_set_title(GTK_WINDOW(win), "Video Prefernces");
|
gtk_window_set_title(GTK_WINDOW(win), "Video Prefernces");
|
||||||
|
@ -168,6 +179,8 @@ void openVideoConfig()
|
||||||
|
|
||||||
vbox = gtk_vbox_new(FALSE, 3);
|
vbox = gtk_vbox_new(FALSE, 3);
|
||||||
|
|
||||||
|
lbl = gtk_label_new("Video options do not take \neffect until the emulator is restared.");
|
||||||
|
|
||||||
// scalar widgets
|
// scalar widgets
|
||||||
hbox1 = gtk_hbox_new(FALSE, 3);
|
hbox1 = gtk_hbox_new(FALSE, 3);
|
||||||
scalerLbl = gtk_label_new("Special Scaler: ");
|
scalerLbl = gtk_label_new("Special Scaler: ");
|
||||||
|
@ -186,8 +199,23 @@ void openVideoConfig()
|
||||||
g_signal_connect(GTK_OBJECT(scalerCombo), "changed", G_CALLBACK(setScaler), NULL);
|
g_signal_connect(GTK_OBJECT(scalerCombo), "changed", G_CALLBACK(setScaler), NULL);
|
||||||
gtk_box_pack_start(GTK_BOX(hbox1), scalerLbl, FALSE, FALSE, 2);
|
gtk_box_pack_start(GTK_BOX(hbox1), scalerLbl, FALSE, FALSE, 2);
|
||||||
gtk_box_pack_start(GTK_BOX(hbox1), scalerCombo, FALSE, FALSE, 2);
|
gtk_box_pack_start(GTK_BOX(hbox1), scalerCombo, FALSE, FALSE, 2);
|
||||||
|
|
||||||
|
// openGL check
|
||||||
|
glChk = gtk_check_button_new_with_label("Enable OpenGL");
|
||||||
|
g_signal_connect(GTK_OBJECT(glChk), "clicked", G_CALLBACK(setGL), NULL);
|
||||||
|
|
||||||
|
// sync with config
|
||||||
|
g_config->getOption("SDL.OpenGL", &buf);
|
||||||
|
if(buf)
|
||||||
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(glChk), 1);
|
||||||
|
else
|
||||||
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(glChk), 0);
|
||||||
|
|
||||||
|
|
||||||
|
gtk_box_pack_start(GTK_BOX(vbox), lbl, FALSE, FALSE, 2);
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), hbox1, FALSE, FALSE, 2);
|
gtk_box_pack_start(GTK_BOX(vbox), hbox1, FALSE, FALSE, 2);
|
||||||
|
gtk_box_pack_start(GTK_BOX(vbox), glChk, FALSE, FALSE, 2);
|
||||||
|
|
||||||
|
|
||||||
gtk_container_add(GTK_CONTAINER(win), vbox);
|
gtk_container_add(GTK_CONTAINER(win), vbox);
|
||||||
gtk_widget_show_all(win);
|
gtk_widget_show_all(win);
|
||||||
|
@ -364,6 +392,29 @@ void enableFullscreen ()
|
||||||
ToggleFS();
|
ToggleFS();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void loadMovie ()
|
||||||
|
{
|
||||||
|
GtkWidget* fileChooser;
|
||||||
|
|
||||||
|
fileChooser = gtk_file_chooser_dialog_new ("Open FM2 Movie", GTK_WINDOW(MainWindow),
|
||||||
|
GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
|
||||||
|
|
||||||
|
if (gtk_dialog_run (GTK_DIALOG (fileChooser)) ==GTK_RESPONSE_ACCEPT)
|
||||||
|
{
|
||||||
|
char* fname;
|
||||||
|
|
||||||
|
fname = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (fileChooser));
|
||||||
|
static int pauseframe;
|
||||||
|
g_config->getOption("SDL.PauseFrame", &pauseframe);
|
||||||
|
g_config->setOption("SDL.PauseFrame", 0);
|
||||||
|
FCEUI_printf("Playing back movie located at %s\n", fname);
|
||||||
|
FCEUI_LoadMovie(fname, false, false, pauseframe ? pauseframe : false);
|
||||||
|
g_free(fname);
|
||||||
|
}
|
||||||
|
gtk_widget_destroy (fileChooser);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef _S9XLUA_H
|
#ifdef _S9XLUA_H
|
||||||
void loadLua ()
|
void loadLua ()
|
||||||
{
|
{
|
||||||
|
@ -474,6 +525,7 @@ static GtkItemFactoryEntry menu_items[] = {
|
||||||
#ifdef _S9XLUA_H
|
#ifdef _S9XLUA_H
|
||||||
{ "/File/Load _Lua Script", NULL, loadLua, 0, "<Item>"},
|
{ "/File/Load _Lua Script", NULL, loadLua, 0, "<Item>"},
|
||||||
#endif
|
#endif
|
||||||
|
{ "/File/Load _Movie", NULL, loadMovie, 0, "<Item>"},
|
||||||
{ "/File/_Screenshot", "F12", FCEUI_SaveSnapshot, 0, "<Item>"},
|
{ "/File/_Screenshot", "F12", FCEUI_SaveSnapshot, 0, "<Item>"},
|
||||||
|
|
||||||
{ "/File/_Quit", "<CTRL>Q", quit, 0, "<StockItem>", GTK_STOCK_QUIT },
|
{ "/File/_Quit", "<CTRL>Q", quit, 0, "<StockItem>", GTK_STOCK_QUIT },
|
||||||
|
|
Loading…
Reference in New Issue