add rect event swallow for panes so handle thumb can be affected by
finger size.
This commit is contained in:
parent
633be421a5
commit
3b46946a48
|
@ -40,21 +40,31 @@ static void
|
|||
_elm_panes_smart_theme(Eo *obj, void *_pd, va_list *list)
|
||||
{
|
||||
double size;
|
||||
|
||||
Evas_Coord minw = 0, minh = 0;
|
||||
|
||||
Elm_Panes_Smart_Data *sd = _pd;
|
||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||
if (ret) *ret = EINA_FALSE;
|
||||
Eina_Bool int_ret = EINA_FALSE;
|
||||
Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
|
||||
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
|
||||
|
||||
if (sd->horizontal)
|
||||
eina_stringshare_replace(&ld->group, "horizontal");
|
||||
else
|
||||
eina_stringshare_replace(&ld->group, "vertical");
|
||||
|
||||
evas_object_hide(sd->event);
|
||||
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
|
||||
evas_object_size_hint_min_set(sd->event, minw, minh);
|
||||
|
||||
eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
|
||||
if (!int_ret) return;
|
||||
|
||||
if (edje_object_part_exists
|
||||
(wd->resize_obj, "elm.swallow.event"))
|
||||
elm_layout_content_set(obj, "elm.swallow.event", sd->event);
|
||||
|
||||
size = elm_panes_content_left_size_get(obj);
|
||||
|
||||
if (sd->fixed)
|
||||
|
@ -184,7 +194,8 @@ static void
|
|||
_elm_panes_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
||||
{
|
||||
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
|
||||
|
||||
ELM_PANES_DATA_GET(obj, sd);
|
||||
|
||||
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
|
||||
|
||||
if (!elm_layout_theme_set
|
||||
|
@ -208,6 +219,20 @@ _elm_panes_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
|
|||
|
||||
elm_widget_can_focus_set(obj, EINA_FALSE);
|
||||
|
||||
sd->event = evas_object_rectangle_add(evas_object_evas_get(obj));
|
||||
evas_object_color_set(sd->event, 0, 0, 0, 0);
|
||||
evas_object_pass_events_set(sd->event, EINA_TRUE);
|
||||
if (edje_object_part_exists
|
||||
(wd->resize_obj, "elm.swallow.event"))
|
||||
{
|
||||
Evas_Coord minw = 0, minh = 0;
|
||||
|
||||
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
|
||||
evas_object_size_hint_min_set(sd->event, minw, minh);
|
||||
elm_layout_content_set(obj, "elm.swallow.event", sd->event);
|
||||
}
|
||||
elm_widget_sub_object_add(obj, sd->event);
|
||||
|
||||
elm_layout_sizing_eval(obj);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
typedef struct _Elm_Panes_Smart_Data Elm_Panes_Smart_Data;
|
||||
struct _Elm_Panes_Smart_Data
|
||||
{
|
||||
Evas_Object *event;
|
||||
struct
|
||||
{
|
||||
int x_diff;
|
||||
|
|
Loading…
Reference in New Issue