elementary/label - added elm_label_slide_go()

SVN revision: 82172
This commit is contained in:
ChunEon Park 2013-01-04 13:24:37 +00:00
parent 63e0a42a38
commit 7746c70173
4 changed files with 43 additions and 6 deletions

View File

@ -885,4 +885,4 @@
2012-01-04 ChunEon Park <hermet@hermet.pe.kr>
* Deprecate elm_label_slide_set()/get() and added elm_label_slide_mode_set()/get() instead.
* Deprecate elm_label_slide_set()/get() and added elm_label_slide_mode_set()/get() instead and elm_label_slide_go().

View File

@ -27,6 +27,7 @@ Additions:
* Add configuration: ELM_EXTERNAL_MENU, to switch between internal and extenal menus
* Add elm_systray.[ch]: Add support to D-Bus systray icons.
* Add elm_label_slide_mode_set(), elm_label_slide_mode_get()
* Add elm_label_slide_go()
Improvements:

View File

@ -585,18 +585,15 @@ elm_label_slide_mode_set(Evas_Object *obj, Elm_Label_Slide_Mode mode)
{
ELM_LABEL_CHECK(obj);
eo_do(obj, elm_obj_label_slide_mode_set(mode));
}
static void
_slide_mode_set(Eo *obj, void *_pd, va_list *list)
_slide_mode_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
{
Elm_Label_Slide_Mode mode = va_arg(*list, Elm_Label_Slide_Mode);
Elm_Label_Smart_Data *sd = _pd;
if (sd->slide_mode == mode) return;
sd->slide_mode = mode;
_label_slide_change(obj);
elm_layout_sizing_eval(obj);
}
EAPI Elm_Label_Slide_Mode
@ -669,6 +666,20 @@ elm_label_slide_duration_get(const Evas_Object *obj)
return ret;
}
EAPI void
elm_label_slide_go(Evas_Object *obj)
{
ELM_LABEL_CHECK(obj);
eo_do((Eo *) obj, elm_obj_label_slide_go());
}
static void
_slide_go(Eo *obj, void *_pd __UNUSED__, va_list *list __UNUSED__)
{
_label_slide_change(obj);
elm_layout_sizing_eval(obj);
}
static void
_slide_duration_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
{
@ -725,6 +736,7 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_MODE_GET), _slide_mode_get),
EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_SET), _slide_duration_set),
EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET), _slide_duration_get),
EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_GO), _slide_go),
EO_OP_FUNC_SENTINEL
};
eo_class_funcs_set(klass, func_desc);
@ -740,6 +752,7 @@ static const Eo_Op_Description op_desc[] = {
EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_MODE_GET, "Get current slide effect mode."),
EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_SET, "Set the slide duration (speed) of the label."),
EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET, "Get the slide duration(speed) of the label."),
EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_GO, "Start slide effect."),
EO_OP_DESCRIPTION_SENTINEL
};
static const Eo_Class_Description class_desc = {

View File

@ -57,6 +57,7 @@ enum
ELM_OBJ_LABEL_SUB_ID_SLIDE_MODE_GET,
ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_SET,
ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET,
ELM_OBJ_LABEL_SUB_ID_SLIDE_GO,
ELM_OBJ_LABEL_SUB_ID_LAST
};
@ -183,6 +184,17 @@ enum
*/
#define elm_obj_label_slide_duration_get(ret) ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET), EO_TYPECHECK(double *, ret)
/**
* @def elm_obj_label_slide_go
* @since 1.8
*
* @brief Start slide effect
*
* @see elm_label_slide_mode_set
*/
#define elm_obj_label_slide_go() ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_GO)
typedef enum
{
ELM_LABEL_SLIDE_MODE_NONE = 0, /**< no slide effect */
@ -347,12 +359,23 @@ EAPI void elm_label_slide_mode_set(Evas_Object *obj, Elm_
* @param obj The label object
* @return The slide mode
*
* @see elm_label_slide_set()
* @see elm_label_slide_mode_set()
*
* @ingroup Label
*/
EAPI Elm_Label_Slide_Mode elm_label_slide_mode_get(const Evas_Object *obj);
/**
* @brief Start slide effect.
*
* @param obj The label object
*
* @see elm_label_slide_mode_set()
*
* @ingroup Label
*/
EAPI void elm_label_slide_go(Evas_Object *obj);
/**
* @}
*/