Switching elm config's engine variable from enum to string ptr.

SVN revision: 54081
This commit is contained in:
Gustavo Lima Chaves 2010-11-01 21:10:07 +00:00
parent a012c4b511
commit e667a17bc8
7 changed files with 188 additions and 158 deletions

View File

@ -1,6 +1,6 @@
group "Elm_Config" struct {
value "config_version" int: 65537;
value "engine" int: 0;
value "engine" string: "software_x11";
value "thumbscroll_enable" uchar: 1;
value "thumbscroll_threshold" int: 24;
value "thumbscroll_momentum_threshold" double: 100.0;

View File

@ -1,6 +1,6 @@
group "Elm_Config" struct {
value "config_version" int: 65537;
value "engine" int: 0;
value "engine" string: "software_x11";
value "thumbscroll_enable" uchar: 1;
value "thumbscroll_threshold" int: 24;
value "thumbscroll_momentum_threshold" double: 100.0;

View File

@ -1,6 +1,6 @@
group "Elm_Config" struct {
value "config_version" int: 65537;
value "engine" int: 0;
value "engine" string: "software_x11";
value "thumbscroll_enable" uchar: 0;
value "thumbscroll_threshold" int: 4;
value "thumbscroll_momentum_threshold" double: 100.0;

View File

@ -13,6 +13,22 @@ Elm_Config *_elm_config = NULL;
char *_elm_profile = NULL;
static Eet_Data_Descriptor *_config_edd = NULL;
const char *_elm_engines[] = {
"software_x11",
"fb",
"directfb",
"software_16_x11",
"software_8_x11",
"xrender_x11",
"opengl_x11",
"software_gdi",
"software_16_wince_gdi",
"sdl",
"software_16_sdl",
"opengl_sdl",
NULL
};
static void _desc_init(void);
static void _desc_shutdown(void);
static void _profile_fetch_from_conf(void);
@ -207,7 +223,7 @@ _desc_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "config_version",
config_version, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "engine", engine,
EET_T_INT);
EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "thumbscroll_enable",
thumbscroll_enable, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config,
@ -529,6 +545,7 @@ _config_free(void)
{
eina_stringshare_del(fontdir);
}
if (_elm_config->engine) eina_stringshare_del(_elm_config->engine);
if (_elm_config->theme) eina_stringshare_del(_elm_config->theme);
if (_elm_config->modules) eina_stringshare_del(_elm_config->modules);
free(_elm_config);
@ -612,7 +629,7 @@ _config_load(void)
* without the config, but do we want that? */
_elm_config = ELM_NEW(Elm_Config);
_elm_config->config_version = ELM_CONFIG_VERSION;
_elm_config->engine = ELM_SOFTWARE_X11;
_elm_config->engine = eina_stringshare_add("software_x11");
_elm_config->thumbscroll_enable = EINA_TRUE;
_elm_config->thumbscroll_threshold = 24;
_elm_config->thumbscroll_momentum_threshold = 100.0;
@ -871,55 +888,55 @@ _env_get(void)
(!strcasecmp(s, "x")) ||
(!strcasecmp(s, "software-x11")) ||
(!strcasecmp(s, "software_x11")))
_elm_config->engine = ELM_SOFTWARE_X11;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_X11);
else if ((!strcasecmp(s, "opengl")) ||
(!strcasecmp(s, "gl")) ||
(!strcasecmp(s, "opengl-x11")) ||
(!strcasecmp(s, "opengl_x11")))
_elm_config->engine = ELM_OPENGL_X11;
eina_stringshare_replace(&_elm_config->engine, ELM_OPENGL_X11);
else if ((!strcasecmp(s, "x11-8")) ||
(!strcasecmp(s, "x18")) ||
(!strcasecmp(s, "software-8-x11")) ||
(!strcasecmp(s, "software_8_x11")))
_elm_config->engine = ELM_SOFTWARE_8_X11;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_8_X11);
else if ((!strcasecmp(s, "x11-16")) ||
(!strcasecmp(s, "x16")) ||
(!strcasecmp(s, "software-16-x11")) ||
(!strcasecmp(s, "software_16_x11")))
_elm_config->engine = ELM_SOFTWARE_16_X11;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_16_X11);
else if ((!strcasecmp(s, "xrender")) ||
(!strcasecmp(s, "xr")) ||
(!strcasecmp(s, "xrender-x11")) ||
(!strcasecmp(s, "xrender_x11")))
_elm_config->engine = ELM_XRENDER_X11;
eina_stringshare_replace(&_elm_config->engine, ELM_XRENDER_X11);
else if ((!strcasecmp(s, "fb")) ||
(!strcasecmp(s, "software-fb")) ||
(!strcasecmp(s, "software_fb")))
_elm_config->engine = ELM_SOFTWARE_FB;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_FB);
else if ((!strcasecmp(s, "directfb")) ||
(!strcasecmp(s, "dfb")))
_elm_config->engine = ELM_SOFTWARE_DIRECTFB;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_DIRECTFB);
else if ((!strcasecmp(s, "sdl")) ||
(!strcasecmp(s, "software-sdl")) ||
(!strcasecmp(s, "software_sdl")))
_elm_config->engine = ELM_SOFTWARE_SDL;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_SDL);
else if ((!strcasecmp(s, "sdl-16")) ||
(!strcasecmp(s, "software-16-sdl")) ||
(!strcasecmp(s, "software_16_sdl")))
_elm_config->engine = ELM_SOFTWARE_16_SDL;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_16_SDL);
else if ((!strcasecmp(s, "opengl-sdl")) ||
(!strcasecmp(s, "opengl_sdl")) ||
(!strcasecmp(s, "gl-sdl")) ||
(!strcasecmp(s, "gl_sdl")))
_elm_config->engine = ELM_OPENGL_SDL;
eina_stringshare_replace(&_elm_config->engine, ELM_OPENGL_SDL);
else if ((!strcasecmp(s, "gdi")) ||
(!strcasecmp(s, "software-gdi")) ||
(!strcasecmp(s, "software_gdi")))
_elm_config->engine = ELM_SOFTWARE_WIN32;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_WIN32);
else if ((!strcasecmp(s, "wince-gdi")) ||
(!strcasecmp(s, "software-16-wince-gdi")) ||
(!strcasecmp(s, "software_16_wince_gdi")))
_elm_config->engine = ELM_SOFTWARE_16_WINCE;
eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_16_WINCE);
}
s = getenv("ELM_THUMBSCROLL_ENABLE");
@ -1051,10 +1068,12 @@ _elm_config_init(void)
void
_elm_config_sub_init(void)
{
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11))
#undef ENGINE_COMPARE
{
#ifdef HAVE_ELEMENTARY_X
unsigned int val = 1000;
@ -1174,15 +1193,12 @@ _elm_config_profile_set(const char *profile)
void
_elm_config_shutdown(void)
{
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11) ||
(_elm_config->engine == ELM_SOFTWARE_SDL) ||
(_elm_config->engine == ELM_SOFTWARE_16_SDL) ||
(_elm_config->engine == ELM_OPENGL_SDL) ||
(_elm_config->engine == ELM_SOFTWARE_WIN32) ||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11))
#undef ENGINE_COMPARE
{
#ifdef HAVE_ELEMENTARY_X
ecore_event_handler_del(_prop_change_handler);

View File

@ -564,10 +564,12 @@ elm_quicklaunch_sub_init(int argc, char **argv)
evas_init();
edje_init();
_elm_config_sub_init();
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11))
#undef ENGINE_COMPARE
{
#ifdef HAVE_ELEMENTARY_X
ecore_x_init(NULL);
@ -597,24 +599,28 @@ elm_quicklaunch_sub_shutdown(void)
_elm_module_shutdown();
ecore_imf_shutdown();
ecore_evas_shutdown();
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11))
#undef ENGINE_COMPARE
{
#ifdef HAVE_ELEMENTARY_X
ecore_x_disconnect();
#endif
}
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11) ||
(_elm_config->engine == ELM_SOFTWARE_SDL) ||
(_elm_config->engine == ELM_SOFTWARE_16_SDL) ||
(_elm_config->engine == ELM_OPENGL_SDL) ||
(_elm_config->engine == ELM_SOFTWARE_WIN32) ||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_SDL) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_SDL) ||
ENGINE_COMPARE(ELM_OPENGL_SDL) ||
ENGINE_COMPARE(ELM_SOFTWARE_WIN32) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE))
#undef ENGINE_COMPARE
evas_cserve_disconnect();
edje_shutdown();
evas_shutdown();
@ -678,10 +684,12 @@ elm_quicklaunch_seed(void)
ecore_main_loop_iterate();
evas_object_del(win);
ecore_main_loop_iterate();
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11))
#undef ENGINE_COMPARE
{
# ifdef HAVE_ELEMENTARY_X
ecore_x_sync();
@ -829,10 +837,12 @@ elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (postfork_func) (voi
evas_init();
edje_init();
_elm_config_sub_init();
if ((_elm_config->engine == ELM_SOFTWARE_X11) ||
(_elm_config->engine == ELM_SOFTWARE_16_X11) ||
(_elm_config->engine == ELM_XRENDER_X11) ||
(_elm_config->engine == ELM_OPENGL_X11))
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) ||
ENGINE_COMPARE(ELM_OPENGL_X11))
#undef ENGINE_COMPARE
{
# ifdef HAVE_ELEMENTARY_X
ecore_x_init(NULL);

View File

@ -39,24 +39,6 @@ struct _Elm_Theme
int ref;
};
typedef enum _Elm_Engine
{
ELM_SOFTWARE_X11,
ELM_SOFTWARE_FB,
ELM_SOFTWARE_DIRECTFB,
ELM_SOFTWARE_16_X11,
ELM_SOFTWARE_8_X11,
ELM_XRENDER_X11,
ELM_OPENGL_X11,
ELM_SOFTWARE_WIN32,
ELM_SOFTWARE_16_WINCE,
ELM_SOFTWARE_SDL,
ELM_SOFTWARE_16_SDL,
ELM_OPENGL_SDL
} Elm_Engine;
/* increment this whenever we change config enough that you need new
* defaults for elm to work.
*/
@ -67,10 +49,26 @@ typedef enum _Elm_Engine
#define ELM_CONFIG_FILE_GENERATION 0x0001
#define ELM_CONFIG_VERSION ((ELM_CONFIG_EPOCH << 16) | ELM_CONFIG_FILE_GENERATION)
/* note: always remember to sync it with elm_config.c */
extern const char *_elm_engines[];
#define ELM_SOFTWARE_X11 (_elm_engines[0])
#define ELM_SOFTWARE_FB (_elm_engines[1])
#define ELM_SOFTWARE_DIRECTFB (_elm_engines[2])
#define ELM_SOFTWARE_16_X11 (_elm_engines[3])
#define ELM_SOFTWARE_8_X11 (_elm_engines[4])
#define ELM_XRENDER_X11 (_elm_engines[5])
#define ELM_OPENGL_X11 (_elm_engines[6])
#define ELM_SOFTWARE_WIN32 (_elm_engines[7])
#define ELM_SOFTWARE_16_WINCE (_elm_engines[8])
#define ELM_SOFTWARE_SDL (_elm_engines[9])
#define ELM_SOFTWARE_16_SDL (_elm_engines[10])
#define ELM_OPENGL_SDL (_elm_engines[11])
struct _Elm_Config
{
int config_version;
int engine;
const char *engine;
Eina_Bool thumbscroll_enable;
int thumbscroll_threshold;
double thumbscroll_momentum_threshold;

View File

@ -323,36 +323,41 @@ static void
_elm_win_xwindow_get(Elm_Win *win)
{
win->xwin = 0;
switch (_elm_config->engine)
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11))
{
case ELM_SOFTWARE_X11:
if (win->ee) win->xwin = ecore_evas_software_x11_window_get(win->ee);
break;
case ELM_SOFTWARE_FB:
case ELM_SOFTWARE_DIRECTFB:
case ELM_SOFTWARE_16_WINCE:
case ELM_SOFTWARE_SDL:
case ELM_SOFTWARE_16_SDL:
case ELM_OPENGL_SDL:
break;
case ELM_SOFTWARE_16_X11:
if (win->ee) win->xwin = ecore_evas_software_x11_16_window_get(win->ee);
break;
case ELM_SOFTWARE_8_X11:
if (win->ee) win->xwin = ecore_evas_software_x11_8_window_get(win->ee);
break;
case ELM_XRENDER_X11:
if (win->ee) win->xwin = ecore_evas_xrender_x11_window_get(win->ee);
break;
case ELM_OPENGL_X11:
if (win->ee) win->xwin = ecore_evas_gl_x11_window_get(win->ee);
break;
case ELM_SOFTWARE_WIN32:
if (win->ee) win->xwin = (long)ecore_evas_win32_window_get(win->ee);
break;
default:
break;
if (win->ee) win->xwin = ecore_evas_software_x11_window_get(win->ee);
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_FB) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE) ||
ENGINE_COMPARE(ELM_SOFTWARE_SDL) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_SDL) ||
ENGINE_COMPARE(ELM_OPENGL_SDL))
{
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_16_X11))
{
if (win->ee) win->xwin = ecore_evas_software_x11_16_window_get(win->ee);
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_8_X11))
{
if (win->ee) win->xwin = ecore_evas_software_x11_8_window_get(win->ee);
}
else if (ENGINE_COMPARE(ELM_XRENDER_X11))
{
if (win->ee) win->xwin = ecore_evas_xrender_x11_window_get(win->ee);
}
else if (ENGINE_COMPARE(ELM_OPENGL_X11))
{
if (win->ee) win->xwin = ecore_evas_gl_x11_window_get(win->ee);
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_WIN32))
{
if (win->ee) win->xwin = (long)ecore_evas_win32_window_get(win->ee);
}
#undef ENGINE_COMPARE
}
#endif
@ -906,22 +911,26 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
const char *fontpath;
win = ELM_NEW(Elm_Win);
switch (_elm_config->engine)
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_X11))
{
case ELM_SOFTWARE_X11:
win->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1);
#ifdef HAVE_ELEMENTARY_X
win->client_message_handler = ecore_event_handler_add
(ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, win);
#endif
break;
case ELM_SOFTWARE_FB:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_FB))
{
win->ee = ecore_evas_fb_new(NULL, 0, 1, 1);
break;
case ELM_SOFTWARE_DIRECTFB:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_DIRECTFB))
{
win->ee = ecore_evas_directfb_new(NULL, 1, 0, 0, 1, 1);
break;
case ELM_SOFTWARE_16_X11:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_16_X11))
{
win->ee = ecore_evas_software_x11_16_new(NULL, 0, 0, 0, 1, 1);
if (!win->ee)
{
@ -932,8 +941,9 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
win->client_message_handler = ecore_event_handler_add
(ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, win);
#endif
break;
case ELM_SOFTWARE_8_X11:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_8_X11))
{
win->ee = ecore_evas_software_x11_8_new(NULL, 0, 0, 0, 1, 1);
if (!win->ee)
{
@ -944,8 +954,9 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
win->client_message_handler = ecore_event_handler_add
(ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, win);
#endif
break;
case ELM_XRENDER_X11:
}
else if (ENGINE_COMPARE(ELM_XRENDER_X11))
{
win->ee = ecore_evas_xrender_x11_new(NULL, 0, 0, 0, 1, 1);
if (!win->ee)
{
@ -956,8 +967,9 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
win->client_message_handler = ecore_event_handler_add
(ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, win);
#endif
break;
case ELM_OPENGL_X11:
}
else if (ENGINE_COMPARE(ELM_OPENGL_X11))
{
win->ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 1, 1);
if (!win->ee)
{
@ -968,40 +980,43 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
win->client_message_handler = ecore_event_handler_add
(ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, win);
#endif
break;
case ELM_SOFTWARE_WIN32:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_WIN32))
{
win->ee = ecore_evas_software_gdi_new(NULL, 0, 0, 1, 1);
break;
case ELM_SOFTWARE_16_WINCE:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE))
{
win->ee = ecore_evas_software_wince_gdi_new(NULL, 0, 0, 1, 1);
break;
case ELM_SOFTWARE_SDL:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_SDL))
{
win->ee = ecore_evas_sdl_new(NULL, 0, 0, 0, 0, 0, 1);
if (!win->ee)
{
CRITICAL("Software SDL engine create failed. Try software.");
win->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1);
}
break;
case ELM_SOFTWARE_16_SDL:
}
else if (ENGINE_COMPARE(ELM_SOFTWARE_16_SDL))
{
win->ee = ecore_evas_sdl16_new(NULL, 0, 0, 0, 0, 0, 1);
if (!win->ee)
{
CRITICAL("Sofware-16-SDL engine create failed. Try software.");
win->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1);
}
break;
case ELM_OPENGL_SDL:
}
else if (ENGINE_COMPARE(ELM_OPENGL_SDL))
{
win->ee = ecore_evas_gl_sdl_new(NULL, 1, 1, 0, 0);
if (!win->ee)
{
CRITICAL("OpenGL SDL engine create failed. Try software.");
win->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1);
}
break;
default:
break;
}
if (!win->ee)
{
ERR("Cannot create window.");
@ -1073,24 +1088,11 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
_elm_win_list = eina_list_append(_elm_win_list, win->win_obj);
switch (_elm_config->engine)
if (ENGINE_COMPARE(ELM_SOFTWARE_FB))
{
case ELM_SOFTWARE_16_WINCE:
case ELM_SOFTWARE_FB:
ecore_evas_fullscreen_set(win->ee, 1);
break;
case ELM_SOFTWARE_X11:
case ELM_SOFTWARE_16_X11:
case ELM_SOFTWARE_8_X11:
case ELM_XRENDER_X11:
case ELM_OPENGL_X11:
case ELM_SOFTWARE_WIN32:
case ELM_SOFTWARE_SDL:
case ELM_SOFTWARE_16_SDL:
case ELM_OPENGL_SDL:
default:
break;
}
#undef ENGINE_COMPARE
if (_elm_config->focus_highlight_enable)
elm_win_focus_highlight_enabled_set(win->win_obj, EINA_TRUE);
@ -1513,19 +1515,22 @@ elm_win_fullscreen_set(Evas_Object *obj, Eina_Bool fullscreen)
ELM_CHECK_WIDTYPE(obj, widtype);
win = elm_widget_data_get(obj);
if (!win) return;
switch (_elm_config->engine)
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_FB) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE))
{
case ELM_SOFTWARE_16_WINCE:
case ELM_SOFTWARE_FB:
// these engines... can ONLY be fullscreen
break;
default:
return;
}
else
{
ecore_evas_fullscreen_set(win->ee, fullscreen);
#ifdef HAVE_ELEMENTARY_X
_elm_win_xwin_update(win);
#endif
break;
}
#undef ENGINE_COMPARE
}
/**
@ -1543,18 +1548,19 @@ elm_win_fullscreen_get(const Evas_Object *obj)
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
win = elm_widget_data_get(obj);
if (!win) return EINA_FALSE;
switch (_elm_config->engine)
#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
if (ENGINE_COMPARE(ELM_SOFTWARE_FB) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE))
{
case ELM_SOFTWARE_16_WINCE:
case ELM_SOFTWARE_FB:
// these engines... can ONLY be fullscreen
return EINA_TRUE;
break;
default:
return ecore_evas_fullscreen_get(win->ee);
break;
}
return EINA_FALSE;
else
{
return ecore_evas_fullscreen_get(win->ee);
}
#undef ENGINE_COMPARE
}
/**