Eobj: eobj.h -> Eobj.h
[profile/ivi/eobj.git] / examples / evas / evas_obj.h
1 #ifndef EVAS_OBJ_H
2 #define EVAS_OBJ_H
3
4 #include "Eobj.h"
5
6 extern EAPI Eobj_Op EVAS_OBJ_BASE_ID;
7
8 enum {
9      EVAS_OBJ_SUB_ID_POSITION_SET,
10      EVAS_OBJ_SUB_ID_SIZE_SET,
11      EVAS_OBJ_SUB_ID_COLOR_SET,
12      EVAS_OBJ_SUB_ID_COLOR_GET,
13      EVAS_OBJ_SUB_ID_VISIBILITY_SET,
14      EVAS_OBJ_SUB_ID_CHILD_ADD,
15      EVAS_OBJ_SUB_ID_LAST
16 };
17
18 #define EVAS_OBJ_ID(sub_id) (EVAS_OBJ_BASE_ID + sub_id)
19
20 #define EVAS_OBJ_POSITION_SET(x, y) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_POSITION_SET), EOBJ_TYPECHECK(Evas_Coord, x), EOBJ_TYPECHECK(Evas_Coord, y)
21 #define EVAS_OBJ_SIZE_SET(w, h) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_SIZE_SET), EOBJ_TYPECHECK(Evas_Coord, w), EOBJ_TYPECHECK(Evas_Coord, h)
22 #define EVAS_OBJ_COLOR_SET(r, g, b, a) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_COLOR_SET), EOBJ_TYPECHECK(int, r), EOBJ_TYPECHECK(int, g), EOBJ_TYPECHECK(int, b), EOBJ_TYPECHECK(int, a)
23 #define EVAS_OBJ_COLOR_GET(r, g, b, a) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_COLOR_GET), EOBJ_TYPECHECK(int *, r), EOBJ_TYPECHECK(int *, g), EOBJ_TYPECHECK(int *, b), EOBJ_TYPECHECK(int *, a)
24 #define EVAS_OBJ_VISIBILITY_SET(v) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_VISIBILITY_SET), EOBJ_TYPECHECK(Eina_Bool, v)
25 #define EVAS_OBJ_CHILD_ADD(child) EVAS_OBJ_ID(EVAS_OBJ_SUB_ID_CHILD_ADD), EOBJ_TYPECHECK(Eobj *, child)
26
27 #define EVAS_OBJ_CLASS evas_object_class_get()
28 const Eobj_Class *evas_object_class_get(void) EINA_CONST;
29
30 #define EVAS_OBJ_STR "Evas_Obj"
31 /* FIXME: Hack in the meanwhile. */
32 static inline Evas_Object *
33 eobj_evas_object_get(Eobj *obj)
34 {
35    return eobj_generic_data_get(obj, EVAS_OBJ_STR);
36 }
37
38 /* FIXME: Hack in the meanwhile. */
39 static inline void
40 eobj_evas_object_set(Eobj *obj, Evas_Object *evas_obj)
41 {
42    eobj_generic_data_set(obj, EVAS_OBJ_STR, evas_obj);
43 }
44
45 #endif