forked from enlightenment/efl
edje: Edje_Edit - add functions that allow user to set and get value of fill type
Summary: This commit contains two new functions for setting and getting value of fill type of IMAGE and PROXY parts: edje_edit_state_fill_type_get() and edje_edit_state_fill_type_set() Also with this commit printing of not default value of fill type (TILE) on generation of edc code is added. Reviewers: cedric, Hermet, seoz, raster CC: reutskiy.v.v, cedric Differential Revision: https://phab.enlightenment.org/D1044 Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
This commit is contained in:
parent
0500f4f33f
commit
8ae41a547b
|
@ -2579,6 +2579,45 @@ edje_edit_state_fill_smooth_get(Evas_Object *obj, const char *part, const char *
|
|||
EAPI Eina_Bool
|
||||
edje_edit_state_fill_smooth_set(Evas_Object *obj, const char *part, const char *state, double value, Eina_Bool smooth);
|
||||
|
||||
/** Get the fill type property for given part state.
|
||||
*
|
||||
* @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 fill type: 0 for SCALE or 1 for TILE. In case of error (for example, if part type does not match) returns 2.
|
||||
* @see edje_edit_state_fill_type_set()
|
||||
* @since 1.11
|
||||
*/
|
||||
EAPI unsigned char edje_edit_state_fill_type_get(Evas_Object *obj, const char *part, const char *state, double value);
|
||||
|
||||
|
||||
/** Set the fill type property for given part state.
|
||||
*
|
||||
* Sets the image fill type. The available types are:
|
||||
* <dl>
|
||||
* <dt>SCALE</dt>
|
||||
* <dd>image will be scaled accordingly to the 'relative' and 'offset' params values from 'origin' and 'size' blocks.</dd>
|
||||
* <dt>TILE</dt>
|
||||
* <dd>image will be tiled accordingly to the 'relative' and 'offset' params values from 'origin' and 'size' blocks.</dd>
|
||||
* </dl>
|
||||
* <b>Important</b>: the part parameter 'min' must be set, it's size of tiled image.
|
||||
* If parameter 'max' is set tiled area will be resized accordingly to the 'max' values of part.
|
||||
* The default value of fill type is SCALE.
|
||||
*
|
||||
* @param obj Object being edited.
|
||||
* @param part Part that contain state.
|
||||
* @param state The name of the state.
|
||||
* @param value The state value.
|
||||
* @param fill_type The value that represents fill type: 0 for SCALE or 1 for TILE.
|
||||
*
|
||||
* @return EINA_TRUE in case of success, EINA_FALSE otherwise.
|
||||
* @see edje_edit_state_fill_type_get()
|
||||
* @since 1.11
|
||||
*/
|
||||
EAPI Eina_Bool edje_edit_state_fill_type_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill_type);
|
||||
|
||||
/** Get the fill horizontal origin relative value of a part state.
|
||||
*
|
||||
* @param obj Object being edited.
|
||||
|
|
|
@ -4853,6 +4853,58 @@ edje_edit_state_fill_smooth_set(Evas_Object *obj, const char *part, const char *
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
edje_edit_state_fill_type_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill_type)
|
||||
{
|
||||
GET_PD_OR_RETURN(EINA_FALSE)
|
||||
if (fill_type >= EDJE_FILL_TYPE_LAST)
|
||||
return EINA_FALSE;
|
||||
|
||||
switch (rp->part->type)
|
||||
{
|
||||
case EDJE_PART_TYPE_IMAGE:
|
||||
{
|
||||
Edje_Part_Description_Image *img;
|
||||
img = (Edje_Part_Description_Image*) pd;
|
||||
img->image.fill.type = fill_type;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
case EDJE_PART_TYPE_PROXY:
|
||||
{
|
||||
Edje_Part_Description_Proxy *pro;
|
||||
pro = (Edje_Part_Description_Proxy*) pd;
|
||||
pro->proxy.fill.type = fill_type;
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI unsigned char
|
||||
edje_edit_state_fill_type_get(Evas_Object *obj, const char *part, const char *state, double value)
|
||||
{
|
||||
GET_PD_OR_RETURN(EDJE_FILL_TYPE_LAST)
|
||||
|
||||
switch (rp->part->type)
|
||||
{
|
||||
case EDJE_PART_TYPE_IMAGE:
|
||||
{
|
||||
Edje_Part_Description_Image *img;
|
||||
img = (Edje_Part_Description_Image*) pd;
|
||||
return img->image.fill.type;
|
||||
}
|
||||
case EDJE_PART_TYPE_PROXY:
|
||||
{
|
||||
Edje_Part_Description_Proxy *pro;
|
||||
pro = (Edje_Part_Description_Proxy*) pd;
|
||||
return pro->proxy.fill.type;
|
||||
}
|
||||
}
|
||||
|
||||
return EDJE_FILL_TYPE_LAST;
|
||||
}
|
||||
|
||||
#define FUNC_STATE_DOUBLE_FILL(Class, Type, Value) \
|
||||
EAPI double \
|
||||
edje_edit_state_fill_##Type##_relative_##Value##_get(Evas_Object *obj, const char *part, const char *state, double value) \
|
||||
|
@ -8953,7 +9005,8 @@ _edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *s
|
|||
img->image.fill.pos_rel_y || img->image.fill.pos_abs_x ||
|
||||
img->image.fill.pos_abs_y || TO_DOUBLE(img->image.fill.rel_x) != 1.0 ||
|
||||
TO_DOUBLE(img->image.fill.rel_y) != 1.0 ||
|
||||
img->image.fill.abs_x || img->image.fill.abs_y)
|
||||
img->image.fill.abs_x || img->image.fill.abs_y
|
||||
|| img->image.fill.type == EDJE_FILL_TYPE_TILE)
|
||||
{
|
||||
BUF_APPEND(I5"fill {\n");
|
||||
if (!img->image.fill.smooth)
|
||||
|
@ -8981,6 +9034,7 @@ _edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *s
|
|||
BUF_APPENDF(I7"offset: %d %d;\n", img->image.fill.abs_x, img->image.fill.abs_y);
|
||||
BUF_APPEND(I6"}\n");
|
||||
}
|
||||
BUF_APPEND(I6"type: TILE;\n");
|
||||
|
||||
BUF_APPEND(I5"}\n");
|
||||
}
|
||||
|
@ -9021,6 +9075,8 @@ _edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *s
|
|||
BUF_APPENDF(I7"offset: %d %d;\n", pro->proxy.fill.abs_x, pro->proxy.fill.abs_y);
|
||||
BUF_APPEND(I6"}\n");
|
||||
}
|
||||
if (pro->proxy.fill.type == EDJE_FILL_TYPE_TILE)
|
||||
BUF_APPEND(I6"type: TILE;\n");
|
||||
|
||||
BUF_APPEND(I5"}\n");
|
||||
}
|
||||
|
|
|
@ -1804,7 +1804,8 @@ struct _Edje_Message
|
|||
typedef enum _Edje_Fill
|
||||
{
|
||||
EDJE_FILL_TYPE_SCALE = 0,
|
||||
EDJE_FILL_TYPE_TILE
|
||||
EDJE_FILL_TYPE_TILE = 1,
|
||||
EDJE_FILL_TYPE_LAST = 2
|
||||
} Edje_Fill;
|
||||
|
||||
typedef enum _Edje_Match_Error
|
||||
|
|
Loading…
Reference in New Issue