summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_gfx_types.eot
blob: 7c6c43ec18a43444abb591d3adc14f9b8772d5dc (plain) (blame)
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
enum Efl.Gfx.Colorspace {
  [[Graphics colorspace type]]
  argb8888,             [[ARGB 32 bits per pixel, high-byte is Alpha, accessed one 32bit word at a time.]]
  ycbcr422p601_pl,      [[YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows.]]
  ycbcr422p709_pl,      [[YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows.]]
  rgb565_a5p,           [[16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte.]]
  gry8 = 4,             [[8-bit gray image, or alpha only.]]
  ycbcr422601_pl,       [[YCbCr 4:2:2, ITU.BT-601 specifications. The data pointed to is just an array of row pointer, pointing to line of Y,Cb,Y,Cr bytes.]]
  ycbcr420nv12601_pl,   [[YCbCr 4:2:0, ITU.BT-601 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb,Cr rows..]]
  ycbcr420tm12601_pl,   [[YCbCr 4:2:0, ITU.BT-601 specifications. The data pointed to is just an array of tiled row pointer, pointing to the Y rows, then the Cb,Cr rows..]]
  agry88 = 8,           [[AY 8bits Alpha and 8bits Grey, accessed 1 16bits at a time.]]
  etc1 = 9,             [[OpenGL ETC1 encoding of RGB texture (4 bit per pixel) @since 1.10.]]
  rgb8_etc2 = 10,       [[OpenGL GL_COMPRESSED_RGB8_ETC2 texture compression format (4 bit per pixel) @since 1.10.]]
  rgba8_etc2_eac = 11,  [[OpenGL GL_COMPRESSED_RGBA8_ETC2_EAC texture compression format, supports alpha (8 bit per pixel) @since 1.10.]]
  etc1_alpha = 12,      [[ETC1 with alpha support using two planes: ETC1 RGB and ETC1 grey for alpha @since 1.11.]]
  rgb_s3tc_dxt1 = 13,   [[OpenGL COMPRESSED_RGB_S3TC_DXT1_EXT format with RGB only. @since 1.11.]]
  rgba_s3tc_dxt1 = 14,  [[OpenGL COMPRESSED_RGBA_S3TC_DXT1_EXT format with RGBA punchthrough. @since 1.11.]]
  rgba_s3tc_dxt2 = 15,  [[DirectDraw DXT2 format with premultiplied RGBA. Not supported by OpenGL itself. @since 1.11.]]
  rgba_s3tc_dxt3 = 16,  [[OpenGL COMPRESSED_RGBA_S3TC_DXT3_EXT format with RGBA. @since 1.11.]]
  rgba_s3tc_dxt4 = 17,  [[DirectDraw DXT4 format with premultiplied RGBA. Not supported by OpenGL itself. @since 1.11.]]
  rgba_s3tc_dxt5 = 18   [[OpenGL COMPRESSED_RGBA_S3TC_DXT5_EXT format with RGBA. @since 1.11.]]
}

enum Efl.Gfx.Render_Op {
  [[Graphics render operation mode]]
  blend = 0, [[Alpha blending onto destination (default); d = d*(1-sa) + s.]]
  copy  = 1, [[Copy source to destination; d = s.]]
  last       [[Sentinel value to indicate last enum field during iteration]]
}

enum Efl.Gfx.Path.Command_Type {
  [[These values determine how the points are interpreted in a stream of points.
    @since 1.14
  ]]
  end = 0,   [[The end of stream , no more points to process.]]
  move_to,   [[The next point is the start point of a sub path.]]
  line_to,   [[The next point is used to draw a line from current point.]]
  cubic_to,  [[The next three point is used to draw a cubic bezier curve from current point.]]
  close,     [[Close the current subpath by drawing a line between current point and the first point of current subpath.]]
  last       [[Sentinel value to indicate last enum field during iteration]]
}

enum Efl.Gfx.Cap {
  [[These values determine how the end of opened sub-paths are rendered in a
    stroke.
    $ref efl_gfx_shape_stroke_cap_set()
    @since 1.14
  ]]
  butt = 0,  [[The end of lines is rendered as a full stop on the last point itself.]]
  round,     [[The end of lines is rendered as a half-circle around the last point.]]
  square,    [[The end of lines is rendered as a square around the last point.]]
  last       [[Sentinel value to indicate last enum field during iteration]]
}

enum Efl.Gfx.Join
{
  [[These values determine how two joining lines are rendered in a stroker.
    $ref efl_gfx_shape_stroke_join_set()
    @since 1.14
  ]]
  miter = 0, [[Used to render rounded line joins. Circular arcs are used to join two lines smoothly.]]
  round, [[Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.]]
  bevel, [[Used to render mitered line joins. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius.  This prevents long spikes being created.]]
  last [[Sentinel value to indicate last enum field during iteration]]
}

enum Efl.Gfx.Gradient.Spread
{
  [[Specifies how the area outside the gradient area should be filled.
    $ref efl_gfx_gradient_spread_set()
    @since 1.14
  ]]
  pad, [[The area is filled with the closest stop color. This is the default.]]
  reflect, [[The gradient is reflected outside the gradient area.]]
  repeat, [[The gradient is repeated outside the gradient area.]]
  last [[Sentinel value to indicate last enum field during iteration]]
}

enum Efl.Gfx.Fill.Rule
{
  [[Type defining how an image content get filled.
    @since 1.14
  ]]
  winding = 0, [[Draw a horizontal line from the point to a location outside the shape. Determine whether the direction of the line at each intersection point is up or down. The winding number is determined by summing the direction of each intersection. If the number is non zero, the point is inside the shape. This mode is the default]]
  odd_even = 1,  [[Draw a horizontal line from the point to a location outside the shape, and count the number of intersections. If the number of intersections is an odd number, the point is inside the shape.]]
}

struct Efl.Gfx.Dash {
  [[Type describing dash.
    $ref efl_gfx_shape_stroke_dash_set()
    @since 1.14
  ]]
  length: double;  [[Dash drawing length.]]
  gap: double;     [[Distance between two dashes.]]
}

struct Efl.Gfx.Gradient.Stop
{
  [[Type defining gradient stops.
    Describes the location and color of a transition point in a gradient.
    @since 1.14
  ]]
  offset: double; [[The location of the gradient stop within the gradient vector]]
  r: int; [[The component R color of the gradient stop]]
  g: int; [[The component G color of the gradient stop]]
  b: int; [[The component B color of the gradient stop]]
  a: int; [[The component A color of the gradient stop]]
}

struct Efl.Gfx.Stroke.Color
{
  [[Internal structure for @Efl.Gfx.Stroke.]]
  r: int; [[The component R color of the stroke]]
  g: int; [[The component G color of the stroke]]
  b: int; [[The component B color of the stroke]]
  a: int; [[The component A color of the stroke]]
}

struct Efl.Gfx.Stroke
{
  [[Type defining stroke information.
    Describes the properties to define the path stroke.
    @since 1.14
  ]]
  scale: double; [[Stroke scale]]
  width: double; [[Stroke width]]
  centered: double; [[Stroke centered]]
  color: Efl.Gfx.Stroke.Color; [[Stroke color]]
  dash: ptr(Efl.Gfx.Dash); [[Stroke dash]]
  dash_length: uint; [[Stroke dash length]]
  cap: Efl.Gfx.Cap; [[Stroke cap]]
  join: Efl.Gfx.Join; [[Stroke join]]
}

struct Efl.Gfx.Shape.Public
{
   [[Public shape]]
   stroke: Efl.Gfx.Stroke; [[Internal representation as stroke]]
}

enum Efl.Gfx.Border_Fill_Mode
{
   [[How an image's center region (the complement to the border region) should be rendered by EFL]]
   none = 0, [[Image's center region is $b not to be rendered]]
   default = 1, [[Image's center region is to be $b blended with objects underneath it, if it has transparency. This is the default behavior for image objects]]
   solid = 2 [[Image's center region is to be made solid, even if it has transparency on it]]
}

enum Efl.Gfx.Change.Flag
{
   [[What property got changed for this object @since 1.18]]
   none    = 0x0, [[No change]]
   matrix  = 0x1, [[matrix got changed]]
   path    = 0x2, [[path got changes]]
   all     = -1   [[all property got changed]]
}

struct Efl.Gfx.Event.Render_Post
{
   [[Data sent along a "render,post" event, after a frame has been rendered.]]
   updated_area: list<ptr(Eina.Rect)>; [[A list of rectangles that were
                                         updated in the canvas.]]
}

enum Efl.Gfx.Size.Hint.Aspect
{
   [[Aspect types/policies for scaling size hints.

     See also @Efl.Gfx.Size.Hint.hint_aspect.
   ]]

   none = 0, [[No preference on either direction of the container
               for aspect ratio control.]]
   neither = 1, [[Same effect as disabling aspect ratio preference]]
   horizontal = 2, [[Use all horizontal container space to place an object,
                     using the given aspect.]]
   vertical = 3, [[Use all vertical container space to place an object, using
                   the given aspect.]]
   both = 4 [[Use all horizontal and vertical container spaces to place an
              object (never growing it out of those bounds), using the given
              aspect.]]
}

enum Efl.Image.Load.Error
{
   [[Image or Edje load error type]]
   none = 0,                       [[No error on load]]
   generic = 1,                    [[A non-specific error occurred]]
   does_not_exist = 2,             [[File (or file path) does not exist]]
   permission_denied = 3,          [[Permission denied to an existing file (or path)]]
   resource_allocation_failed = 4, [[Allocation of resources failure prevented load]]
   corrupt_file = 5,               [[File corrupt (but was detected as a known format)]]
   unknown_format = 6,             [[File is not a known format]]
   cancelled = 7,                  [[Reading operation has been cancelled during decoding]]
   incompatible_file = 8,          [[(Edje only) The file pointed to is incompatible, i.e., it doesn't match the library's current version's format.]]
   unknown_collection = 9,         [[(Edje only) The group/collection set to load from was not found in the file]]
   recursive_reference = 10        [[(Edje only) The group/collection set to load from had recursive references on its components]]
}

enum Efl.Gfx.Color_Class.Layer {
   [[Efl Gfx Color Class layer enum]]
   normal = 0, [[Default color]]
   outline, [[Outline color]]
   shadow [[Shadow color]]
}

type Efl.Font.Size: int; [[Efl font size type]]