use managed calls

SVN revision: 18243
This commit is contained in:
Carsten Haitzler 2005-11-03 11:34:55 +00:00
parent 9eef59377f
commit cfca0a1809
3 changed files with 56 additions and 3 deletions

View File

@ -632,6 +632,10 @@ e_border_move(E_Border *bd, int x, int y)
ecore_x_netwm_sync_request_send(bd->client.win, bd->client.netwm.sync.serial++);
}
#endif
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_icccm_move_resize_send(bd->client.win,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t,
@ -686,6 +690,10 @@ e_border_resize(E_Border *bd, int w, int h)
bd->client.netwm.sync.wait++;
ecore_x_netwm_sync_request_send(bd->client.win, bd->client.netwm.sync.serial++);
}
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_icccm_move_resize_send(bd->client.win,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t,
@ -744,6 +752,10 @@ e_border_move_resize(E_Border *bd, int x, int y, int w, int h)
bd->client.netwm.sync.wait++;
ecore_x_netwm_sync_request_send(bd->client.win, bd->client.netwm.sync.serial++);
}
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_icccm_move_resize_send(bd->client.win,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t,
@ -2294,6 +2306,10 @@ e_border_frame_recalc(E_Border *bd)
bd->need_shape_merge = 1;
bd->need_shape_export = 1;
}
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_icccm_move_resize_send(bd->client.win,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t,
@ -5011,6 +5027,10 @@ _e_border_eval(E_Border *bd)
bd->placed = 1;
}
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_icccm_move_resize_send(bd->client.win,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t,
@ -5090,6 +5110,10 @@ _e_border_eval(E_Border *bd)
if ((bd->changes.pos) && (bd->changes.size))
{
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
// printf("##- BORDER NEEDS POS/SIZE CHANGE 0x%x\n", bd->client.win);
if ((bd->shaded) && (!bd->shading))
{
@ -5175,12 +5199,20 @@ _e_border_eval(E_Border *bd)
}
else if (bd->changes.pos)
{
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_window_move(bd->win, bd->x, bd->y);
e_container_shape_move(bd->shape, bd->x, bd->y);
bd->changes.pos = 0;
}
else if (bd->changes.size)
{
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
// printf("##- BORDER NEEDS SIZE CHANGE 0x%x\n", bd->client.win);
if (bd->shaded && !bd->shading)
{
@ -5411,6 +5443,10 @@ _e_border_eval(E_Border *bd)
bd->y = y - (bd->client_inset.t >> 1);
bd->changed = 1;
bd->changes.pos = 1;
if (bd->internal_ecore_evas)
ecore_evas_managed_move(bd->internal_ecore_evas,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t);
ecore_x_icccm_move_resize_send(bd->client.win,
bd->x + bd->client_inset.l,
bd->y + bd->client_inset.t,

View File

@ -196,8 +196,21 @@ e_scrollframe_child_pos_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y)
void
e_scrollframe_child_region_show(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
{
Evas_Coord mx = 0, my = 0, cw = 0, ch = 0, px = 0, py = 0, nx, ny;
API_ENTRY return;
/* FIXME: do this code */
sd->pan_func.max_get(sd->pan_obj, &mx, &my);
sd->pan_func.child_size_get(sd->pan_obj, &cw, &ch);
sd->pan_func.get(sd->pan_obj, &px, &py);
nx = px;
if (x < px) nx = x;
else if ((x + w) > (px + (cw - mx))) nx = x + w - (cw - mx);
ny = py;
if (y < py) ny = y;
else if ((y + h) > (py + (ch - my))) ny = y + h - (ch - my);
if ((nx == px) && (ny == py)) return;
e_scrollframe_child_pos_set(obj, nx, ny);
}
void

View File

@ -311,10 +311,14 @@ _e_test_internal(E_Container *con)
static void
_e_test_click(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
#if 1
double size;
size = (double)(rand() % 1000) / 999;
evas_object_resize(obj, size * 1024, size * 768);
#else
e_scrollframe_child_region_show(data, 1024, 768, 100, 100);
#endif
}
static void
@ -327,13 +331,13 @@ _e_test_internal(E_Container *con)
e_dialog_title_set(dia, "A Test Dialog");
o = e_icon_add(dia->win->evas);
// e_icon_file_set(o, "/home/raster/t.png");
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_test_click, NULL);
e_icon_file_set(o, "/home/raster/t.png");
evas_object_resize(o, 1024, 768);
evas_object_focus_set(o, 1);
evas_object_show(o);
o2 = e_scrollframe_add(dia->win->evas);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_test_click, o2);
// e_scrollframe_custom_theme_set(o2, "base/theme/widgets", "widgets/scrollframe");
evas_object_resize(o2, 200, 300);
evas_object_show(o2);