[Elementary.h.in]
authorChunEon Park <chuneon.park@samsung.com>
Wed, 1 Sep 2010 05:33:25 +0000 (14:33 +0900)
committerChunEon Park <chuneon.park@samsung.com>
Wed, 1 Sep 2010 05:33:25 +0000 (14:33 +0900)
[elm_slidingdrawer.c] added API - elm_slidingdrawer_max_drag_set

src/lib/Elementary.h.in
src/lib/elm_slidingdrawer.c

index 155e272..a3a9881 100644 (file)
@@ -2427,6 +2427,7 @@ extern "C" {
    EAPI void         elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
    EAPI Evas_Object *elm_slidingdrawer_content_get(Evas_Object *obj);
    EAPI void           elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
+   EAPI void           elm_slidingdrawer_max_drag_set(Evas_Object *obj, double dw,  double dh);
 
    /* wipercontrol*/
    EAPI Evas_Object *elm_wipercontrol_add(Evas_Object *parent);
index d6def89..61936d9 100644 (file)
@@ -14,9 +14,8 @@ struct _Widget_Data
        Evas_Object *parent;\r
        Evas_Object *base;\r
        Evas_Object *handler;\r
+       Evas_Object *dragable_rect;\r
        Elm_SlidingDrawer_Pos pos;\r
-       double  max_drag_dw;\r
-       double  max_drag_dh;\r
 };\r
 \r
 static const char *widtype = NULL;\r
@@ -50,7 +49,7 @@ _sizing_eval(Evas_Object *obj)
 {\r
        Widget_Data *wd;\r
        Evas_Coord x, y, w, h;\r
-       Evas_Object  *part;\r
+       const Evas_Object  *part;\r
 \r
        wd = elm_widget_data_get(obj);\r
 \r
@@ -69,7 +68,6 @@ _sizing_eval(Evas_Object *obj)
        evas_object_size_hint_min_set(wd->handler, w, h);\r
 }\r
 \r
-\r
 EAPI Evas_Object *\r
 elm_slidingdrawer_content_get(Evas_Object *obj)\r
 {\r
@@ -124,13 +122,15 @@ elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos)
 }\r
 \r
 EAPI void\r
-elm_slidingdrawer_drag_max_set(Evas_Object *obj, double dw,  double dh)\r
+elm_slidingdrawer_max_drag_set(Evas_Object *obj, double dw,  double dh)\r
 {\r
        ELM_CHECK_WIDTYPE(obj, widtype);\r
+       Widget_Data *wd;\r
+       Evas_Coord w, h;\r
 \r
-       Widget_Data *wd = elm_widget_data_get(obj);\r
-       wd->max_drag_dw = dw;\r
-       wd->max_drag_dh = dh;\r
+       wd = elm_widget_data_get(obj);\r
+       evas_object_geometry_get(wd->parent, NULL, NULL, &w, &h);\r
+       evas_object_size_hint_max_set(wd->dragable_rect, ((double) w) * dw, ((double) h) * dh);\r
 }\r
 \r
 \r
@@ -143,7 +143,7 @@ elm_slidingdrawer_add(Evas_Object *parent)
        Widget_Data *wd;\r
 \r
        if(!parent)\r
-               return ;\r
+               return  NULL;\r
 \r
        wd = ELM_NEW(Widget_Data);\r
        if(!wd) return NULL;\r
@@ -194,6 +194,10 @@ elm_slidingdrawer_add(Evas_Object *parent)
        elm_widget_sub_object_add(obj, wd->base);\r
        elm_widget_resize_object_set(obj, wd->base);\r
 \r
+       //dragable_rect\r
+       wd->dragable_rect = evas_object_rectangle_add(e);\r
+       edje_object_part_swallow(wd->base, "elm.swallow.dragable_rect", wd->dragable_rect);\r
+\r
        //handler\r
        wd->handler = evas_object_rectangle_add(e);\r
        evas_object_color_set(wd->handler, 0, 0, 0, 0);\r