EAPI Eina_Bool
edje_edit_state_step_get(Evas_Object *obj, const char *part, const char *state, double value, int *step_x, int *step_y);
+/** Set the states limit parameter value.
+ *
+ * Set limit causes the emission of signals when the the size of part changes
+ * from zero or to a zero size in corresponding to the limit value.
+ * For example, the signals emitted on width changing are <i>'limit,width,over'</i>
+ * and <i>'limit,width,zero'</i>
+ * The availble values are:
+ * <ul>
+ * <li>NONE - 0 (the default value)</li>
+ * <li>WIDTH - 1</li>
+ * <li>HEIGHT - 2</li>
+ * <li>BOTH - 3</li>
+ * </ul>
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state.
+ * @param value The state value.
+ * @param x The horizontal step value.
+ * @param y The vertical step value.
+ *
+ * @return EINA_TRUE in case of success, EINA_FALSE otherwise.
+ * @see edje_edit_state_limit_get()
+ * @since 1.11
+ */
+EAPI Eina_Bool edje_edit_state_limit_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char limit);
+
+/** Get the states limit value.
+ *
+ * Returns value that represents the states limit value:
+ * <ul>
+ * <li>NONE - 0 (the default value)</li>
+ * <li>WIDTH - 1</li>
+ * <li>HEIGHT - 2</li>
+ * <li>BOTH - 3</li>
+ * </ul>
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain state.
+ * @param state The name of the state.
+ * @param value The state value.
+ *
+ * @return The value that represents the states limit value in case of success, othervise returns 4.
+ * @see edje_edit_state_limit_set()
+ * @since 1.11
+ */
+EAPI unsigned char edje_edit_state_limit_get(Evas_Object *obj, const char *part, const char *state, double value);
+
//@}
/******************************************************************************/
return EINA_TRUE;
}
+EAPI Eina_Bool
+edje_edit_state_limit_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char limit)
+{
+ GET_PD_OR_RETURN(EINA_FALSE);
+ if (limit >= EDJE_STATE_LIMIT_LAST)
+ return EINA_FALSE;
+ pd->limit = limit;
+ return EINA_TRUE;
+}
+
+EAPI unsigned char
+edje_edit_state_limit_get(Evas_Object *obj, const char *part, const char *state, double value)
+{
+ GET_PD_OR_RETURN(EDJE_STATE_LIMIT_LAST);
+ return pd->limit;
+}
+
/**************/
/* TEXT API */
/**************/
if (!pd->visible)
BUF_APPEND(I5"visible: 0;\n");
+ if (pd->limit)
+ {
+ switch (pd->limit)
+ {
+ case EDJE_STATE_LIMIT_WIDTH:
+ {
+ BUF_APPEND("limit: WIDTH;\n");
+ break;
+ }
+ case EDJE_STATE_LIMIT_HEIGHT:
+ {
+ BUF_APPEND("limit: HEIGHT;\n");
+ break;
+ }
+ case EDJE_STATE_LIMIT_BOTH:
+ {
+ BUF_APPEND("limit: BOTH;\n");
+ break;
+ }
+ }
+ }
+
if (pd->align.x != 0.5 || pd->align.y != 0.5)
BUF_APPENDF(I5"align: %g %g;\n", TO_DOUBLE(pd->align.x), TO_DOUBLE(pd->align.y));
EDJE_PART_LIMIT_OVER
} Edje_Part_Limit_State;
+typedef enum {
+ EDJE_STATE_LIMIT_NONE = 0,
+ EDJE_STATE_LIMIT_WIDTH = 1,
+ EDJE_STATE_LIMIT_HEIGHT = 2,
+ EDJE_STATE_LIMIT_BOTH = 3,
+ EDJE_STATE_LIMIT_LAST = 4
+} Edje_Edit_State_Limit;
+
#ifdef HAVE_EPHYSICS
typedef enum {
EDJE_PART_PHYSICS_BODY_NONE= 0,