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, fixed;
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 char * spectrum;
00090 char * type;
00091 struct {
00092 struct {
00093 double x;
00094 double y;
00095 } relative;
00096
00097 struct {
00098 int x;
00099 int y;
00100 } offset;
00101 } rel1, rel2;
00102 } gradient;
00103
00107 struct
00108 {
00109 Engrave_Image *normal;
00110 Evas_List *tween;
00112 int middle;
00116 struct
00117 {
00118 int l;
00119 int r;
00120 int t;
00121 int b;
00122 } border;
00123 } image;
00124
00125 char *color_class;
00130 struct
00131 {
00132 int r;
00133 int g;
00134 int b;
00135 int a;
00136 } color, color2, color3;
00137
00141 struct
00142 {
00143 int smooth;
00148 struct
00149 {
00150 double x;
00151 double y;
00152 } pos_rel, rel;
00153
00157 struct
00158 {
00159 int x;
00160 int y;
00161 } pos_abs, abs;
00162 } fill;
00163
00167 struct
00168 {
00169 char *text;
00170 char *text_class;
00171 char *text_source;
00172 char *source;
00173 char *font;
00174 char *style;
00176 int size;
00177 double elipsis;
00182 struct {
00183 int x;
00184 int y;
00185 } fit, min, max;
00186
00190 struct {
00191 double x;
00192 double y;
00193 } align;
00194 } text;
00195
00196 void *parent;
00197 };
00198
00199 EAPI Engrave_Part_State * engrave_part_state_new(void);
00200 EAPI void engrave_part_state_free(Engrave_Part_State *eps);
00201
00202 EAPI void engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep);
00203 EAPI void *engrave_part_state_parent_get(Engrave_Part_State *eps);
00204
00205 EAPI void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name,
00206 double value);
00207 EAPI void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible);
00208 EAPI void engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y);
00209 EAPI void engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y);
00210 EAPI void engrave_part_state_min_size_set(Engrave_Part_State *eps, int w, int h);
00211 EAPI void engrave_part_state_fixed_size_set(Engrave_Part_State *eps, int w, int h);
00212 EAPI void engrave_part_state_max_size_set(Engrave_Part_State *eps, int w, int h);
00213 EAPI void engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double h);
00214 EAPI void engrave_part_state_aspect_preference_set(Engrave_Part_State *eps,
00215 Engrave_Aspect_Preference prefer);
00216 EAPI void engrave_part_state_rel1_relative_set(Engrave_Part_State *eps,
00217 double x, double y);
00218 EAPI void engrave_part_state_rel1_offset_set(Engrave_Part_State *eps, int x, int y);
00219 EAPI void engrave_part_state_rel1_to_set(Engrave_Part_State *eps, const char *to);
00220 EAPI void engrave_part_state_rel1_to_x_set(Engrave_Part_State *eps, const char *to);
00221 EAPI void engrave_part_state_rel1_to_y_set(Engrave_Part_State *eps, const char *to);
00222
00223 EAPI void engrave_part_state_rel2_relative_set(Engrave_Part_State *eps,
00224 double x, double y);
00225 EAPI void engrave_part_state_rel2_offset_set(Engrave_Part_State *eps, int x, int y);
00226 EAPI void engrave_part_state_rel2_to_set(Engrave_Part_State *eps, const char *to);
00227 EAPI void engrave_part_state_rel2_to_x_set(Engrave_Part_State *eps, const char *to);
00228 EAPI void engrave_part_state_rel2_to_y_set(Engrave_Part_State *eps, const char *to);
00229
00230 EAPI void engrave_part_state_image_normal_set(Engrave_Part_State *eps,
00231 Engrave_Image *im);
00232 EAPI void engrave_part_state_image_tween_add(Engrave_Part_State *eps,
00233 Engrave_Image *im);
00234
00235 EAPI void engrave_part_state_image_border_set(Engrave_Part_State *eps,
00236 int l, int r, int t, int b);
00237 EAPI void engrave_part_state_image_middle_set(Engrave_Part_State *eps,
00238 int middle);
00239 EAPI void engrave_part_state_color_class_set(Engrave_Part_State *eps,
00240 const char *class);
00241 EAPI void engrave_part_state_color_set(Engrave_Part_State *eps,
00242 int r, int g, int b, int a);
00243 EAPI void engrave_part_state_color2_set(Engrave_Part_State *eps,
00244 int r, int g, int b, int a);
00245 EAPI void engrave_part_state_color3_set(Engrave_Part_State *eps,
00246 int r, int g, int b, int a);
00247 EAPI void engrave_part_state_fill_smooth_set(Engrave_Part_State *eps,
00248 int smooth);
00249 EAPI void engrave_part_state_fill_origin_relative_set(Engrave_Part_State *state,
00250 double x, double y);
00251 EAPI void engrave_part_state_fill_size_relative_set(Engrave_Part_State *eps,
00252 double x, double y);
00253 EAPI void engrave_part_state_fill_origin_offset_set(Engrave_Part_State *eps,
00254 int x, int y);
00255 EAPI void engrave_part_state_fill_size_offset_set(Engrave_Part_State *eps,
00256 int x, int y);
00257
00258 EAPI void engrave_part_state_text_text_set(Engrave_Part_State *eps,
00259 const char *text);
00260 EAPI void engrave_part_state_text_elipsis_set(Engrave_Part_State *eps,
00261 double val);
00262 EAPI void engrave_part_state_text_text_append(Engrave_Part_State *eps,
00263 const char *text);
00264 EAPI void engrave_part_state_text_text_class_set(Engrave_Part_State *eps,
00265 const char *text);
00266 EAPI void engrave_part_state_text_style_set(Engrave_Part_State *eps,
00267 const char *style);
00268 EAPI void engrave_part_state_text_text_source_set(Engrave_Part_State *eps,
00269 const char *source);
00270 EAPI void engrave_part_state_text_source_set(Engrave_Part_State *eps,
00271 const char *source);
00272 EAPI void engrave_part_state_text_font_set(Engrave_Part_State *eps,
00273 const char *font);
00274 EAPI void engrave_part_state_text_size_set(Engrave_Part_State *eps, int size);
00275 EAPI void engrave_part_state_text_fit_set(Engrave_Part_State *eps, int x, int y);
00276 EAPI void engrave_part_state_text_min_set(Engrave_Part_State *eps, int x, int y);
00277 EAPI void engrave_part_state_text_max_set(Engrave_Part_State *eps, int x, int y);
00278 EAPI void engrave_part_state_text_align_set(Engrave_Part_State *eps,
00279 double x, double y);
00280 EAPI void engrave_part_state_copy(Engrave_Part_State *from,
00281 Engrave_Part_State *to);
00282
00283 EAPI const char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val);
00284 EAPI int engrave_part_state_visible_get(Engrave_Part_State *eps);
00285 EAPI void engrave_part_state_align_get(Engrave_Part_State *eps,
00286 double *x, double *y);
00287 EAPI void engrave_part_state_step_get(Engrave_Part_State *eps,
00288 double *x, double *y);
00289 EAPI void engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h);
00290 EAPI void engrave_part_state_fixed_size_get(Engrave_Part_State *eps, int *w, int *h);
00291 EAPI void engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h);
00292 EAPI void engrave_part_state_aspect_get(Engrave_Part_State *eps,
00293 double *w, double *h);
00294 EAPI Engrave_Aspect_Preference
00295 engrave_part_state_aspect_preference_get(Engrave_Part_State *eps);
00296 EAPI void engrave_part_state_rel1_relative_get(Engrave_Part_State *eps,
00297 double *x, double *y);
00298 EAPI void engrave_part_state_rel1_offset_get(Engrave_Part_State *eps,
00299 int *x, int*y);
00300 EAPI const char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps);
00301 EAPI const char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps);
00302 EAPI void engrave_part_state_rel2_relative_get(Engrave_Part_State *eps,
00303 double *x, double *y);
00304 EAPI void engrave_part_state_rel2_offset_get(Engrave_Part_State *eps,
00305 int *x, int*y);
00306 EAPI const char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps);
00307 EAPI const char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps);
00308 EAPI const char *engrave_part_state_color_class_get(Engrave_Part_State *eps);
00309 EAPI void engrave_part_state_color_get(Engrave_Part_State *eps,
00310 int *r, int *g, int *b, int *a);
00311 EAPI void engrave_part_state_color2_get(Engrave_Part_State *eps,
00312 int *r, int *g, int *b, int *a);
00313 EAPI void engrave_part_state_color3_get(Engrave_Part_State *eps,
00314 int *r, int *g, int *b, int *a);
00315 EAPI Engrave_Image *engrave_part_state_image_normal_get(Engrave_Part_State *eps);
00316 EAPI void engrave_part_state_image_border_get(Engrave_Part_State *eps,
00317 int *l, int *r, int *t, int *b);
00318 EAPI int engrave_part_state_image_middle_get(Engrave_Part_State *eps);
00319 EAPI const char *engrave_part_state_text_text_get(Engrave_Part_State *eps);
00320 EAPI const char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps);
00321 EAPI const char *engrave_part_state_text_style_get(Engrave_Part_State *eps);
00322 EAPI const char *engrave_part_state_text_text_source_get(Engrave_Part_State *eps);
00323 EAPI const char *engrave_part_state_text_source_get(Engrave_Part_State *eps);
00324 EAPI const char *engrave_part_state_text_font_get(Engrave_Part_State *eps);
00325 EAPI int engrave_part_state_text_size_get(Engrave_Part_State *eps);
00326 EAPI void engrave_part_state_text_fit_get(Engrave_Part_State *eps,
00327 int *x, int *y);
00328 EAPI double engrave_part_state_text_elipsis_get(Engrave_Part_State *eps);
00329 EAPI void engrave_part_state_text_min_get(Engrave_Part_State *eps,
00330 int *x, int *y);
00331 EAPI void engrave_part_state_text_align_get(Engrave_Part_State *eps,
00332 double *x, double *y);
00333 EAPI int engrave_part_state_fill_smooth_get(Engrave_Part_State *eps);
00334 EAPI void engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state,
00335 double *x, double *y);
00336 EAPI void engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps,
00337 double *x, double *y);
00338 EAPI void engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps,
00339 int *x, int *y);
00340 EAPI void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps,
00341 int *x, int *y);
00342
00343 EAPI int engrave_part_state_tweens_count(Engrave_Part_State *eps);
00344 EAPI void engrave_part_state_tween_foreach(Engrave_Part_State *eps,
00345 void (*func)(Engrave_Image *, void *), void *data);
00346
00347 EAPI void engrave_part_state_gradient_spectrum_set(Engrave_Part_State *eps, const char *spec);
00348 EAPI const char * engrave_part_state_gradient_spectrum_get(Engrave_Part_State *eps);
00349 EAPI void engrave_part_state_gradient_type_set(Engrave_Part_State *eps, const char *type);
00350 EAPI const char * engrave_part_state_gradient_type_get(Engrave_Part_State *eps);
00351 EAPI void engrave_part_state_gradient_rel1_relative_set(Engrave_Part_State *eps, double x, double y);
00352 EAPI void engrave_part_state_gradient_rel1_relative_get(Engrave_Part_State *eps, double *x, double *y);
00353 EAPI void engrave_part_state_gradient_rel2_relative_set(Engrave_Part_State *eps, double x, double y);
00354 EAPI void engrave_part_state_gradient_rel2_relative_get(Engrave_Part_State *eps, double *x, double *y);
00355 EAPI void engrave_part_state_gradient_rel1_offset_set(Engrave_Part_State *eps, int x, int y);
00356 EAPI void engrave_part_state_gradient_rel1_offset_get(Engrave_Part_State *eps, int *x, int *y);
00357 EAPI void engrave_part_state_gradient_rel2_offset_set(Engrave_Part_State *eps, int x, int y);
00358 EAPI void engrave_part_state_gradient_rel2_offset_get(Engrave_Part_State *eps, int *x, int *y);
00359
00364 #endif
00365