summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_canvas3d_object.eo
blob: 0fa7161f290e76788592904c15e2ee81a9947599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import evas_canvas3d_types;

class Evas.Canvas3D.Object (Efl.Object)
{
   [[Evas 3D canvas object class]]
   data: Evas_Canvas3D_Object_Data;
   methods {
      change {
         [[Notify the object regarding its  state change.]]
         params {
           @in state: Evas.Canvas3D.State;  [[State that is changed.]]
           @in ref: Evas.Canvas3D.Object; [[The Object that caused the change.]]
         }
      }
      type_get @const {
         [[Returns the type of the object.]]
          return: Evas.Canvas3D.Object_Type; [[Object type]]
      }

      type_set {
         [[Sets the type of the object.]]
          params{
            @in type: Evas.Canvas3D.Object_Type; [[Object type]]
          }
      }

      dirty_get @const {
         [[Returns the status of a particular state of the object.]]
          return: bool; [[$true if the status is dirty, $false otherwise]]
         params {
           @in state: Evas.Canvas3D.State; [[State whose status is being asked.]]
         }
      }

      update {
         [[Update request for the object.]]
      }
      update_notify @pure_virtual {
         [[Pure virtual update_notify function.

           Update request for the object.]]
      }

      change_notify @pure_virtual {
         [[Pure virtual change_notify function.

           Update request for the object.]]
         params {
           @in state: Evas.Canvas3D.State;  [[State that is changed.]]
           @in ref: Evas.Canvas3D.Object; [[The Object that caused the change.]]
         }
      }
      callback_register @pure_virtual {
         [[Pure virtual register samrt callback function.]]
         params {
           @in event: string; [[Event type.]]
           @in data: const(void_ptr);  [[User data.]]
         }
      }
      callback_unregister @pure_virtual {
         [[Pure virtual unregister smart callback function.]]
         params {
           @in event: string; [[Event type.]]
         }
      }
   }

   implements {
      Efl.Object.constructor;
      Efl.Object.provider_find;
   }
   events {
      /* FIXME: Make sure that these two events are actually being emitted */
      clicked: Evas.Canvas3D.Node; [[Clicked Event.]]
      collision: Evas.Canvas3D.Node; [[Collision Event.]]
   }
}