forked from enlightenment/efl
elm can now set vsync for gl windows/clients
SVN revision: 59321
This commit is contained in:
parent
1f0bddcbae
commit
4d8465f5f1
|
@ -1,6 +1,7 @@
|
|||
group "Elm_Config" struct {
|
||||
value "config_version" int: 65539;
|
||||
value "engine" string: "software_x11";
|
||||
value "vsync" uchar: 0;
|
||||
value "thumbscroll_enable" uchar: 1;
|
||||
value "thumbscroll_threshold" int: 24;
|
||||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
group "Elm_Config" struct {
|
||||
value "config_version" int: 65539;
|
||||
value "engine" string: "software_x11";
|
||||
value "vsync" uchar: 0;
|
||||
value "thumbscroll_enable" uchar: 1;
|
||||
value "thumbscroll_threshold" int: 24;
|
||||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
group "Elm_Config" struct {
|
||||
value "config_version" int: 65539;
|
||||
value "engine" string: "software_x11";
|
||||
value "vsync" uchar: 0;
|
||||
value "thumbscroll_enable" uchar: 0;
|
||||
value "thumbscroll_threshold" int: 4;
|
||||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
|
|
|
@ -563,6 +563,7 @@ _desc_init(void)
|
|||
#define D _config_edd
|
||||
ELM_CONFIG_VAL(D, T, config_version, T_INT);
|
||||
ELM_CONFIG_VAL(D, T, engine, T_STRING);
|
||||
ELM_CONFIG_VAL(D, T, vsync, T_UCHAR);
|
||||
ELM_CONFIG_VAL(D, T, thumbscroll_enable, T_UCHAR);
|
||||
ELM_CONFIG_VAL(D, T, thumbscroll_threshold, T_INT);
|
||||
ELM_CONFIG_VAL(D, T, thumbscroll_momentum_threshold, T_DOUBLE);
|
||||
|
@ -1112,6 +1113,7 @@ _config_load(void)
|
|||
_elm_config = ELM_NEW(Elm_Config);
|
||||
_elm_config->config_version = ELM_CONFIG_VERSION;
|
||||
_elm_config->engine = eina_stringshare_add("software_x11");
|
||||
_elm_config->vsync = 0;
|
||||
_elm_config->thumbscroll_enable = EINA_TRUE;
|
||||
_elm_config->thumbscroll_threshold = 24;
|
||||
_elm_config->thumbscroll_momentum_threshold = 100.0;
|
||||
|
@ -1436,6 +1438,9 @@ _env_get(void)
|
|||
else if ((!strncmp(s, "shot:", 5)))
|
||||
eina_stringshare_replace(&_elm_config->engine, s);
|
||||
}
|
||||
|
||||
s = getenv("ELM_VSYNC");
|
||||
if (s) _elm_config->vsync = !!atoi(s);
|
||||
|
||||
s = getenv("ELM_THUMBSCROLL_ENABLE");
|
||||
if (s) _elm_config->thumbscroll_enable = !!atoi(s);
|
||||
|
|
|
@ -78,6 +78,7 @@ struct _Elm_Config
|
|||
{
|
||||
int config_version;
|
||||
const char *engine;
|
||||
unsigned char vsync;
|
||||
unsigned char thumbscroll_enable;
|
||||
int thumbscroll_threshold;
|
||||
double thumbscroll_momentum_threshold;
|
||||
|
|
|
@ -1371,7 +1371,20 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
*/
|
||||
else if (ENGINE_COMPARE(ELM_OPENGL_X11))
|
||||
{
|
||||
win->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 1, 1);
|
||||
int opt[10];
|
||||
int opt_i = 0;
|
||||
|
||||
if (_elm_config->vsync)
|
||||
{
|
||||
opt[opt_i] = ECORE_EVAS_GL_X11_OPT_VSYNC;
|
||||
opt_i++;
|
||||
opt[opt_i] = 1;
|
||||
opt_i++;
|
||||
}
|
||||
if (opt_i > 0)
|
||||
win->ee = ecore_evas_gl_x11_options_new(NULL, 0, 0, 0, 1, 1, opt);
|
||||
else
|
||||
win->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 1, 1);
|
||||
FALLBACK_TRY("OpenGL");
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
win->client_message_handler = ecore_event_handler_add
|
||||
|
|
Loading…
Reference in New Issue