forked from enlightenment/efl
parent
1ab78edd6f
commit
d748ced8e1
|
@ -193,6 +193,7 @@ EAPI Ecore_Evas *ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
EAPI Ecore_Win32_Window *ecore_evas_win32_window_get(Ecore_Evas *ee);
|
EAPI Ecore_Win32_Window *ecore_evas_win32_window_get(Ecore_Evas *ee);
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
|
EAPI Ecore_Evas *ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
|
||||||
|
EAPI Ecore_Evas *ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_software_wince_new(Ecore_WinCE_Window *parent,
|
EAPI Ecore_Evas *ecore_evas_software_wince_new(Ecore_WinCE_Window *parent,
|
||||||
int x,
|
int x,
|
||||||
|
|
|
@ -211,6 +211,19 @@ _ecore_evas_sdl_event_video_expose(void *data __UNUSED__, int type __UNUSED__, v
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ecore_evas_render(Ecore_Evas *ee)
|
||||||
|
{
|
||||||
|
Evas_List *updates;
|
||||||
|
|
||||||
|
updates = evas_render_updates(ee->evas);
|
||||||
|
if (updates)
|
||||||
|
{
|
||||||
|
evas_render_updates_free(updates);
|
||||||
|
_ecore_evas_idle_timeout_update(ee);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_ecore_evas_idle_enter(void *data __UNUSED__)
|
_ecore_evas_idle_enter(void *data __UNUSED__)
|
||||||
{
|
{
|
||||||
|
@ -229,22 +242,18 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
|
||||||
Ecore_Evas *ee;
|
Ecore_Evas *ee;
|
||||||
|
|
||||||
ee = (Ecore_Evas *)l;
|
ee = (Ecore_Evas *)l;
|
||||||
if (ee->visible)
|
|
||||||
{
|
|
||||||
Evas_List *updates;
|
|
||||||
|
|
||||||
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
|
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
|
||||||
|
|
||||||
updates = evas_render_updates(ee->evas);
|
if (ee->prop.avoid_damage) _ecore_evas_render(ee);
|
||||||
if (updates)
|
else if ((ee->visible) ||
|
||||||
{
|
((ee->should_be_visible) && (ee->prop.fullscreen)) ||
|
||||||
evas_render_updates_free(updates);
|
((ee->should_be_visible) && (ee->prop.override)))
|
||||||
_ecore_evas_idle_timeout_update(ee);
|
_ecore_evas_render(ee);
|
||||||
}
|
|
||||||
if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
evas_norender(ee->evas);
|
evas_norender(ee->evas);
|
||||||
|
|
||||||
|
if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
|
||||||
}
|
}
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
if (_ecore_evas_fps_debug)
|
if (_ecore_evas_fps_debug)
|
||||||
|
@ -429,21 +438,17 @@ static const Ecore_Evas_Engine_Func _ecore_sdl_engine_func =
|
||||||
NULL,
|
NULL,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
EAPI Ecore_Evas*
|
static Ecore_Evas*
|
||||||
ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
|
_ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
|
||||||
{
|
{
|
||||||
#ifdef BUILD_ECORE_EVAS_SDL
|
|
||||||
Evas_Engine_Info_SDL *einfo;
|
Evas_Engine_Info_SDL *einfo;
|
||||||
Ecore_Evas *ee;
|
Ecore_Evas *ee;
|
||||||
int rmethod;
|
|
||||||
|
|
||||||
if (!name)
|
if (!name)
|
||||||
name = ecore_evas_sdl_default;
|
name = ecore_evas_sdl_default;
|
||||||
|
|
||||||
rmethod = evas_render_method_lookup("software_sdl");
|
if (ecore_evases) return NULL;
|
||||||
if (!rmethod) return NULL;
|
|
||||||
|
|
||||||
if (!ecore_sdl_init(name)) return NULL;
|
if (!ecore_sdl_init(name)) return NULL;
|
||||||
|
|
||||||
|
@ -487,6 +492,7 @@ ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface
|
||||||
einfo = (Evas_Engine_Info_SDL*) evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_SDL*) evas_engine_info_get(ee->evas);
|
||||||
if (einfo)
|
if (einfo)
|
||||||
{
|
{
|
||||||
|
einfo->info.rotation = 0;
|
||||||
einfo->info.fullscreen = fullscreen;
|
einfo->info.fullscreen = fullscreen;
|
||||||
einfo->info.hwsurface = hwsurface;
|
einfo->info.hwsurface = hwsurface;
|
||||||
einfo->info.noframe = noframe;
|
einfo->info.noframe = noframe;
|
||||||
|
@ -505,8 +511,39 @@ ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface
|
||||||
|
|
||||||
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
||||||
|
|
||||||
|
SDL_ShowCursor(SDL_DISABLE);
|
||||||
|
|
||||||
ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
|
ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
|
||||||
return ee;
|
return ee;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
EAPI Ecore_Evas*
|
||||||
|
ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SDL
|
||||||
|
int rmethod;
|
||||||
|
|
||||||
|
rmethod = evas_render_method_lookup("software_sdl");
|
||||||
|
if (!rmethod) return NULL;
|
||||||
|
|
||||||
|
return _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha);
|
||||||
|
#else
|
||||||
|
fprintf(stderr, "OUTCH !\n");
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Ecore_Evas*
|
||||||
|
ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SDL
|
||||||
|
int rmethod;
|
||||||
|
|
||||||
|
rmethod = evas_render_method_lookup("software_16_sdl");
|
||||||
|
if (!rmethod) return NULL;
|
||||||
|
|
||||||
|
return _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha);
|
||||||
#else
|
#else
|
||||||
fprintf(stderr, "OUTCH !\n");
|
fprintf(stderr, "OUTCH !\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue