00001 #ifndef ENGRAVE_PART_H 00002 #define ENGRAVE_PART_H 00003 00018 typedef struct _Engrave_Part Engrave_Part; 00019 00023 struct _Engrave_Part 00024 { 00025 char *name; 00026 Engrave_Part_Type type; 00027 Engrave_Text_Effect effect; 00028 int mouse_events; 00029 int repeat_events; 00030 char *clip_to; 00035 struct 00036 { 00037 signed char x; 00038 signed char y; 00043 struct 00044 { 00045 int x; 00046 int y; 00047 } step, count; 00048 char *confine; 00050 } dragable; 00051 00052 Evas_List *states; 00053 Engrave_Part_State *current_state; 00055 void *parent; 00056 }; 00057 00058 Engrave_Part * engrave_part_new(Engrave_Part_Type type); 00059 void engrave_part_free(Engrave_Part *ep); 00060 00061 void engrave_part_parent_set(Engrave_Part *ep, void *eg); 00062 void *engrave_part_parent_get(Engrave_Part *ep); 00063 00064 void engrave_part_current_state_set(Engrave_Part *ep, 00065 Engrave_Part_State *eps); 00066 Engrave_Part_State *engrave_part_current_state_get(Engrave_Part *ep); 00067 00068 void engrave_part_name_set(Engrave_Part *ep, const char *name); 00069 void engrave_part_mouse_events_set(Engrave_Part *ep, int val); 00070 void engrave_part_repeat_events_set(Engrave_Part *ep, int val); 00071 void engrave_part_type_set(Engrave_Part *ep, Engrave_Part_Type type); 00072 void engrave_part_effect_set(Engrave_Part *ep, Engrave_Text_Effect effect); 00073 void engrave_part_clip_to_set(Engrave_Part *ep, const char *clip_to); 00074 00075 Engrave_Part_State *engrave_part_state_last_get(Engrave_Part *ep); 00076 00077 void engrave_part_dragable_x_set(Engrave_Part *ep, int x, int step, int count); 00078 void engrave_part_dragable_y_set(Engrave_Part *ep, int y, int step, int count); 00079 void engrave_part_dragable_confine_set(Engrave_Part *ep, const char *confine); 00080 void engrave_part_state_add(Engrave_Part *ep, Engrave_Part_State *eps); 00081 Engrave_Part_State * engrave_part_state_by_name_value_find(Engrave_Part *ep, 00082 const char *name, double val); 00083 00084 const char *engrave_part_name_get(Engrave_Part *ep); 00085 Engrave_Part_Type engrave_part_type_get(Engrave_Part *ep); 00086 int engrave_part_mouse_events_get(Engrave_Part *ep); 00087 int engrave_part_repeat_events_get(Engrave_Part *ep); 00088 Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep); 00089 const char *engrave_part_clip_to_get(Engrave_Part *ep); 00090 void engrave_part_dragable_x_get(Engrave_Part *ep, int *x, int *step, int *count); 00091 void engrave_part_dragable_y_get(Engrave_Part *ep, int *y, int *step, int *count); 00092 const char *engrave_part_dragable_confine_get(Engrave_Part *ep); 00093 00094 int engrave_part_states_count(Engrave_Part *ep); 00095 00096 void engrave_part_state_foreach(Engrave_Part *ep, 00097 void (*func)(Engrave_Part_State *, Engrave_Part *, void *), 00098 void *data); 00099 00104 #endif 00105