Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        Edje_Edit.h edje_edit.c 


Log Message:
 * Added spectra API
 * Added gradient API
 * Added fill API
 * Some small doxy fix

===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/Edje_Edit.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- Edje_Edit.h 31 May 2008 06:10:58 -0000      1.25
+++ Edje_Edit.h 12 Jul 2008 12:48:35 -0000      1.26
@@ -409,7 +409,7 @@
 /**************************   STATES API   
************************************/
 
/******************************************************************************/
 /** @name States API
- *  Description of gen api 2.
+ *  Functions to deal with part states (see @ref edcref).
  */ //@{
 
 /**Get the list of all the states in the given part.*/
@@ -851,13 +851,148 @@
    unsigned char pref      ///< The new aspect preference to set (0=none, 
1=vertical, 2=horizontal, 3=both)
 );
 
+/**Get the fill origin relative x value of a part state.*/
+EAPI double                ///@return The fill offset x relative to area
+edje_edit_state_fill_origin_relative_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the fill origin relative y value of a part state.*/
+EAPI double                ///@return The fill origin y relative to area
+edje_edit_state_fill_origin_relative_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the fill origin offset x value of a part state.*/
+EAPI int                   ///@return The fill origin offset x relative to area
+edje_edit_state_fill_origin_offset_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the fill origin offset y value of a part state.*/
+EAPI int                   ///@return The fill origin offset y relative to area
+edje_edit_state_fill_origin_offset_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Set the fill origin relative x value of a part state.*/
+EAPI void
+edje_edit_state_fill_origin_relative_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double x                ///< The new value to set
+);
+
+/**Set the fill origin relative y value of a part state.*/
+EAPI void
+edje_edit_state_fill_origin_relative_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double x                ///< The new value to set
+);
+
+/**Set the fill origin offset x value of a part state.*/
+EAPI void
+edje_edit_state_fill_origin_offset_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double x                ///< The new value to set
+);
+
+/**Set the fill origin offset x value of a part state.*/
+EAPI void
+edje_edit_state_fill_origin_offset_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double y                ///< The new value to set
+);
+
+/**Get the fill size relative x value of a part state.*/
+EAPI double                ///@return The fill size offset x relative to area
+edje_edit_state_fill_size_relative_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the fill size relative y value of a part state.*/
+EAPI double                ///@return The fill size y relative to area
+edje_edit_state_fill_size_relative_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the fill size offset x value of a part state.*/
+EAPI int                    ///@return The fill size offset x relative to area
+edje_edit_state_fill_size_offset_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the fill size offset y value of a part state.*/
+EAPI int                    ///@return The fill size offset y relative to area
+edje_edit_state_fill_size_offset_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Set the fill size relative x value of a part state.*/
+EAPI void
+edje_edit_state_fill_size_relative_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double x                ///< The new value to set
+);
+
+/**Set the fill size relative y value of a part state.*/
+EAPI void
+edje_edit_state_fill_size_relative_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double x                ///< The new value to set
+);
+
+/**Set the fill size offset x value of a part state.*/
+EAPI void
+edje_edit_state_fill_size_offset_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double x                ///< The new value to set
+);
+
+/**Set the fill size offset x value of a part state.*/
+EAPI void
+edje_edit_state_fill_size_offset_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double y                ///< The new value to set
+);
 
 //@}
 
/******************************************************************************/
 /**************************   TEXT API   ************************************/
 
/******************************************************************************/
 /** @name Text API
- *  Description of gen api 2.
+ *  Functions to deal with text objects (see @ref edcref).
  */ //@{
 
 /**Get the text of a part state. Remember to free the returned string with 
edje_edit_string_free(). */
@@ -929,11 +1064,9 @@
 );
 
 /**Get the list of all the fonts in the given edje.
- * @return An Evas_List* of string (char *)containing all the fonts names found
- * in the edje file.
- * Use edje_edit_string_list_free() when you don't need it anymore.
+ * Use edje_edit_string_list_free() when you don't need the list anymore.
  */
-EAPI Evas_List *          ///@return A string list of all the fonts found in 
the edje file
+EAPI Evas_List *          ///@return An Evas_List* of string (char 
*)containing all the fonts names found in the edje file.
 edje_edit_fonts_list_get(
    Evas_Object *obj       ///< The edje object
 );
@@ -970,15 +1103,13 @@
 /**************************   IMAGES API   
************************************/
 
/******************************************************************************/
 /** @name Images API
- *  Description of gen api 2.
+ *  Functions to deal with image objects (see @ref edcref).
  */ //@{
 
 /**Get the list of all the images in the given edje.
- * @return An Evas_List* of string (char *)containing all the images names 
found
- * in the edje file.
- * Use edje_edit_string_list_free() when you don't need it anymore.
+ * Use edje_edit_string_list_free() when you don't need the list anymore.
  */
-EAPI Evas_List *          ///@return A string list containing all the images 
found in the edje file
+EAPI Evas_List *          ///@return An Evas_List* of string (char 
*)containing all the images names found in the edje file.
 edje_edit_images_list_get(
    Evas_Object *obj       ///< The edje object
 );
@@ -1083,10 +1214,287 @@
 
 //@}
 
/******************************************************************************/
+/*************************   SPECTRUM API   
***********************************/
+/******************************************************************************/
+/** @name Spectrum API
+ *  Functions to manage spectrum (see @ref edcref).
+ */ //@{
+
+/**Get the list of all the spectrum in the given edje object.
+ * Use edje_edit_string_list_free() when you don't need it anymore.
+ */
+EAPI Evas_List *           ///@return An Evas_List* of string(char *) 
containing all the spectra names.
+edje_edit_spectrum_list_get(
+   Evas_Object *obj        ///< The edje object
+);
+
+/**Add a new spectra in the given edje object.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_spectra_add(
+   Evas_Object *obj,       ///< The edje object
+   const char* name        ///< The name of the new spectra
+);
+
+/**Delete the given spectra from the edje object.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_spectra_del(
+   Evas_Object *obj,       ///< The edje object
+   const char* spectra     ///< The name of the spectra to delete
+);
+
+/**Change the name of the given spectra.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_spectra_name_set(
+   Evas_Object *obj,       ///< The edje object
+   const char* spectra,    ///< The current name of the spectra
+   const char* name        ///< The new name to assign
+);
+
+/**Get the number of stops in the given spectra.*/
+EAPI int                   ///@return The number of stops
+edje_edit_spectra_stop_num_get(
+   Evas_Object *obj,       ///< The edje object
+   const char* spectra     ///< The name of the spectra
+);
+
+/**Set the number of stops in the given spectra.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_spectra_stop_num_set(
+   Evas_Object *obj,       ///< The edje object
+   const char* spectra,    ///< The name of the spectra
+   int num                 ///< The number of stops you want
+);
+
+/**Get the colors of the given stop.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_spectra_stop_color_get(
+   Evas_Object *obj,       ///< The edje object
+   const char* spectra,    ///< The name of the spectra
+   int stop_number,        ///< The number of the stop
+   int *r,                 ///< Where to store the red color value
+   int *g,                 ///< Where to store the green color value
+   int *b,                 ///< Where to store the blue color value
+   int *a,                 ///< Where to store the alpha color value
+   int *d                  ///< Where to store the delta stop value
+);
+
+/**Set the colors of the given stop.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_spectra_stop_color_set(
+   Evas_Object *obj,       ///< The edje object
+   const char* spectra,    ///< The name of the spectra
+   int stop_number,        ///< The number of the stop
+   int r,                  ///< The red color value to set
+   int g,                  ///< The green color value to set
+   int b,                  ///< The blue color value to set
+   int a,                  ///< The alpha color value to set
+   int d                   ///< The delta stop value to set
+);
+
+
+//@}
+/******************************************************************************/
+/*************************   GRADIENT API   
***********************************/
+/******************************************************************************/
+/** @name Gradient API
+ *  Functions to deal with gradient objects (see @ref edcref).
+ */ //@{
+
+/**Get the type of gradient. Remember to free the string with 
edje_edit_string_free().*/
+EAPI const char *          ///@return The type of gradient used in state
+edje_edit_state_gradient_type_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Set the type of gradient.
+ * Gradient type can be on of the following: linear, linear.diag, 
linear.codiag, radial, rectangular, angular, sinusoidal
+ */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_type_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   const char *type        ///< The type of gradient to use
+);
+
+/**Get if the current gradient use the fill properties or the gradient_rel as 
params.*/
+EAPI unsigned char         ///@return 1 if use fill, 0 if use gradient_rel
+edje_edit_state_gradient_use_fill_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the spectra id used by part state.*/
+EAPI int                   ///@return The spectra id
+edje_edit_state_gradient_spectra_id_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+//~ /**Set the spectra id used by part state.*/
+//~ EAPI unsigned char         ///@return 1 on success, 0 otherwise
+//~ edje_edit_state_gradient_spectra_id_set(
+   //~ Evas_Object *obj,       ///< The edje object
+   //~ const char *part,       ///< The name of the part
+   //~ const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   //~ int spectra_i
+//~ );
+
+/**Set the spectra used by part state.*/
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_spectra_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   const char* spectra     ///< The spectra name to assign
+);
+
+/**Get the gradien rel1 relative x value */
+EAPI double                ///@return The gradien rel1 relative x value
+edje_edit_state_gradient_rel1_relative_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the gradien rel1 relative y value */
+EAPI double                ///@return The gradien rel1 relative y value
+edje_edit_state_gradient_rel1_relative_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the gradien rel2 relative x value */
+EAPI double                ///@return The gradien rel2 relative x value
+edje_edit_state_gradient_rel2_relative_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the gradien rel2 relative y value */
+EAPI double                ///@return The gradien rel2 relative y value
+edje_edit_state_gradient_rel2_relative_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Set the gradien rel1 relative x value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel1_relative_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double val
+);
+
+/**Set the gradien rel1 relative y value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel1_relative_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double val
+);
+
+/**Set the gradien rel2 relative x value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel2_relative_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double val
+);
+
+/**Set the gradien rel2 relative y value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel2_relative_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   double val
+);
+
+/**Get the gradien rel1 offset x value */
+EAPI int                   ///@return The gradient rel1 offset x value
+edje_edit_state_gradient_rel1_offset_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the gradien rel1 offset y value */
+EAPI int                   ///@return The gradient rel1 offset y value
+edje_edit_state_gradient_rel1_offset_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the gradien rel2 offset x value */
+EAPI int                   ///@return The gradient rel2 offset x value
+edje_edit_state_gradient_rel2_offset_x_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Get the gradien rel2 offset y value */
+EAPI int                   ///@return The gradient rel2 offset y value
+edje_edit_state_gradient_rel2_offset_y_get(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state       ///< The name of the 'part state' (ex. "default 
0.00")
+);
+
+/**Set the gradien rel1 offset x value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel1_offset_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   int val
+);
+
+/**Set the gradien rel1 offset y value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel1_offset_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   int val
+);
+
+/**Set the gradien rel2 offset x value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel2_offset_x_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   int val
+);
+
+/**Set the gradien rel2 offset y value */
+EAPI unsigned char         ///@return 1 on success, 0 otherwise
+edje_edit_state_gradient_rel2_offset_y_set(
+   Evas_Object *obj,       ///< The edje object
+   const char *part,       ///< The name of the part
+   const char *state,      ///< The name of the 'part state' (ex. "default 
0.00")
+   int val
+);
+
+//@}
+/******************************************************************************/
 /*************************   PROGRAMS API   
***********************************/
 
/******************************************************************************/
 /** @name Programs API
- *  Description of gen api 2.
+ *  Functions to deal with programs (see @ref edcref).
  */ //@{
 
 /**Get the list of all the programs in the given edje object.
@@ -1394,7 +1802,7 @@
 /**************************   SCRIPTS API   
***********************************/
 
/******************************************************************************/
 /** @name Scripts API
- *  Description of gen api 2.
+ *  Functions to deal with embryo scripts (see @ref edcref).
  */ //@{
 EAPI const char* edje_edit_script_get(Evas_Object *obj);
 
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_edit.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- edje_edit.c 19 Jun 2008 12:39:58 -0000      1.18
+++ edje_edit.c 12 Jul 2008 12:48:35 -0000      1.19
@@ -550,6 +550,24 @@
    evas_stringshare_del(str);
    str = NULL;
 }
+Edje_Spectrum_Directory_Entry *
+_edje_edit_spectrum_entry_get(Edje *ed, const char* spectra)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   Evas_List *l;
+   
+   if (!ed->file || !spectra || !ed->file->spectrum_dir)
+      return NULL;
+   
+   for (l = ed->file->spectrum_dir->entries; l; l = l->next)
+     {
+       s = l->data;
+       if (!strcmp(s->entry, spectra))
+          return s;
+     }
+   
+   return NULL;
+}
 /*****************/
 /*  GENERAL API  */
 /*****************/
@@ -2133,6 +2151,146 @@
    printf("SET ASPECT_PREF of state '%s' [to: %d]\n", state, pref);
    pd->aspect.prefer = pref;
 }
+
+//fill
+EAPI double
+edje_edit_state_fill_origin_relative_x_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("Get state fill origin of part: %s state: %s\n", part, state);
+   return pd->fill.pos_rel_x;
+}
+
+EAPI double
+edje_edit_state_fill_origin_relative_y_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("Get state fill origin of part: %s state: %s\n", part, state);
+   return pd->fill.pos_rel_y;
+}
+
+EAPI int
+edje_edit_state_fill_origin_offset_x_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("Get state fill origin offset of part: %s state: %s\n", part, 
state);
+   return pd->fill.pos_abs_x;
+}
+
+EAPI int
+edje_edit_state_fill_origin_offset_y_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("Get state fill origin offset of part: %s state: %s\n", part, 
state);
+   return pd->fill.pos_abs_y;
+}
+
+
+EAPI void
+edje_edit_state_fill_origin_relative_x_set(Evas_Object *obj, const char *part, 
const char *state, double x)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill origin of part: %s state: %s to: %f\n", part, state, 
x);
+   pd->fill.pos_rel_x = x;
+   edje_object_calc_force(obj);
+}
+
+EAPI void
+edje_edit_state_fill_origin_relative_y_set(Evas_Object *obj, const char *part, 
const char *state, double y)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill origin of part: %s state: %s to: %f\n", part, state, 
y);
+   pd->fill.pos_rel_y = y;
+   edje_object_calc_force(obj);
+}
+
+EAPI void
+edje_edit_state_fill_origin_offset_x_set(Evas_Object *obj, const char *part, 
const char *state, double x)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill origin offset x of part: %s state: %s to: %f\n", 
part, state, x);
+   pd->fill.pos_abs_x = x;
+   edje_object_calc_force(obj);
+}
+
+EAPI void
+edje_edit_state_fill_origin_offset_y_set(Evas_Object *obj, const char *part, 
const char *state, double y)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill origin offset y of part: %s state: %s to: %f\n", 
part, state, y);
+   pd->fill.pos_abs_y = y;
+   edje_object_calc_force(obj);
+}
+
+EAPI double
+edje_edit_state_fill_size_relative_x_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0.0);
+   //printf("Get state fill size of part: %s state: %s\n", part, state);
+   return pd->fill.rel_x;
+}
+
+EAPI double
+edje_edit_state_fill_size_relative_y_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0.0);
+   //printf("Get state fill size of part: %s state: %s\n", part, state);
+   return pd->fill.rel_y;
+}
+
+EAPI int
+edje_edit_state_fill_size_offset_x_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("Get state fill size offset of part: %s state: %s\n", part, state);
+   return pd->fill.abs_x;
+}
+
+EAPI int
+edje_edit_state_fill_size_offset_y_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("Get state fill size offset of part: %s state: %s\n", part, state);
+   return pd->fill.abs_y;
+}
+
+EAPI void
+edje_edit_state_fill_size_relative_x_set(Evas_Object *obj, const char *part, 
const char *state, double x)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill size of part: %s state: %s to: %f\n", part, state, 
x);
+   pd->fill.rel_x = x;
+   edje_object_calc_force(obj);
+}
+
+EAPI void
+edje_edit_state_fill_size_relative_y_set(Evas_Object *obj, const char *part, 
const char *state, double y)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill size of part: %s state: %s to: %f\n", part, state, 
y);
+   pd->fill.rel_y = y;
+   edje_object_calc_force(obj);
+}
+
+EAPI void
+edje_edit_state_fill_size_offset_x_set(Evas_Object *obj, const char *part, 
const char *state, double x)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill size offset x of part: %s state: %s to: %f\n", part, 
state, x);
+   pd->fill.abs_x = x;
+   edje_object_calc_force(obj);
+}
+
+EAPI void
+edje_edit_state_fill_size_offset_y_set(Evas_Object *obj, const char *part, 
const char *state, double y)
+{
+   GET_PD_OR_RETURN();
+   printf("Set state fill size offset y of part: %s state: %s to: %f\n", part, 
state, y);
+   pd->fill.abs_y = y;
+   edje_object_calc_force(obj);
+}
+
+
 /**************/
 /*  TEXT API */
 /**************/
@@ -2437,8 +2595,8 @@
      {
        i = l->data;
        images = evas_list_append(images, evas_stringshare_add(i->entry));
-       printf("   Image: %s (type: %d param: %d id: %d) \n",
-              i->entry, i->source_type, i->source_param, i->id);
+       //printf("   Image: %s (type: %d param: %d id: %d) \n",
+       //       i->entry, i->source_type, i->source_param, i->id);
      }
 
    return images;
@@ -2630,6 +2788,464 @@
    if (b > -1) pd->border.b = b;
 
    edje_object_calc_force(obj);
+}
+
+/******************/
+/*  SPECTRUM API  */
+/******************/
+
+EAPI Evas_List *
+edje_edit_spectrum_list_get(Evas_Object *obj)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   Evas_List *spectrums = NULL;
+   Evas_List *l;
+
+   GET_ED_OR_RETURN(NULL);
+
+   if (!ed->file) return NULL;
+   if (!ed->file->spectrum_dir) return NULL;
+
+   printf("GET SPECTRUM LIST for %s\n", ed->file->path);
+
+   for (l = ed->file->spectrum_dir->entries; l; l = l->next)
+     {
+       s = l->data;
+       printf("SPECTRUM: %s\n", s->entry);
+       spectrums = evas_list_append(spectrums, evas_stringshare_add(s->entry));
+     }
+
+   return spectrums;
+   return NULL;
+}
+
+
+EAPI unsigned char
+edje_edit_spectra_add(Evas_Object *obj, const char* name)
+{
+   int id;
+   GET_ED_OR_RETURN(0);
+   
+   printf("SPECTRA ADD [new name:%s]\n", name);
+   
+   Edje_Spectrum_Directory_Entry *s;
+   Evas_List *l;
+   
+   if (!ed->file) return 0;
+   
+   if (_edje_edit_spectrum_entry_get(ed, name)) return 0;
+   
+   if (!ed->file->spectrum_dir)
+     ed->file->spectrum_dir = mem_alloc(SZ(Edje_Spectrum_Directory));
+   
+   s = mem_alloc(SZ(Edje_Spectrum_Directory_Entry));
+   ed->file->spectrum_dir->entries = 
evas_list_append(ed->file->spectrum_dir->entries, s);
+   s->id = evas_list_count(ed->file->spectrum_dir->entries) - 1;
+   s->entry = (char*)evas_stringshare_add(name);
+   s->filename = NULL;
+   s->color_list = NULL;
+   
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_spectra_del(Evas_Object *obj, const char* spectra)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   
+   GET_ED_OR_RETURN(0);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return 0;
+   
+   printf("SPECTRA DEL %s\n", spectra);
+   
+   ed->file->spectrum_dir->entries = 
evas_list_remove(ed->file->spectrum_dir->entries, s);
+   _edje_if_string_free(ed, s->entry);
+   _edje_if_string_free(ed, s->filename);
+   while (s->color_list)
+     {
+        Edje_Spectrum_Color *color;
+        color = s->color_list->data;
+        free(color);
+        s->color_list = evas_list_remove_list(s->color_list, s->color_list);
+     }
+   free(s);
+   
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_spectra_name_set(Evas_Object *obj, const char* spectra, const char* 
name)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   
+   GET_ED_OR_RETURN(0);
+
+   printf("SET SPECTRA NAME for spectra: %s [new name:%s]\n", spectra, name);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return 0;
+   
+   _edje_if_string_free(ed, s->entry);
+   s->entry = (char*)evas_stringshare_add(name);
+   
+   return 1;
+}
+
+EAPI int
+edje_edit_spectra_stop_num_get(Evas_Object *obj, const char* spectra)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   
+   GET_ED_OR_RETURN(-1);
+   
+   printf("GET SPECTRA STOP NUM for spectra: %s\n", spectra);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return -1;
+   
+   return evas_list_count(s->color_list);
+}
+
+EAPI unsigned char
+edje_edit_spectra_stop_num_set(Evas_Object *obj, const char* spectra, int num)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   Edje_Spectrum_Color *color;
+   GET_ED_OR_RETURN(0);
+   
+   printf("SET SPECTRA STOP NUM for spectra: %s\n", spectra);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return 0;
+   
+   if (num == evas_list_count(s->color_list)) return 1;
+      
+   //destroy all colors
+   while (s->color_list)
+     {
+        color = s->color_list->data;
+        free(color);
+        s->color_list = evas_list_remove_list(s->color_list, s->color_list);
+     }
+   
+   //... and recreate
+   while (num)
+     {
+        color = mem_alloc(SZ(Edje_Spectrum_Color));
+        s->color_list = evas_list_append(s->color_list, color);
+        color->r = 255;
+        color->g = 255;
+        color->b = 255;
+        color->a = 255;
+        color->d = 10;
+        num--;
+     }
+   
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_spectra_stop_color_get(Evas_Object *obj, const char* spectra, int 
stop_number, int *r, int *g, int *b, int *a, int *d)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   Edje_Spectrum_Color *color;
+   GET_ED_OR_RETURN(0);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return 0;
+   printf("GET SPECTRA STOP COLOR for spectra: %s stopn: %d\n", spectra, 
stop_number);
+   
+   color = evas_list_nth(s->color_list, stop_number);
+   if (!color) return 0;
+   if (r) *r = color->r;
+   if (g) *g = color->g;
+   if (b) *b = color->b;
+   if (a) *a = color->a;
+   if (d) *d = color->d;
+   
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_spectra_stop_color_set(Evas_Object *obj, const char* spectra, int 
stop_number, int r, int g, int b, int a, int d)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   Edje_Spectrum_Color *color;
+   GET_ED_OR_RETURN(0);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return 0;
+   printf("SET SPECTRA STOP COLOR for spectra: %s stopn: %d\n", spectra, 
stop_number);
+   
+   color = evas_list_nth(s->color_list, stop_number);
+   if (!color) return 0;
+   color->r = r;
+   color->g = g;
+   color->b = b;
+   color->a = a;
+   color->d = d;
+   
+   edje_object_calc_force(obj);
+   
+   return 1;
+}
+
+
+
+/******************/
+/*  GRADIENT API  */
+/******************/
+
+EAPI const char *
+edje_edit_state_gradient_type_get(Evas_Object *obj, const char *part, const 
char *state)
+{
+   GET_PD_OR_RETURN(NULL);
+
+   if (!pd->gradient.type)
+      return NULL;
+
+//   printf("GET GRADIENT TYPE for part: %s state: %s [%s]\n", part, state, 
pd->gradient.type);
+
+   return evas_stringshare_add(pd->gradient.type);
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_type_set(Evas_Object *obj, const char *part, const 
char *state, const char *type)
+{
+   GET_PD_OR_RETURN(0);
+
+   if (!type) return 0;
+
+//   printf("SET GRADIENT TYPE for part: %s state: %s TO: %s\n", part, state, 
type);
+
+   _edje_if_string_free(ed, pd->gradient.type);
+   pd->gradient.type = (char *)evas_stringshare_add(type);
+
+   edje_object_calc_force(obj);
+   
+   return 1;
+}
+
+
+EAPI unsigned char
+edje_edit_state_gradient_use_fill_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(-1);
+
+   if (!pd->gradient.type)
+      return -1;
+   
+   if (!strcmp(pd->gradient.type, "linear"))
+      return 0;
+   return 1;
+}
+
+EAPI int
+edje_edit_state_gradient_spectra_id_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(-1);
+
+   //if (!pd->gradient.type)
+   //   return NULL;
+
+   printf("GET GRADIENT SPECTRA ID for part: %s state: %s [%d]\n", part, 
state, pd->gradient.id);
+
+   return pd->gradient.id;
+}
+
+//~ EAPI unsigned char
+//~ edje_edit_state_gradient_spectra_id_set(Evas_Object *obj, const char 
*part, const char *state, int spectra_id)
+//~ {
+   //~ GET_PD_OR_RETURN(0);
+
+   //~ printf("SET GRADIENT SPECTRA_ID for part: %s state: %s [%d]\n", part, 
state, spectra_id);
+
+   //~ pd->gradient.id = spectra_id;
+   
+   //~ edje_object_calc_force(obj);
+   
+   //~ return 1;
+//~ }
+
+EAPI unsigned char
+edje_edit_state_gradient_spectra_set(Evas_Object *obj, const char *part, const 
char *state, const char* spectra)
+{
+   Edje_Spectrum_Directory_Entry *s;
+   
+   GET_PD_OR_RETURN(0);
+
+   printf("SET GRADIENT SPECTRA for part: %s state: %s [%s]\n", part, state, 
spectra);
+   
+   s = _edje_edit_spectrum_entry_get(ed, spectra);
+   if (!s) return 0;
+   
+   pd->gradient.id = s->id;
+   
+   edje_object_calc_force(obj);
+   
+   return 1;
+}
+
+EAPI double
+edje_edit_state_gradient_rel1_relative_x_get(Evas_Object *obj, const char 
*part, const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL1 RELX for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel1.relative_x);
+
+   return pd->gradient.rel1.relative_x;
+}
+
+EAPI double
+edje_edit_state_gradient_rel1_relative_y_get(Evas_Object *obj, const char 
*part, const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL1 RELY for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel1.relative_y);
+
+   return pd->gradient.rel1.relative_y;
+}
+
+EAPI double
+edje_edit_state_gradient_rel2_relative_x_get(Evas_Object *obj, const char 
*part, const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL2 RELX for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel2.relative_x);
+
+   return pd->gradient.rel2.relative_x;
+}
+
+EAPI double
+edje_edit_state_gradient_rel2_relative_y_get(Evas_Object *obj, const char 
*part, const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL2 RELY for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel2.relative_y);
+
+   return pd->gradient.rel2.relative_y;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel1_relative_x_set(Evas_Object *obj, const char 
*part, const char *state, double val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL1 RELX for part: %s state: %s [TO %f]\n", part, 
state, val);
+
+   pd->gradient.rel1.relative_x = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel1_relative_y_set(Evas_Object *obj, const char 
*part, const char *state, double val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL1 RELY for part: %s state: %s [TO %f]\n", part, 
state, val);
+
+   pd->gradient.rel1.relative_y = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel2_relative_x_set(Evas_Object *obj, const char 
*part, const char *state, double val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL2 RELX for part: %s state: %s [TO %f]\n", part, 
state, val);
+
+   pd->gradient.rel2.relative_x = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel2_relative_y_set(Evas_Object *obj, const char 
*part, const char *state, double val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL2 RELY for part: %s state: %s [TO %f]\n", part, 
state, val);
+
+   pd->gradient.rel2.relative_y = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI int
+edje_edit_state_gradient_rel1_offset_x_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL1 OFFSETX for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel1.offset_x);
+
+   return pd->gradient.rel1.offset_x;
+}
+
+EAPI int
+edje_edit_state_gradient_rel1_offset_y_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL1 OFFSETY for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel1.offset_y);
+
+   return pd->gradient.rel1.offset_y;
+}
+
+EAPI int
+edje_edit_state_gradient_rel2_offset_x_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL2 OFFSETX for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel2.offset_x);
+
+   return pd->gradient.rel2.offset_x;
+}
+
+EAPI int
+edje_edit_state_gradient_rel2_offset_y_get(Evas_Object *obj, const char *part, 
const char *state)
+{
+   GET_PD_OR_RETURN(0);
+   //printf("GET GRADIENT REL2 OFFSETY for part: %s state: %s [%f]\n", part, 
state, pd->gradient.rel2.offset_y);
+
+   return pd->gradient.rel2.offset_y;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel1_offset_x_set(Evas_Object *obj, const char *part, 
const char *state, int val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL1 OFFSETX for part: %s state: %s [TO %d]\n", part, 
state, val);
+
+   pd->gradient.rel1.offset_x = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel1_offset_y_set(Evas_Object *obj, const char *part, 
const char *state, int val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL1 OFFSETY for part: %s state: %s [TO %d]\n", part, 
state, val);
+
+   pd->gradient.rel1.offset_y = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel2_offset_x_set(Evas_Object *obj, const char *part, 
const char *state, int val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL2 OFFSETX for part: %s state: %s [TO %d]\n", part, 
state, val);
+
+   pd->gradient.rel2.offset_x = val;
+   edje_object_calc_force(obj);
+   return 1;
+}
+
+EAPI unsigned char
+edje_edit_state_gradient_rel2_offset_y_set(Evas_Object *obj, const char *part, 
const char *state, int val)
+{
+   GET_PD_OR_RETURN(0);
+   printf("SET GRADIENT REL2 OFFSETY for part: %s state: %s [TO %d]\n", part, 
state, val);
+
+   pd->gradient.rel2.offset_y = val;
+   edje_object_calc_force(obj);
+   return 1;
 }
 
 /******************/



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to