summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_gfx.eo
blob: 3d073c2fc772082f6fed53c6bedfe054a69ed819 (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
import eina_types;
import efl_gfx_types;

interface Efl.Gfx {
   [[Efl graphics interface]]
   eo_prefix: efl_gfx;
   methods {
      @property position {
         [[The 2D position of a canvas object.

           The position is absolute, in pixels, relative to the top-left corner
           of the window, within its border decorations (application space).
         ]]
         set {
            [[Moves the given canvas object to the given location inside its
              canvas' viewport. If unchanged this call may be entirely skipped,
              but if changed this will trigger move events, as well as
              potential pointer,in or pointer,out events.
            ]]
         }
         get {
            [[Retrieves the position of the given canvas object.]]
         }
         values {
            pos: Eina.Position2D; [[A 2D coordinate in pixel units.]]
         }
      }
      @property size {
         [[The 2D size of a canvas object.]]
         set {
            [[Changes the size of the given object.

              Note that setting the actual size of an object might be the job
              of its container, so this function might have no effect.
              Look at @Efl.Gfx.Size.Hint instead, when manipulating
              widgets.
            ]]
         }
         get {
            [[Retrieves the (rectangular) size of the given Evas object.]]
         }
         values {
            size: Eina.Size2D; [[A 2D size in pixel units.]]
         }
      }
      @property geometry {
         [[Rectangular geometry that combines both position and size.]]
         values {
            rect: Eina.Rect; [[The X,Y position and W,H size, in pixels.]]
         }
      }
      @property color {
         set {
            [[Sets the general/main color of the given Evas object to the given
              one.

              See also @.color.get (for an example)

              These color values are expected to be premultiplied by alpha.
            ]]
         }
         get {
            [[Retrieves the general/main color of the given Evas object.

              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.

              Usually youll use this attribute for text and rectangle objects,
              where the main color is their unique one. If set for objects
              which themselves have colors, like the images one, those colors
              get modulated by this one.

              All newly created Evas rectangles get the default color
              values of 255 255 255 255 (opaque white).

              Use null pointers on the components you're not interested
              in: they'll be ignored by the function.

              See the full \@ref Example_Evas_Object_Manipulation "example".
            ]]
         }
         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 visible {
         [[The visibility of a canvas object.

           All canvas objects will become visible by default just before
           render. This means that it is not required to call @.visible.set
           after creating an object unless you want to create it without
           showing it. Note that this behavior is new since 1.21, and only
           applies to canvas objects created with the EO API (i.e. not the
           legacy C-only API). Other types of Gfx objects may or may not be
           visible by default.

           Note that many other parameters can prevent a visible object from
           actually being "visible" on screen. For instance if its color
           is fully transparent, or its parent is hidden, or it is clipped out,
           etc...
         ]]
         set {
            [[Shows or hides this object.]]
         }
         get {
            [[Retrieves whether or not the given canvas object is visible.]]
         }
         values {
            v: bool; [[$true if to make the object visible, $false otherwise]]
         }
      }
      @property scale {
        [[The scaling factor of an object.

          This property is an individual scaling factor on the object (Edje
          or UI widget). This property (or Edje's global scaling factor, when
          applicable), will affect this object's part sizes. If scale is
          not zero, than the individual scaling will override any global
          scaling set, for the object obj's parts. Set it back to zero to
          get the effects of the global scaling again.

          Warning: In Edje, only parts which, at EDC level, had the "scale"
          property set to 1, will be affected by this function. Check the
          complete "syntax reference" for EDC files.
        ]]
        set {
           [[Sets the scaling factor of an object.]]
        }
        get {
           [[Gets an object's scaling factor.]]
        }
        values {
           scale: double(0.0); [[The scaling factor (the default value is 0.0,
                                 meaning individual scaling is not set)]]
        }
      }
   }
   events {
      show; [[Object just became visible.]]
      hide; [[Object just became invisible.]]
      move; [[Object was moved, its position during the event is the new one.]]
      resize; [[Object was resized, its size during the event is the new one.]]
   }
}