summaryrefslogtreecommitdiff
path: root/src/lib/ector/ector_renderer.eo
blob: 46bd9df9c62e28ae63bfd2de30372dd6b31fc0d0 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import eina_types;

abstract Ector.Renderer extends Efl.Object
{
   [[Ector renderer abstract interface]]

   eo_prefix: ector_renderer;
   methods {
      @property surface {
         [[Surface associated with this renderer]]
         set {
            [[Do not use.]]
         }
         get {
            [[Gets the surface associated with this renderer. Can not be set.]]
         }
         values {
            s: Ector.Surface; [[Associated surface]]
         }
      }
      @property transformation {
         [[Transformation property]]
         set {
         }
         get {
         }
         values {
            @cref m: Eina.Matrix3; [[Transformation matrix]]
         }
      }
      @property origin {
         [[Renderer origin]]
         set {
         }
         get {
         }
         values {
            x: double; [[X coordinate]]
            y: double; [[Y coordinate]]
         }
      }
      @property visibility {
         [[The given Ector renderer can be visible or invisible.]]
         set {
         }
         get {
         }
         values {
            v: bool; [[$true to make the object visible, $false otherwise]]
         }
      }
      @property color {
         [[Retrieves the general/main color of the given Ector renderer.

           Retrieves the main color's RGB component (and alpha channel)
           values, which range from 0 to 255. For the alpha channel,
           which defines the object's transparency level, 0 means totally
           transparent, while 255 means opaque. These color values are
           premultiplied by the alpha value.

           Use null pointers on the components you're not interested in,
           they'll be ignored by the function.
         ]]
         set {
         }
         get {
         }
         values {
            r: int; [[The red component of the given color.]]
            g: int; [[The green component of the given color.]]
            b: int; [[The blue component of the given color.]]
            a: int; [[The alpha component of the given color.]]
         }
      }
      @property crc {
         [[Cyclic redundancy check]]
         get {
            return: uint; [[CRC value]]
         }
      }
      @property mask {
         [[Set Mask Image to this Renderer]]
         set {
         }
         values {
            mask: Ector.Buffer; [[Mask Image Buffer]]
            op: int; [[Masking option]]
         }
      }
      draw @pure_virtual {
         [[Actual draw operation]]
         return: bool; [[$true on success, $false otherwise]]
         params {
            @in op: Efl.Gfx.Render_Op; [[Renderer operation]]
            @in clips: array<ptr(Eina.Rect)>; [[Array of @Eina.Rect clip]]
            @in mul_col: uint; [[Premultiplied color]]
         }
      }
      prepare @pure_virtual {
         [[Prepare for rendering]]
         return: bool; [[$true on success, $false otherwise]]
      }
      done @pure_virtual {
         [[Done with rendering]]
         return: bool; [[$true on success, $false otherwise]]
      }
   }
   implements {
      Efl.Object.destructor;
      Efl.Object.finalize;
   }
}