edje: make setters for "edje_edit_state_image_..." return Eina_Bool.

This patch make the following function return Eina_Bool so the caller can
detect errors.
edje_edit_state_image_set
edje_edit_state_image_border_set
edje_edit_state_image_border_fill_set

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D295

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
This commit is contained in:
Vorobiov Vitalii 2013-10-30 22:00:11 +09:00 committed by Cedric Bail
parent 5d0e0c3f16
commit dae7b7349e
2 changed files with 54 additions and 30 deletions

View File

@ -2598,8 +2598,10 @@ EAPI const char * edje_edit_state_image_get(Evas_Object *obj, const char *part,
* @param state The name of the state to set the image that will be used (not including the state value).
* @param value The state value.
* @param image The name of the image (must be an image contained in the edje file).
*
* @return EINA_TRUE if successful, EINA_FALSE - otherwise.
*/
EAPI void edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image);
EAPI Eina_Bool edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image);
/** Get image id for a given image name.
*
@ -2659,33 +2661,41 @@ EAPI void edje_edit_state_image_border_get(Evas_Object *obj, const char *part, c
* @param r Right border value (or -1).
* @param t Top border value (or -1).
* @param b Bottom border value (or -1).
*
* @return EINA_TRUE if successful, EINA_FALSE - otherwise.
*/
EAPI void edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b);
EAPI Eina_Bool edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b);
/** Get if the image center should be draw.
*
* 1 means to draw the center, 0 to don't draw it.
* 1 or 2 means to draw the center, 0 to don't draw it.
* If 1 - then the center will apply alpha channel.
* If 2 (SOLID mode) - then the center of an image wont have alpha channel (Just black color).
*
* @param obj Object being edited.
* @param part Part that contain state.
* @param state The name of the state to get the image border fill (not including the state value).
* @param value The state value.
*
* @return 1 if the center of the bordered image is draw, 0 otherwise.
* @return 2 if the center of the bordered image is draw without alpha, 1 dawing with alpha and 0 not drawing the center.
*/
EAPI unsigned char edje_edit_state_image_border_fill_get(Evas_Object *obj, const char *part, const char *state, double value);
/** Set if the image center should be draw.
*
* 1 means to draw the center, 0 to don't draw it.
* 1 or 2 means to draw the center, 0 to don't draw it.
* If 1 - then the center will apply alpha channel.
* If 2 (SOLID mode) - then the center of an image wont have alpha channel (Just black color).
*
* @param obj Object being edited.
* @param part Part that contain state.
* @param state The name of the state to set the image border fill (not including the state value).
* @param value The state value.
* @param fill Fill to be se. 1 if the center of the bordered image is draw, 0 otherwise.
* @param fill Fill to be set. 1 or 2 if the center of the bordered image is draw, 0 otherwise.
*
* @return EINA_TRUE if successful, EINA_FALSE - otherwise.
*/
EAPI void edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill);
EAPI Eina_Bool edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill);
/** Get the list of all the tweens images in the given part state.
*

View File

@ -4581,27 +4581,30 @@ edje_edit_state_image_get(Evas_Object *obj, const char *part, const char *state,
return eina_stringshare_add(image);
}
EAPI void
EAPI Eina_Bool
edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, double value, const char *image)
{
Edje_Part_Description_Image *img;
int id;
GET_PD_OR_RETURN();
if ((!obj) || (!part) || (!state) || (!image))
return EINA_FALSE;
if (!image) return;
eina_error_set(0);
GET_PD_OR_RETURN(EINA_FALSE);
if (rp->part->type != EDJE_PART_TYPE_IMAGE)
return;
return EINA_FALSE;
id = _edje_image_id_find(eed, image);
//printf("SET IMAGE for %s [%s]\n", state, image);
img = (Edje_Part_Description_Image *) pd;
if (id > -1) img->image.id = id;
else return EINA_FALSE;
edje_object_calc_force(obj);
return EINA_TRUE;
}
EAPI Eina_List *
@ -4727,26 +4730,31 @@ edje_edit_state_image_border_get(Evas_Object *obj, const char *part, const char
if (b) *b = img->image.border.b;
}
EAPI void
EAPI Eina_Bool
edje_edit_state_image_border_set(Evas_Object *obj, const char *part, const char *state, double value, int l, int r, int t, int b)
{
Edje_Part_Description_Image *img;
GET_PD_OR_RETURN();
if ((!obj) || (!part) || (!state))
return EINA_FALSE;
if ((l < -1) || (r < -1) || (t < -1) || (b < -1))
return EINA_FALSE;
eina_error_set(0);
GET_PD_OR_RETURN(EINA_FALSE);
if (rp->part->type != EDJE_PART_TYPE_IMAGE)
return;
return EINA_FALSE;
img = (Edje_Part_Description_Image *) pd;
//printf("SET IMAGE_BORDER of state '%s'\n", state);
if (l > -1) img->image.border.l = l;
if (r > -1) img->image.border.r = r;
if (t > -1) img->image.border.t = t;
if (b > -1) img->image.border.b = b;
img->image.border.l = l;
img->image.border.r = r;
img->image.border.t = t;
img->image.border.b = b;
edje_object_calc_force(obj);
return EINA_TRUE;
}
EAPI unsigned char
@ -4761,29 +4769,35 @@ edje_edit_state_image_border_fill_get(Evas_Object *obj, const char *part, const
img = (Edje_Part_Description_Image *) pd;
if (img->image.border.no_fill == 0) return 1;
else if (img->image.border.no_fill == 1) return 0;
else if (img->image.border.no_fill == 2) return 2;
if (img->image.border.no_fill == 2) return 2;
else return !img->image.border.no_fill;
return 0;
}
EAPI void
EAPI Eina_Bool
edje_edit_state_image_border_fill_set(Evas_Object *obj, const char *part, const char *state, double value, unsigned char fill)
{
Edje_Part_Description_Image *img;
GET_PD_OR_RETURN();
if ((!obj) || (!part) || (!state))
return EINA_FALSE;
if ((fill < 0) || (fill > 2))
return EINA_FALSE;
eina_error_set(0);
GET_PD_OR_RETURN(EINA_FALSE);
if (rp->part->type != EDJE_PART_TYPE_IMAGE)
return;
return EINA_FALSE;
img = (Edje_Part_Description_Image *) pd;
if (fill == 0) img->image.border.no_fill = 1;
else if (fill == 1) img->image.border.no_fill = 0;
else if (fill == 2) img->image.border.no_fill = 2;
if (fill == 2) img->image.border.no_fill = 2;
else img->image.border.no_fill = !fill;
edje_object_calc_force(obj);
return EINA_TRUE;
}
/******************/