forked from enlightenment/enlightenment
Backport: 22f25b4
:: Fix variable type of "name" to be char (not const char). Add code to set mouse pointer on frame events (resize, rotate, etc).
Signed-off-by: Christopher Michael <cp.michael@samsung.com> SVN revision: 84165 Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
This commit is contained in:
parent
00eac610e4
commit
caa8ea5cf0
|
@ -85,6 +85,13 @@ static void _e_smart_monitor_thumb_cb_mouse_out(void *data EINA_UNUSED, Evas *ev
|
||||||
static void _e_smart_monitor_thumb_cb_mouse_up(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event);
|
static void _e_smart_monitor_thumb_cb_mouse_up(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event);
|
||||||
static void _e_smart_monitor_thumb_cb_mouse_down(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event);
|
static void _e_smart_monitor_thumb_cb_mouse_down(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event);
|
||||||
|
|
||||||
|
static void _e_smart_monitor_frame_cb_resize_in(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED);
|
||||||
|
static void _e_smart_monitor_frame_cb_resize_out(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED);
|
||||||
|
static void _e_smart_monitor_frame_cb_rotate_in(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED);
|
||||||
|
static void _e_smart_monitor_frame_cb_rotate_out(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED);
|
||||||
|
static void _e_smart_monitor_frame_cb_indicator_in(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED);
|
||||||
|
static void _e_smart_monitor_frame_cb_indicator_out(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED);
|
||||||
|
|
||||||
/* external functions exposed by this widget */
|
/* external functions exposed by this widget */
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
e_smart_monitor_add(Evas *evas)
|
e_smart_monitor_add(Evas *evas)
|
||||||
|
@ -146,7 +153,7 @@ e_smart_monitor_output_set(Evas_Object *obj, Ecore_X_Randr_Output output)
|
||||||
unsigned char *edid = NULL;
|
unsigned char *edid = NULL;
|
||||||
unsigned long edid_length = 0;
|
unsigned long edid_length = 0;
|
||||||
Ecore_X_Window root = 0;
|
Ecore_X_Window root = 0;
|
||||||
const char *name = NULL;
|
char *name = NULL;
|
||||||
|
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
|
||||||
|
@ -313,7 +320,20 @@ _e_smart_add(Evas_Object *obj)
|
||||||
e_theme_edje_object_set(sd->o_frame, "base/theme/widgets",
|
e_theme_edje_object_set(sd->o_frame, "base/theme/widgets",
|
||||||
"e/conf/randr/main/frame");
|
"e/conf/randr/main/frame");
|
||||||
edje_object_part_swallow(sd->o_base, "e.swallow.frame", sd->o_frame);
|
edje_object_part_swallow(sd->o_base, "e.swallow.frame", sd->o_frame);
|
||||||
/* TODO: Add callback functions */
|
|
||||||
|
/* add callbacks for frame events */
|
||||||
|
edje_object_signal_callback_add(sd->o_frame, "e,action,resize,in", "e",
|
||||||
|
_e_smart_monitor_frame_cb_resize_in, NULL);
|
||||||
|
edje_object_signal_callback_add(sd->o_frame, "e,action,resize,out", "e",
|
||||||
|
_e_smart_monitor_frame_cb_resize_out, NULL);
|
||||||
|
edje_object_signal_callback_add(sd->o_frame, "e,action,rotate,in", "e",
|
||||||
|
_e_smart_monitor_frame_cb_rotate_in, NULL);
|
||||||
|
edje_object_signal_callback_add(sd->o_frame, "e,action,rotate,out", "e",
|
||||||
|
_e_smart_monitor_frame_cb_rotate_out, NULL);
|
||||||
|
edje_object_signal_callback_add(sd->o_frame, "e,action,indicator,in", "e",
|
||||||
|
_e_smart_monitor_frame_cb_indicator_in, NULL);
|
||||||
|
edje_object_signal_callback_add(sd->o_frame, "e,action,indicator,out", "e",
|
||||||
|
_e_smart_monitor_frame_cb_indicator_out, NULL);
|
||||||
|
|
||||||
/* create the stand */
|
/* create the stand */
|
||||||
sd->o_stand = edje_object_add(sd->evas);
|
sd->o_stand = edje_object_add(sd->evas);
|
||||||
|
@ -375,7 +395,27 @@ _e_smart_del(Evas_Object *obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_object_del(sd->o_stand);
|
evas_object_del(sd->o_stand);
|
||||||
|
|
||||||
|
if (sd->o_frame)
|
||||||
|
{
|
||||||
|
/* delete the event callbacks */
|
||||||
|
edje_object_signal_callback_del(sd->o_frame, "e,action,resize,in", "e",
|
||||||
|
_e_smart_monitor_frame_cb_resize_in);
|
||||||
|
edje_object_signal_callback_del(sd->o_frame, "e,action,resize,out", "e",
|
||||||
|
_e_smart_monitor_frame_cb_resize_out);
|
||||||
|
edje_object_signal_callback_del(sd->o_frame, "e,action,rotate,in", "e",
|
||||||
|
_e_smart_monitor_frame_cb_rotate_in);
|
||||||
|
edje_object_signal_callback_del(sd->o_frame, "e,action,rotate,out", "e",
|
||||||
|
_e_smart_monitor_frame_cb_rotate_out);
|
||||||
|
edje_object_signal_callback_del(sd->o_frame, "e,action,indicator,in", "e",
|
||||||
|
_e_smart_monitor_frame_cb_indicator_in);
|
||||||
|
edje_object_signal_callback_del(sd->o_frame, "e,action,indicator,out", "e",
|
||||||
|
_e_smart_monitor_frame_cb_indicator_out);
|
||||||
|
|
||||||
|
/* delete the object */
|
||||||
evas_object_del(sd->o_frame);
|
evas_object_del(sd->o_frame);
|
||||||
|
}
|
||||||
|
|
||||||
evas_object_del(sd->o_base);
|
evas_object_del(sd->o_base);
|
||||||
/* evas_object_del(sd->o_bg); */
|
/* evas_object_del(sd->o_bg); */
|
||||||
|
|
||||||
|
@ -697,3 +737,45 @@ _e_smart_monitor_thumb_cb_mouse_down(void *data EINA_UNUSED, Evas *evas EINA_UNU
|
||||||
/* reset mouse pointer */
|
/* reset mouse pointer */
|
||||||
_e_smart_monitor_pointer_push(obj, "move");
|
_e_smart_monitor_pointer_push(obj, "move");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_smart_monitor_frame_cb_resize_in(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
/* set the mouse pointer to indicate we can be resized */
|
||||||
|
_e_smart_monitor_pointer_push(obj, "resize_br");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_smart_monitor_frame_cb_resize_out(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
/* set the mouse pointer back to default */
|
||||||
|
_e_smart_monitor_pointer_pop(obj, "resize_br");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_smart_monitor_frame_cb_rotate_in(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
/* set the mouse pointer to indicate we can be rotated */
|
||||||
|
_e_smart_monitor_pointer_push(obj, "rotate");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_smart_monitor_frame_cb_rotate_out(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
/* set the mouse pointer back to default */
|
||||||
|
_e_smart_monitor_pointer_pop(obj, "rotate");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_smart_monitor_frame_cb_indicator_in(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
/* set the mouse pointer to indicate we can be toggled */
|
||||||
|
_e_smart_monitor_pointer_push(obj, "plus");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_smart_monitor_frame_cb_indicator_out(void *data EINA_UNUSED, Evas_Object *obj, const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
/* set the mouse pointer back to default */
|
||||||
|
_e_smart_monitor_pointer_pop(obj, "plus");
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue