clouseau: added move-lines feature on on mouse move + right btn
Signed-off-by: Aharon Hillel <a.hillel@samsung.com> SVN revision: 72547
This commit is contained in:
parent
22cc9e004f
commit
6b46f92587
|
@ -629,6 +629,9 @@ _mouse_move(void *data,
|
|||
|
||||
elm_object_text_set(st->lb_mouse, s_bar);
|
||||
|
||||
if (((Evas_Event_Mouse_Move *) event_info)->buttons > 1)
|
||||
libclouseau_make_lines(st, mp_x, mp_y);
|
||||
|
||||
if (((xx >= 0) && (xx < ((Evas_Coord) st->w))) &&
|
||||
((yy >= 0) && (yy < ((Evas_Coord) st->h))))
|
||||
{ /* Need to test borders, because image may be scrolled */
|
||||
|
@ -651,7 +654,7 @@ _app_win_del(void *data,
|
|||
evas_object_event_callback_del(st->o, EVAS_CALLBACK_MOUSE_OUT,
|
||||
_mouse_out);
|
||||
evas_object_event_callback_del(st->o, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
libclouseau_make_lines);
|
||||
libclouseau_lines_cb);
|
||||
st->win = st->bt = st->lb_mouse = st->o = NULL;
|
||||
}
|
||||
|
||||
|
@ -834,7 +837,7 @@ _open_app_window(bmp_info_st *st, Evas_Object *bt, Tree_Item *treeit)
|
|||
_mouse_out, st);
|
||||
|
||||
evas_object_event_callback_add(st->o, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
libclouseau_make_lines, st);
|
||||
libclouseau_lines_cb, st);
|
||||
|
||||
evas_object_resize(st->scr, st->w, st->h);
|
||||
elm_win_resize_object_add(st->win, bx);
|
||||
|
|
|
@ -810,20 +810,12 @@ libclouseau_highlight(Evas_Object *obj, st_evas_props *props, bmp_info_st *view)
|
|||
}
|
||||
|
||||
void
|
||||
libclouseau_make_lines(void *data,
|
||||
Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info)
|
||||
libclouseau_make_lines(bmp_info_st *st, Evas_Coord xx, Evas_Coord yy)
|
||||
{ /* and no, we are NOT talking about WHITE lines */
|
||||
if (((Evas_Event_Mouse_Down *) event_info)->button == 1)
|
||||
return; /* make line only if not left mouse button */
|
||||
|
||||
bmp_info_st *st = data;
|
||||
Evas_Coord xx, yy, x_rgn, y_rgn, w_rgn, h_rgn;
|
||||
Evas_Coord x_rgn, y_rgn, w_rgn, h_rgn;
|
||||
lines_free(st);
|
||||
|
||||
elm_scroller_region_get(st->scr, &x_rgn, &y_rgn, &w_rgn, &h_rgn);
|
||||
xx = (((Evas_Event_Mouse_Move *) event_info)->cur.canvas.x);
|
||||
yy = (((Evas_Event_Mouse_Move *) event_info)->cur.canvas.y);
|
||||
|
||||
st->lx = evas_object_line_add(evas_object_evas_get(st->o));
|
||||
st->ly = evas_object_line_add(evas_object_evas_get(st->o));
|
||||
|
@ -840,3 +832,16 @@ libclouseau_make_lines(void *data,
|
|||
evas_object_show(st->lx);
|
||||
evas_object_show(st->ly);
|
||||
}
|
||||
|
||||
void
|
||||
libclouseau_lines_cb(void *data,
|
||||
Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info)
|
||||
{
|
||||
if (((Evas_Event_Mouse_Down *) event_info)->button == 1)
|
||||
return; /* Draw line only if not left mouse button */
|
||||
|
||||
libclouseau_make_lines(data,
|
||||
(((Evas_Event_Mouse_Move *) event_info)->cur.canvas.x),
|
||||
(((Evas_Event_Mouse_Move *) event_info)->cur.canvas.y));
|
||||
}
|
||||
|
|
|
@ -207,5 +207,6 @@ Eina_Bool eet_info_read(const char *filename, app_info_st **app, tree_data_st **
|
|||
|
||||
/* Highlight code, we may choose to move this to other file later */
|
||||
void libclouseau_highlight(Evas_Object *obj, st_evas_props *props, bmp_info_st *view);
|
||||
void libclouseau_make_lines(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info);
|
||||
void libclouseau_make_lines(bmp_info_st *st, Evas_Coord xx, Evas_Coord yy);
|
||||
void libclouseau_lines_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info);
|
||||
#endif /* EET_DATA_H */
|
||||
|
|
Loading…
Reference in New Issue