fix build issue

SVN revision: 17439
This commit is contained in:
Carsten Haitzler 2005-10-11 16:34:41 +00:00
parent ab76814442
commit e5fe3c4400
1 changed files with 55 additions and 45 deletions

View File

@ -991,61 +991,67 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
if (!einfo) return;
rot_dif = ee->rotation - rotation;
if (rot_dif < 0) rot_dif = -rot_dif;
if (rot_dif != 180)
{
int minw, minh, maxw, maxh, basew, baseh, stepw, steph;
einfo->info.rotation = rotation;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
if (!ee->prop.fullscreen)
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_X
Evas_Engine_Info_Software_X11 *einfo;
if (rot_dif != 180)
{
ecore_x_window_resize(ee->engine.x.win_container, ee->h, ee->w);
ee->expecting_resize.w = ee->h;
ee->expecting_resize.h = ee->w;
}
else
{
int w, h;
int minw, minh, maxw, maxh, basew, baseh, stepw, steph;
ecore_x_window_size_get(ee->engine.x.win_container, &w, &h);
ecore_x_window_resize(ee->engine.x.win_container, h, w);
if ((rotation == 0) || (rotation == 180))
einfo->info.rotation = rotation;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
if (!ee->prop.fullscreen)
{
evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
ecore_x_window_resize(ee->engine.x.win_container, ee->h, ee->w);
ee->expecting_resize.w = ee->h;
ee->expecting_resize.h = ee->w;
}
else
{
evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
int w, h;
ecore_x_window_size_get(ee->engine.x.win_container, &w, &h);
ecore_x_window_resize(ee->engine.x.win_container, h, w);
if ((rotation == 0) || (rotation == 180))
{
evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
}
else
{
evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
}
if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
ecore_evas_size_min_get(ee, &minw, &minh);
ecore_evas_size_max_get(ee, &maxw, &maxh);
ecore_evas_size_base_get(ee, &basew, &baseh);
ecore_evas_size_step_get(ee, &stepw, &steph);
ee->rotation = rotation;
ecore_evas_size_min_set(ee, minh, minw);
ecore_evas_size_max_set(ee, maxh, maxw);
ecore_evas_size_base_set(ee, baseh, basew);
ecore_evas_size_step_set(ee, steph, stepw);
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
ecore_x_current_time_get());
}
else
{
einfo->info.rotation = rotation;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
ee->rotation = rotation;
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
ecore_x_current_time_get());
if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
ecore_evas_size_min_get(ee, &minw, &minh);
ecore_evas_size_max_get(ee, &maxw, &maxh);
ecore_evas_size_base_get(ee, &basew, &baseh);
ecore_evas_size_step_get(ee, &stepw, &steph);
ee->rotation = rotation;
ecore_evas_size_min_set(ee, minh, minw);
ecore_evas_size_max_set(ee, maxh, maxw);
ecore_evas_size_base_set(ee, baseh, basew);
ecore_evas_size_step_set(ee, steph, stepw);
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
ecore_x_current_time_get());
if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
else
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
#endif
}
else
{
einfo->info.rotation = rotation;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
ee->rotation = rotation;
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
ecore_x_current_time_get());
if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
else
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
}
static void
@ -1055,6 +1061,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
return;
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_X
Evas_Engine_Info_Software_X11 *einfo;
ee->shaped = shaped;
@ -1088,9 +1095,11 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
ecore_x_window_shape_mask_set(ee->engine.x.win_container, 0);
}
}
#endif
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
#ifdef BUILD_ECORE_EVAS_XRENDER
Evas_Engine_Info_XRender_X11 *einfo;
ee->shaped = shaped;
@ -1124,6 +1133,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
ecore_x_window_shape_mask_set(ee->engine.x.win_container, 0);
}
}
#endif
}
}