* @param value The state value.
* @param min_w Minimum width value.
*/
-EAPI void edje_edit_state_min_w_set(Evas_Object *obj, const char *part, const char *state, double value, int min_w);
+EAPI Eina_Bool edje_edit_state_min_w_set(Evas_Object *obj, const char *part, const char *state, double value, int min_w);
/** Get the minimum height value of a part state.
*
* @param value The state value.
* @param min_h Minimum height value.
*/
-EAPI void edje_edit_state_min_h_set(Evas_Object *obj, const char *part, const char *state, double value, int min_h);
+EAPI Eina_Bool edje_edit_state_min_h_set(Evas_Object *obj, const char *part, const char *state, double value, int min_h);
/** Get the maximum width value of a part state.
*
* @param value The state value.
* @param max_w Maximum width value.
*/
-EAPI void edje_edit_state_max_w_set(Evas_Object *obj, const char *part, const char *state, double value, int max_w);
+EAPI Eina_Bool edje_edit_state_max_w_set(Evas_Object *obj, const char *part, const char *state, double value, int max_w);
/** Get the maximum height value of a part state.
*
* @param value The state value.
* @param max_h Maximum height value.
*/
-EAPI void edje_edit_state_max_h_set(Evas_Object *obj, const char *part, const char *state, double value, int max_h);
+EAPI Eina_Bool edje_edit_state_max_h_set(Evas_Object *obj, const char *part, const char *state, double value, int max_h);
/** Get the minimum aspect value of a part state.
*
edje_object_calc_force(obj); \
}
-#define FUNC_STATE_INT(Class, Value) \
+#define FUNC_STATE_INT(Class, Value, Min) \
EAPI int \
edje_edit_state_##Class##_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
{ \
GET_PD_OR_RETURN(0); \
return pd->Class.Value; \
} \
- EAPI void \
+ EAPI Eina_Bool \
edje_edit_state_##Class##_##Value##_set(Evas_Object *obj, const char *part, const char *state, double value, int v) \
{ \
- GET_PD_OR_RETURN(); \
- pd->Class.Value = v; \
+ if ((!obj) || (!part) || (!state)) \
+ return EINA_FALSE; \
+ if (v < Min) return EINA_FALSE; \
+ GET_PD_OR_RETURN(EINA_FALSE); \
+ pd->Class.Value = v; \
edje_object_calc_force(obj); \
+ return EINA_TRUE; \
}
FUNC_STATE_DOUBLE(align, x);
FUNC_STATE_DOUBLE(align, y);
-FUNC_STATE_INT(min, w);
-FUNC_STATE_INT(min, h);
-FUNC_STATE_INT(max, w);
-FUNC_STATE_INT(max, h);
+FUNC_STATE_INT(min, w, 0);
+FUNC_STATE_INT(min, h, 0);
+FUNC_STATE_INT(max, w, -1);
+FUNC_STATE_INT(max, h, -1);
FUNC_STATE_DOUBLE(aspect, min);
FUNC_STATE_DOUBLE(aspect, max);