engrave_part.h
Go to the documentation of this file.00001 #ifndef ENGRAVE_PART_H
00002 #define ENGRAVE_PART_H
00003
00004
00005
00020 typedef struct _Engrave_Part Engrave_Part;
00021
00025 struct _Engrave_Part
00026 {
00027 char *name;
00028 Engrave_Part_Type type;
00029 Engrave_Text_Effect effect;
00030 int mouse_events;
00031 int repeat_events;
00032 char *clip_to;
00037 struct
00038 {
00039 signed char x;
00040 signed char y;
00045 struct
00046 {
00047 int x;
00048 int y;
00049 } step, count;
00050 char *confine;
00052 } dragable;
00053
00054 Evas_List *states;
00055 Engrave_Part_State *current_state;
00057 struct
00058 {
00059 Evas_Coord x;
00060 Evas_Coord y;
00061 Evas_Coord w;
00062 Evas_Coord h;
00063 } pos;
00064
00065 Evas_Object *object;
00067 void *parent;
00068 };
00069
00070 EAPI Engrave_Part * engrave_part_new(Engrave_Part_Type type);
00071 EAPI void engrave_part_free(Engrave_Part *ep);
00072
00073 EAPI void engrave_part_parent_set(Engrave_Part *ep, void *eg);
00074 EAPI void *engrave_part_parent_get(Engrave_Part *ep);
00075
00076 EAPI void engrave_part_current_state_set(Engrave_Part *ep,
00077 Engrave_Part_State *eps);
00078 EAPI Engrave_Part_State *engrave_part_current_state_get(Engrave_Part *ep);
00079
00080 EAPI void engrave_part_name_set(Engrave_Part *ep, const char *name);
00081 EAPI void engrave_part_mouse_events_set(Engrave_Part *ep, int val);
00082 EAPI void engrave_part_repeat_events_set(Engrave_Part *ep, int val);
00083 EAPI void engrave_part_type_set(Engrave_Part *ep, Engrave_Part_Type type);
00084 EAPI void engrave_part_effect_set(Engrave_Part *ep, Engrave_Text_Effect effect);
00085 EAPI void engrave_part_clip_to_set(Engrave_Part *ep, const char *clip_to);
00086
00087 EAPI Engrave_Part_State *engrave_part_state_last_get(Engrave_Part *ep);
00088
00089 EAPI void engrave_part_dragable_x_set(Engrave_Part *ep, int x, int step, int count);
00090 EAPI void engrave_part_dragable_y_set(Engrave_Part *ep, int y, int step, int count);
00091 EAPI void engrave_part_dragable_confine_set(Engrave_Part *ep, const char *confine);
00092 EAPI void engrave_part_state_add(Engrave_Part *ep, Engrave_Part_State *eps);
00093 EAPI Engrave_Part_State * engrave_part_state_by_name_value_find(Engrave_Part *ep,
00094 const char *name, double val);
00095
00096 EAPI const char *engrave_part_name_get(Engrave_Part *ep);
00097 EAPI Engrave_Part_Type engrave_part_type_get(Engrave_Part *ep);
00098 EAPI int engrave_part_mouse_events_get(Engrave_Part *ep);
00099 EAPI int engrave_part_repeat_events_get(Engrave_Part *ep);
00100 EAPI Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep);
00101 EAPI const char *engrave_part_clip_to_get(Engrave_Part *ep);
00102 EAPI void engrave_part_dragable_x_get(Engrave_Part *ep, int *x, int *step, int *count);
00103 EAPI void engrave_part_dragable_y_get(Engrave_Part *ep, int *y, int *step, int *count);
00104 EAPI const char *engrave_part_dragable_confine_get(Engrave_Part *ep);
00105
00106 EAPI int engrave_part_states_count(Engrave_Part *ep);
00107
00108 EAPI void engrave_part_state_foreach(Engrave_Part *ep,
00109 void (*func)(Engrave_Part_State *, Engrave_Part *, void *),
00110 void *data);
00111
00112 EAPI Evas_Object *engrave_part_evas_object_get(Engrave_Part *ep);
00113 EAPI void engrave_part_evas_object_set(Engrave_Part *ep, Evas_Object *o);
00114
00119 #endif
00120