00001 #ifndef ENGRAVE_PART_STATE_H 00002 #define ENGRAVe_PART_STATE_H 00003 00018 typedef struct _Engrave_Part_State Engrave_Part_State; 00019 00023 struct _Engrave_Part_State 00024 { 00025 char *name; 00026 double value; 00028 unsigned char visible; 00032 struct 00033 { 00034 double x; 00035 double y; 00036 } align, step; 00037 00041 struct 00042 { 00043 int w; 00044 int h; 00045 } min, max; 00046 00050 struct 00051 { 00052 double w; 00053 double h; 00054 Engrave_Aspect_Preference prefer; 00055 } aspect; 00056 00060 struct 00061 { 00065 struct 00066 { 00067 double x; 00068 double y; 00069 } relative; 00070 00074 struct 00075 { 00076 int x; 00077 int y; 00078 } offset; 00079 00080 char *to_x; 00081 char *to_y; 00082 } rel1, rel2; 00083 00087 struct 00088 { 00089 Engrave_Image *normal; 00090 Evas_List *tween; 00095 struct 00096 { 00097 int l; 00098 int r; 00099 int t; 00100 int b; 00101 } border; 00102 } image; 00103 00104 char *color_class; 00109 struct 00110 { 00111 int r; 00112 int g; 00113 int b; 00114 int a; 00115 } color, color2, color3; 00116 00120 struct 00121 { 00122 int smooth; 00127 struct 00128 { 00129 double x; 00130 double y; 00131 } pos_rel, rel; 00132 00136 struct 00137 { 00138 int x; 00139 int y; 00140 } pos_abs, abs; 00141 } fill; 00142 00146 struct 00147 { 00148 char *text; 00149 char *text_class; 00150 char *font; 00152 int size; 00157 struct { 00158 int x; 00159 int y; 00160 } fit, min; 00161 00165 struct { 00166 double x; 00167 double y; 00168 } align; 00169 } text; 00170 00171 struct 00172 { 00173 Evas_Coord x; 00174 Evas_Coord y; 00175 Evas_Coord w; 00176 Evas_Coord h; 00177 } pos; 00178 00179 Evas_Object *object; 00181 void *parent; 00182 }; 00183 00184 Engrave_Part_State * engrave_part_state_new(void); 00185 void engrave_part_state_free(Engrave_Part_State *eps); 00186 00187 void engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep); 00188 void *engrave_part_state_parent_get(Engrave_Part_State *eps); 00189 00190 void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name, 00191 double value); 00192 void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible); 00193 void engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y); 00194 void engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y); 00195 void engrave_part_state_min_size_set(Engrave_Part_State *eps, int w, int h); 00196 void engrave_part_state_max_size_set(Engrave_Part_State *eps, int w, int h); 00197 void engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double h); 00198 void engrave_part_state_aspect_preference_set(Engrave_Part_State *eps, 00199 Engrave_Aspect_Preference prefer); 00200 void engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, 00201 double x, double y); 00202 void engrave_part_state_rel1_offset_set(Engrave_Part_State *eps, int x, int y); 00203 void engrave_part_state_rel1_to_set(Engrave_Part_State *eps, const char *to); 00204 void engrave_part_state_rel1_to_x_set(Engrave_Part_State *eps, const char *to); 00205 void engrave_part_state_rel1_to_y_set(Engrave_Part_State *eps, const char *to); 00206 00207 void engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, 00208 double x, double y); 00209 void engrave_part_state_rel2_offset_set(Engrave_Part_State *eps, int x, int y); 00210 void engrave_part_state_rel2_to_set(Engrave_Part_State *eps, const char *to); 00211 void engrave_part_state_rel2_to_x_set(Engrave_Part_State *eps, const char *to); 00212 void engrave_part_state_rel2_to_y_set(Engrave_Part_State *eps, const char *to); 00213 00214 void engrave_part_state_image_normal_set(Engrave_Part_State *eps, 00215 Engrave_Image *im); 00216 void engrave_part_state_image_tween_add(Engrave_Part_State *eps, 00217 Engrave_Image *im); 00218 00219 void engrave_part_state_image_border_set(Engrave_Part_State *eps, 00220 int l, int r, int t, int b); 00221 void engrave_part_state_color_class_set(Engrave_Part_State *eps, 00222 const char *class); 00223 void engrave_part_state_color_set(Engrave_Part_State *eps, 00224 int r, int g, int b, int a); 00225 void engrave_part_state_color2_set(Engrave_Part_State *eps, 00226 int r, int g, int b, int a); 00227 void engrave_part_state_color3_set(Engrave_Part_State *eps, 00228 int r, int g, int b, int a); 00229 void engrave_part_state_fill_smooth_set(Engrave_Part_State *eps, 00230 int smooth); 00231 void engrave_part_state_fill_origin_relative_set(Engrave_Part_State *state, 00232 double x, double y); 00233 void engrave_part_state_fill_size_relative_set(Engrave_Part_State *eps, 00234 double x, double y); 00235 void engrave_part_state_fill_origin_offset_set(Engrave_Part_State *eps, 00236 int x, int y); 00237 void engrave_part_state_fill_size_offset_set(Engrave_Part_State *eps, 00238 int x, int y); 00239 00240 void engrave_part_state_text_text_set(Engrave_Part_State *eps, 00241 const char *text); 00242 void engrave_part_state_text_text_class_set(Engrave_Part_State *eps, 00243 const char *text); 00244 void engrave_part_state_text_font_set(Engrave_Part_State *eps, 00245 const char *font); 00246 void engrave_part_state_text_size_set(Engrave_Part_State *eps, int size); 00247 void engrave_part_state_text_fit_set(Engrave_Part_State *eps, int x, int y); 00248 void engrave_part_state_text_min_set(Engrave_Part_State *eps, int x, int y); 00249 void engrave_part_state_text_align_set(Engrave_Part_State *eps, 00250 double x, double y); 00251 void engrave_part_state_copy(Engrave_Part_State *from, 00252 Engrave_Part_State *to); 00253 00254 const char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val); 00255 int engrave_part_state_visible_get(Engrave_Part_State *eps); 00256 void engrave_part_state_align_get(Engrave_Part_State *eps, 00257 double *x, double *y); 00258 void engrave_part_state_step_get(Engrave_Part_State *eps, 00259 double *x, double *y); 00260 void engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h); 00261 void engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h); 00262 void engrave_part_state_aspect_get(Engrave_Part_State *eps, 00263 double *w, double *h); 00264 Engrave_Aspect_Preference 00265 engrave_part_state_aspect_preference_get(Engrave_Part_State *eps); 00266 void engrave_part_state_rel1_relative_get(Engrave_Part_State *eps, 00267 double *x, double *y); 00268 void engrave_part_state_rel1_offset_get(Engrave_Part_State *eps, 00269 int *x, int*y); 00270 const char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps); 00271 const char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps); 00272 void engrave_part_state_rel2_relative_get(Engrave_Part_State *eps, 00273 double *x, double *y); 00274 void engrave_part_state_rel2_offset_get(Engrave_Part_State *eps, 00275 int *x, int*y); 00276 const char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps); 00277 const char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps); 00278 const char *engrave_part_state_color_class_get(Engrave_Part_State *eps); 00279 void engrave_part_state_color_get(Engrave_Part_State *eps, 00280 int *r, int *g, int *b, int *a); 00281 void engrave_part_state_color2_get(Engrave_Part_State *eps, 00282 int *r, int *g, int *b, int *a); 00283 void engrave_part_state_color3_get(Engrave_Part_State *eps, 00284 int *r, int *g, int *b, int *a); 00285 Engrave_Image *engrave_part_state_image_normal_get(Engrave_Part_State *eps); 00286 void engrave_part_state_image_border_get(Engrave_Part_State *eps, 00287 int *l, int *r, int *t, int *b); 00288 const char *engrave_part_state_text_text_get(Engrave_Part_State *eps); 00289 const char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps); 00290 const char *engrave_part_state_text_font_get(Engrave_Part_State *eps); 00291 int engrave_part_state_text_size_get(Engrave_Part_State *eps); 00292 void engrave_part_state_text_fit_get(Engrave_Part_State *eps, 00293 int *x, int *y); 00294 void engrave_part_state_text_min_get(Engrave_Part_State *eps, 00295 int *x, int *y); 00296 void engrave_part_state_text_align_get(Engrave_Part_State *eps, 00297 double *x, double *y); 00298 int engrave_part_state_fill_smooth_get(Engrave_Part_State *eps); 00299 void engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state, 00300 double *x, double *y); 00301 void engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps, 00302 double *x, double *y); 00303 void engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps, 00304 int *x, int *y); 00305 void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps, 00306 int *x, int *y); 00307 00308 int engrave_part_state_tweens_count(Engrave_Part_State *eps); 00309 void engrave_part_state_tween_foreach(Engrave_Part_State *eps, 00310 void (*func)(Engrave_Image *, void *), void *data); 00311 00312 Evas_Object *engrave_part_state_evas_object_get(Engrave_Part_State *eps); 00313 void engrave_part_state_evas_object_set(Engrave_Part_State *eps, 00314 Evas_Object *o); 00319 #endif 00320