forked from enlightenment/efl
fix the initialisation of the evas engine informations for directdraw and direct3d
SVN revision: 34909
This commit is contained in:
parent
50d48a1859
commit
a2c9599b9f
|
@ -1044,25 +1044,13 @@ ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf ("ecore_evas_software_ddraw_new : ecore_win32_ddraw_init\n");
|
|
||||||
if (!ecore_win32_ddraw_init(ee->engine.win32.window))
|
|
||||||
{
|
|
||||||
ecore_win32_window_del(ee->engine.win32.window);
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_engine_info_get\n");
|
printf ("ecore_evas_software_ddraw_new : evas_engine_info_get\n");
|
||||||
einfo = (Evas_Engine_Info_Software_DDraw *)evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_Software_DDraw *)evas_engine_info_get(ee->evas);
|
||||||
if (einfo)
|
if (einfo)
|
||||||
{
|
{
|
||||||
/* FIXME: REDRAW_DEBUG missing for now */
|
/* FIXME: REDRAW_DEBUG missing for now */
|
||||||
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
||||||
einfo->info.object = ecore_win32_ddraw_object_get(ee->engine.win32.window);
|
einfo->info.depth = ecore_win32_screen_depth_get();;
|
||||||
einfo->info.surface_primary = ecore_win32_ddraw_surface_primary_get(ee->engine.win32.window);
|
|
||||||
einfo->info.surface_back = ecore_win32_ddraw_surface_back_get(ee->engine.win32.window);
|
|
||||||
einfo->info.depth = ecore_win32_ddraw_depth_get(ee->engine.win32.window);
|
|
||||||
einfo->info.rotation = 0;
|
einfo->info.rotation = 0;
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_engine_info_set\n");
|
printf ("ecore_evas_software_ddraw_new : evas_engine_info_set\n");
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
|
@ -1159,7 +1147,7 @@ ecore_evas_software_ddraw_16_new(Ecore_Win32_Window *parent,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ecore_win32_ddraw_16_init(ee->engine.win32.window))
|
if (ecore_win32_screen_depth_get() != 16)
|
||||||
{
|
{
|
||||||
ecore_win32_window_del(ee->engine.win32.window);
|
ecore_win32_window_del(ee->engine.win32.window);
|
||||||
_ecore_evas_win32_shutdown();
|
_ecore_evas_win32_shutdown();
|
||||||
|
@ -1167,25 +1155,17 @@ ecore_evas_software_ddraw_16_new(Ecore_Win32_Window *parent,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ecore_win32_ddraw_depth_get(ee->engine.win32.window) != 16)
|
|
||||||
{
|
|
||||||
ecore_win32_ddraw_shutdown(ee->engine.win32.window);
|
|
||||||
ecore_win32_window_del(ee->engine.win32.window);
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
einfo = (Evas_Engine_Info_Software_16_DDraw *)evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_Software_16_DDraw *)evas_engine_info_get(ee->evas);
|
||||||
if (einfo)
|
if (einfo)
|
||||||
{
|
{
|
||||||
/* FIXME: REDRAW_DEBUG missing for now */
|
/* FIXME: REDRAW_DEBUG missing for now */
|
||||||
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
||||||
einfo->info.object = ecore_win32_ddraw_object_get(ee->engine.win32.window);
|
/* einfo->info.object = ecore_win32_ddraw_object_get(ee->engine.win32.window); */
|
||||||
einfo->info.surface_primary = ecore_win32_ddraw_surface_primary_get(ee->engine.win32.window);
|
/* einfo->info.surface_primary = ecore_win32_ddraw_surface_primary_get(ee->engine.win32.window); */
|
||||||
einfo->info.surface_back = ecore_win32_ddraw_surface_back_get(ee->engine.win32.window);
|
/* einfo->info.surface_back = ecore_win32_ddraw_surface_back_get(ee->engine.win32.window); */
|
||||||
einfo->info.surface_source = ecore_win32_ddraw_surface_source_get(ee->engine.win32.window);
|
/* einfo->info.surface_source = ecore_win32_ddraw_surface_source_get(ee->engine.win32.window); */
|
||||||
einfo->info.depth = ecore_win32_ddraw_depth_get(ee->engine.win32.window);
|
/* einfo->info.depth = ecore_win32_ddraw_depth_get(ee->engine.win32.window); */
|
||||||
|
einfo->info.depth = ecore_win32_screen_depth_get();
|
||||||
printf ("ecore_evas_software_ddraw_16_new depth : %d\n", einfo->info.depth);
|
printf ("ecore_evas_software_ddraw_16_new depth : %d\n", einfo->info.depth);
|
||||||
einfo->info.rotation = 0;
|
einfo->info.rotation = 0;
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
|
@ -1282,24 +1262,12 @@ ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ecore_win32_direct3d_init(ee->engine.win32.window))
|
|
||||||
{
|
|
||||||
ecore_win32_window_del(ee->engine.win32.window);
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
einfo = (Evas_Engine_Info_Direct3D *)evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_Direct3D *)evas_engine_info_get(ee->evas);
|
||||||
if (einfo)
|
if (einfo)
|
||||||
{
|
{
|
||||||
/* FIXME: REDRAW_DEBUG missing for now */
|
/* FIXME: REDRAW_DEBUG missing for now */
|
||||||
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
||||||
einfo->info.object = ecore_win32_direct3d_object_get(ee->engine.win32.window);
|
einfo->info.depth = ecore_win32_screen_depth_get();
|
||||||
einfo->info.device = ecore_win32_direct3d_device_get(ee->engine.win32.window);
|
|
||||||
einfo->info.sprite = ecore_win32_direct3d_sprite_get(ee->engine.win32.window);
|
|
||||||
einfo->info.texture = ecore_win32_direct3d_texture_get(ee->engine.win32.window);
|
|
||||||
einfo->info.depth = ecore_win32_direct3d_depth_get(ee->engine.win32.window);
|
|
||||||
einfo->info.rotation = 0;
|
einfo->info.rotation = 0;
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue