mirror of https://github.com/snes9xgit/snes9x.git
Remove GUI specifics in save function.
This commit is contained in:
parent
31580a5300
commit
a1fa47a978
|
@ -1576,7 +1576,7 @@ S9xQueryDrivers (void)
|
||||||
int error_base_p, event_base_p;
|
int error_base_p, event_base_p;
|
||||||
int major_version, minor_version;
|
int major_version, minor_version;
|
||||||
Display *dpy = gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (top_level->get_window())));
|
Display *dpy = gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (top_level->get_window())));
|
||||||
Window xid = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (top_level->get_window())));
|
Window xid = GDK_COMPAT_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (top_level->get_window())));
|
||||||
|
|
||||||
if (!XRRQueryExtension (dpy, &event_base_p, &error_base_p))
|
if (!XRRQueryExtension (dpy, &event_base_p, &error_base_p))
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ class S9xDisplayDriver
|
||||||
virtual void push_buffer (uint16 *src) = 0;
|
virtual void push_buffer (uint16 *src) = 0;
|
||||||
virtual void reconfigure (int width, int height) = 0;
|
virtual void reconfigure (int width, int height) = 0;
|
||||||
virtual void *get_parameters (void) = 0;
|
virtual void *get_parameters (void) = 0;
|
||||||
virtual void save (void) = 0;
|
virtual void save (const char *filename) = 0;
|
||||||
|
|
||||||
/* Namespaced sizing constants */
|
/* Namespaced sizing constants */
|
||||||
static const int image_width = 1024;
|
static const int image_width = 1024;
|
||||||
|
|
|
@ -18,7 +18,7 @@ class S9xGTKDisplayDriver : public S9xDisplayDriver
|
||||||
void push_buffer (uint16 *src);
|
void push_buffer (uint16 *src);
|
||||||
void reconfigure (int width, int height);
|
void reconfigure (int width, int height);
|
||||||
void *get_parameters (void) { return NULL; }
|
void *get_parameters (void) { return NULL; }
|
||||||
void save (void) { }
|
void save (const char *filename) { }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void clear (void);
|
void clear (void);
|
||||||
|
|
|
@ -284,11 +284,11 @@ S9xOpenGLDisplayDriver::get_parameters(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
S9xOpenGLDisplayDriver::save (void)
|
S9xOpenGLDisplayDriver::save (const char *filename)
|
||||||
{
|
{
|
||||||
if (using_glsl_shaders && glsl_shader)
|
if (using_glsl_shaders && glsl_shader)
|
||||||
{
|
{
|
||||||
glsl_shader->save();
|
glsl_shader->save(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -711,7 +711,7 @@ S9xOpenGLDisplayDriver::create_window (int width, int height)
|
||||||
gdk_window_set_user_data (gdk_window, (gpointer) drawing_area);
|
gdk_window_set_user_data (gdk_window, (gpointer) drawing_area);
|
||||||
|
|
||||||
gdk_window_show (gdk_window);
|
gdk_window_show (gdk_window);
|
||||||
xwindow = gdk_x11_window_get_xid (gdk_window);
|
xwindow = GDK_COMPAT_WINDOW_XID (gdk_window);
|
||||||
|
|
||||||
output_window_width = width;
|
output_window_width = width;
|
||||||
output_window_height = height;
|
output_window_height = height;
|
||||||
|
|
|
@ -40,7 +40,7 @@ class S9xOpenGLDisplayDriver : public S9xDisplayDriver
|
||||||
void push_buffer (uint16 *src);
|
void push_buffer (uint16 *src);
|
||||||
void reconfigure (int width, int height);
|
void reconfigure (int width, int height);
|
||||||
void *get_parameters (void);
|
void *get_parameters (void);
|
||||||
void save (void);
|
void save (const char *filename);
|
||||||
static int query_availability (void);
|
static int query_availability (void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -65,7 +65,7 @@ S9xXVDisplayDriver::create_window (int width, int height)
|
||||||
gdk_window_set_user_data (gdk_window, (gpointer) drawing_area);
|
gdk_window_set_user_data (gdk_window, (gpointer) drawing_area);
|
||||||
|
|
||||||
gdk_window_show (gdk_window);
|
gdk_window_show (gdk_window);
|
||||||
xwindow = gdk_x11_window_get_xid (gdk_window);
|
xwindow = GDK_COMPAT_WINDOW_XID (gdk_window);
|
||||||
|
|
||||||
output_window_width = width;
|
output_window_width = width;
|
||||||
output_window_height = height;
|
output_window_height = height;
|
||||||
|
|
|
@ -25,7 +25,7 @@ class S9xXVDisplayDriver : public S9xDisplayDriver
|
||||||
void push_buffer (uint16 *src);
|
void push_buffer (uint16 *src);
|
||||||
void reconfigure (int width, int height);
|
void reconfigure (int width, int height);
|
||||||
void *get_parameters (void) { return NULL; }
|
void *get_parameters (void) { return NULL; }
|
||||||
void save (void) { }
|
void save (const char *filename) { }
|
||||||
static int query_availability (void);
|
static int query_availability (void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -131,11 +131,14 @@ const char *
|
||||||
S9xGetDirectory (enum s9x_getdirtype dirtype)
|
S9xGetDirectory (enum s9x_getdirtype dirtype)
|
||||||
{
|
{
|
||||||
static char path[PATH_MAX + 1];
|
static char path[PATH_MAX + 1];
|
||||||
|
char *config_dir;
|
||||||
|
|
||||||
switch (dirtype)
|
switch (dirtype)
|
||||||
{
|
{
|
||||||
case HOME_DIR:
|
case HOME_DIR:
|
||||||
strcpy (path, getenv ("HOME"));
|
config_dir = get_config_dir ();
|
||||||
|
strcpy (path, config_dir);
|
||||||
|
free (config_dir);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SNAPSHOT_DIR:
|
case SNAPSHOT_DIR:
|
||||||
|
|
|
@ -514,7 +514,12 @@ event_shader_parameters (GtkButton *widget, gpointer data)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
driver->save();
|
char *config_dir = get_config_dir();
|
||||||
|
char *config_file = new char[strlen (config_dir) + 14];
|
||||||
|
sprintf(config_file, "%s/shader.glslp", config_dir);
|
||||||
|
delete[] config_dir;
|
||||||
|
driver->save (config_file);
|
||||||
|
realpath (config_file, gui_config->fragment_shader);
|
||||||
preferences->set_entry_text ("fragment_shader", preferences->config->fragment_shader);
|
preferences->set_entry_text ("fragment_shader", preferences->config->fragment_shader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1576,8 +1576,8 @@ static double XRRGetExactRefreshRate (Display *dpy, Window window)
|
||||||
double
|
double
|
||||||
Snes9xWindow::get_refresh_rate (void)
|
Snes9xWindow::get_refresh_rate (void)
|
||||||
{
|
{
|
||||||
Window xid = gdk_x11_window_get_xid(gtk_widget_get_window (window));
|
Window xid = GDK_COMPAT_WINDOW_XID (gtk_widget_get_window (window));
|
||||||
Display *dpy = gdk_x11_display_get_xdisplay(gtk_widget_get_display (window));
|
Display *dpy = gdk_x11_display_get_xdisplay (gtk_widget_get_display (window));
|
||||||
double refresh_rate = XRRGetExactRefreshRate (dpy, xid);
|
double refresh_rate = XRRGetExactRefreshRate (dpy, xid);
|
||||||
|
|
||||||
if (refresh_rate < 10.0)
|
if (refresh_rate < 10.0)
|
||||||
|
@ -1652,7 +1652,7 @@ Snes9xWindow::enter_fullscreen_mode (void)
|
||||||
gtk_window_present (GTK_WINDOW (window));
|
gtk_window_present (GTK_WINDOW (window));
|
||||||
|
|
||||||
set_bypass_compositor (gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (window))),
|
set_bypass_compositor (gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (window))),
|
||||||
gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (window))),
|
GDK_COMPAT_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (window))),
|
||||||
1);
|
1);
|
||||||
|
|
||||||
config->fullscreen = 1;
|
config->fullscreen = 1;
|
||||||
|
@ -1707,7 +1707,7 @@ Snes9xWindow::leave_fullscreen_mode (void)
|
||||||
gtk_window_unfullscreen (GTK_WINDOW (window));
|
gtk_window_unfullscreen (GTK_WINDOW (window));
|
||||||
|
|
||||||
set_bypass_compositor (gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (window))),
|
set_bypass_compositor (gdk_x11_display_get_xdisplay (gtk_widget_get_display (GTK_WIDGET (window))),
|
||||||
gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (window))),
|
GDK_COMPAT_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (window))),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
resize (nfs_width, nfs_height);
|
resize (nfs_width, nfs_height);
|
||||||
|
|
|
@ -80,7 +80,7 @@ bool gtk_shader_parameters_dialog (GtkWindow *parent)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GtkWidget *scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, p->min, p->max, p->step);
|
GtkWidget *scale = gtk_hscale_new_with_range (p->min, p->max, p->step);
|
||||||
gtk_widget_set_hexpand (scale, TRUE);
|
gtk_widget_set_hexpand (scale, TRUE);
|
||||||
gtk_grid_attach (GTK_GRID (grid), scale, 1, i, 1, 1);
|
gtk_grid_attach (GTK_GRID (grid), scale, 1, i, 1, 1);
|
||||||
gtk_scale_set_value_pos (GTK_SCALE (scale), GTK_POS_RIGHT);
|
gtk_scale_set_value_pos (GTK_SCALE (scale), GTK_POS_RIGHT);
|
||||||
|
|
|
@ -960,17 +960,12 @@ void GLSLShader::clear_shader_vars (void)
|
||||||
#define outs(s, v) fprintf (file, "%s%d = \"%s\"\n", s, i, v)
|
#define outs(s, v) fprintf (file, "%s%d = \"%s\"\n", s, i, v)
|
||||||
#define outf(s, v) fprintf (file, "%s%d = \"%f\"\n", s, i, v)
|
#define outf(s, v) fprintf (file, "%s%d = \"%f\"\n", s, i, v)
|
||||||
#define outd(s, v) fprintf (file, "%s%d = \"%d\"\n", s, i, v)
|
#define outd(s, v) fprintf (file, "%s%d = \"%d\"\n", s, i, v)
|
||||||
void GLSLShader::save (void)
|
void GLSLShader::save (const char *filename)
|
||||||
{
|
{
|
||||||
char *config_dir = get_config_dir();
|
FILE *file = fopen (filename, "wb");
|
||||||
char *config_file = new char[strlen (config_dir) + 14];
|
|
||||||
sprintf(config_file, "%s/shader.glslp", config_dir);
|
|
||||||
delete[] config_dir;
|
|
||||||
|
|
||||||
FILE *file = fopen (config_file, "wb");
|
|
||||||
if (!file)
|
if (!file)
|
||||||
{
|
{
|
||||||
printf ("Couldn't save shader config to %s\n", config_file);
|
printf ("Couldn't save shader config to %s\n", filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (file, "shaders = \"%d\"\n", (unsigned int) pass.size() - 1);
|
fprintf (file, "shaders = \"%d\"\n", (unsigned int) pass.size() - 1);
|
||||||
|
@ -1039,9 +1034,6 @@ void GLSLShader::save (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose (file);
|
fclose (file);
|
||||||
|
|
||||||
realpath (config_file, gui_config->fragment_shader);
|
|
||||||
delete[] config_file;
|
|
||||||
}
|
}
|
||||||
#undef outf
|
#undef outf
|
||||||
#undef outs
|
#undef outs
|
||||||
|
|
|
@ -115,7 +115,7 @@ typedef struct
|
||||||
const char *defines,
|
const char *defines,
|
||||||
GLuint type,
|
GLuint type,
|
||||||
GLuint *out);
|
GLuint *out);
|
||||||
void save (void);
|
void save (const char *filename);
|
||||||
|
|
||||||
void destroy (void);
|
void destroy (void);
|
||||||
void register_uniforms (void);
|
void register_uniforms (void);
|
||||||
|
|
Loading…
Reference in New Issue