live_edit: fix incorrect align line position.

because the computation doesn't considered scroller bar areas,
the position of the align liner wasn't correct.

this is now fixed.
This commit is contained in:
Hermet Park 2016-05-22 23:54:49 +09:00
parent cf4c9ffb94
commit 88286c627c
1 changed files with 13 additions and 24 deletions

View File

@ -626,45 +626,34 @@ static void
align_line_update(live_data *ld)
{
Evas_Coord lx, ly, lw, lh;
evas_object_geometry_get(ld->live_view, &lx, &ly, &lw, &lh);
Evas_Coord vw, vh;
config_view_size_get(&vw, &vh);
vw *= config_view_scale_get();
vh *= config_view_scale_get();
lx = (lx + (lw * 0.5)) - (vw * 0.5);
ly = (ly + (lh * 0.5)) - (vh * 0.5);
lw = vw;
lh = vh;
Evas_Object *view_obj = view_obj_get(ld);
evas_object_geometry_get(view_obj, &lx, &ly, &lw, &lh);
int x, y;
//Top
evas_object_geometry_get(ld->ctrl_pt[Ctrl_Pt_Top], NULL, &y, NULL, NULL);
y = round(((double) y) + ld->half_ctrl_size);
evas_object_move(ld->align_line[Align_Line_Top], (lx + 1), y);
evas_object_resize(ld->align_line[Align_Line_Top], (lw - 2),
(ELM_SCALE_SIZE(1)));
evas_object_move(ld->align_line[Align_Line_Top], lx, y);
evas_object_resize(ld->align_line[Align_Line_Top], lw, ELM_SCALE_SIZE(1));
//Bottom
evas_object_geometry_get(ld->ctrl_pt[Ctrl_Pt_Bottom], NULL, &y, NULL, NULL);
y = round(((double) y) + ld->half_ctrl_size);
evas_object_move(ld->align_line[Align_Line_Bottom], (lx + 1), (y - 1));
evas_object_resize(ld->align_line[Align_Line_Bottom], (lw - 2),
ELM_SCALE_SIZE(1));
evas_object_move(ld->align_line[Align_Line_Bottom], lx, y);
evas_object_resize(ld->align_line[Align_Line_Bottom], lw, ELM_SCALE_SIZE(1));
//Left
evas_object_geometry_get(ld->ctrl_pt[Ctrl_Pt_Left], &x, NULL, NULL, NULL);
x = round(((double) x) + ld->half_ctrl_size);
evas_object_move(ld->align_line[Align_Line_Left], x, (ly + 1));
evas_object_resize(ld->align_line[Align_Line_Left],
ELM_SCALE_SIZE(1), (lh - 2));
//Right
evas_object_move(ld->align_line[Align_Line_Left], x, ly);
evas_object_resize(ld->align_line[Align_Line_Left], ELM_SCALE_SIZE(1), lh);
//Righit
evas_object_geometry_get(ld->ctrl_pt[Ctrl_Pt_Right], &x, NULL, NULL, NULL);
x = round(((double) x) + ld->half_ctrl_size);
evas_object_move(ld->align_line[Align_Line_Right], (x - 1), (ly + 1));
evas_object_resize(ld->align_line[Align_Line_Right],
ELM_SCALE_SIZE(1), (lh - 2));
evas_object_move(ld->align_line[Align_Line_Right], x, ly);
evas_object_resize(ld->align_line[Align_Line_Right], ELM_SCALE_SIZE(1), lh);
}
static void