summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_types.eot
blob: ee3cdcc5d74fa3f791d66f1eb343cc009e96d8c8 (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
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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
type @extern Evas.Load_Error: int; /* FIXME: Need to migrate emile. */
struct @extern Evas.Video_Surface; /* FIXME: The structure is full of the unsupported func pointers. */

type Evas.Modifier_Mask: ullong;  [[An Evas modifier mask type]]
type Evas.Coord: int; [[A type for coordinates]]

enum Evas.Display_Mode {
   none = 0, [[Default mode]]
   compress = 1, [[Use this mode when you want to give compress display mode
                   hint to an object]]
   expand = 2, [[Use this mode when you want to give expand display mode hint
                 to an object]]
   dont_change = 3 [[Use this mode when an object should not change its display
                     mode]]
}

enum Evas.Text_Style_Type {
   [[Types of styles to be applied on text objects. The
     EVAS_TEXT_STYLE_SHADOW_DIRECTION_* ones are to be ORed together with
     others imposing shadow, to change shadow's direction
   ]]
   legacy: Evas_Text_Style;

   plain, [[plain, standard text]]
   shadow, [[text with shadow underneath]]
   outline, [[text with an outline]]
   soft_outline, [[text with a soft outline]]
   glow, [[text with a glow effect]]
   outline_shadow, [[text with both outline and shadow effects]]
   far_shadow, [[text with (far) shadow underneath]]
   outline_soft_shadow, [[text with outline and soft shadow effects combined]]
   soft_shadow, [[text with (soft) shadow underneath]]
   far_soft_shadow, [[text with (far soft) shadow underneath]]

   /* OR these to modify shadow direction (3 bits needed) */
   shadow_direction_bottom_right = (0x0 << 4),      [[shadow growing to bottom right]]
   shadow_direction_bottom = (0x1 << 4),            [[shadow growing to the bottom]]
   shadow_direction_bottom_left = (0x2 << 4),       [[shadow growing to bottom left]]
   shadow_direction_left = (0x3 << 4),              [[shadow growing to the left]]
   shadow_direction_top_left = (0x4 << 4),          [[shadow growing to top left]]
   shadow_direction_top = (0x5 << 4),               [[shadow growing to the top]]
   shadow_direction_top_right = (0x6 << 4),         [[shadow growing to top right]]
   shadow_direction_right = (0x7 << 4)             [[shadow growing to the right]]
}

type Evas.Font.Size: int; [[A type for font size]]

enum Evas.Font.Hinting_Flags {
   [[Flags for Font Hinting]]
   legacy: Evas_Font_Hinting;

   none, [[No font hinting]]
   auto, [[Automatic font hinting]]
   bytecode [[Bytecode font hinting]]
}

struct Evas.Map; [[An opaque handle to map points

                   See \@ref evas_map_new, \@ref evas_map_free,
                   \@ref evas_map_dup.
                 ]]

enum Evas.Touch_Point_State {
   [[State of Evas_Coord_Touch_Point]]
   legacy: Evas_Touch_Point;

   down, [[Touch point is pressed down]]
   up, [[Touch point is released]]
   move, [[Touch point is moved]]
   still, [[Touch point is not moved after pressed]]
   cancel [[Touch point is cancelled]]
}

enum Evas.Callback_Type
{
   [[Identifier of callbacks to be set for Evas canvases or Evas objects.]]
   legacy: Evas_Callback;

   /** FIXME-doc
    * The following figure illustrates some Evas callbacks:

    * @image html evas-callbacks.png
    * @image rtf evas-callbacks.png
    * @image latex evas-callbacks.eps
    *
    * @see evas_object_event_callback_add()
    * @see evas_event_callback_add()
    */

   mouse_in, [[Mouse In Event]]
   mouse_out, [[Mouse Out Event]]
   mouse_down, [[Mouse Button Down Event]]
   mouse_up, [[Mouse Button Up Event]]
   mouse_move, [[Mouse Move Event]]
   mouse_wheel, [[Mouse Wheel Event]]
   multi_down, [[Multi-touch Down Event]]
   multi_up, [[Multi-touch Up Event]]
   multi_move, [[Multi-touch Move Event]]
   free, [[Object Being Freed (Called after Del)]]
   key_down, [[Key Press Event]]
   key_up, [[Key Release Event]]
   focus_in, [[Focus In Event]]
   focus_out, [[Focus Out Event]]
   show, [[Show Event]]
   hide, [[Hide Event]]
   move, [[Move Event]]
   resize, [[Resize Event]]
   restack, [[Restack Event]]
   del, [[Object Being Deleted (called before Free)]]
   hold, [[Events go on/off hold]]
   changed_size_hints, [[Size hints changed event]]
   image_preloaded, [[Image has been preloaded]]

   canvas_focus_in, [[Canvas got focus as a whole]]
   canvas_focus_out, [[Canvas lost focus as a whole]]
   render_flush_pre, [[Called after render update regions have been calculated, but only if update regions exist]]
   render_flush_post, [[Called after render update regions have been sent to the display server, but only if update regions existed for the most recent frame]]
   canvas_object_focus_in, [[Canvas object got focus]]
   canvas_object_focus_ouT, [[Canvas object lost focus]]

   image_unloaded, [[Image data has been unloaded (by some mechanism in Evas that throw out original image data)]]

   render_pre, [[Called just before rendering starts on the canvas target

                 @since 1.2]]
   render_post, [[Called just after rendering stops on the canvas target

                  @since 1.2]]

   image_resize, [[Image size is changed

                   @since 1.8]]
   device_changed, [[Devices added, removed or changed on canvas

                     @since 1.8]]

   axis_update, [[Input device changed value on some axis

                  @since 1.13]]

   canvas_viewport_resize, [[Canvas viewport resized

                             @since 1.15]]
   last [[kept as last element/sentinel -- not really an event]]
}

enum Evas.Image.Orient
{
   [[Possible orientation options for evas_object_image_orient_set().
     @since 1.14]]
   legacy: evas_image;
   orient_none = 0, [[no orientation change]]
   orient_0 = 0, [[no orientation change]]
   orient_90 = 1, [[orient 90 degrees clockwise]]
   orient_180 = 2, [[orient 180 degrees clockwise]]
   orient_270 = 3, [[rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise)]]
   flip_horizontal = 4, [[flip image horizontally]]
   flip_vertical = 5, [[flip image vertically]]
   flip_transpose = 6, [[flip image along the y = (width - x) line (bottom-left to top-right)]]
   flip_transverse = 7 [[flip image along the y = x line (top-left to bottom-right)]]
}

enum Evas.Border_Fill_Mode
{
   [[How an image's center region (the complement to the border region) should be rendered by Evas]]
   legacy: evas_border_fill;
   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]]
}

struct Evas.Modifier; [[An opaque type containing information on which modifier keys are registered in an Evas canvas]]
struct Evas.Lock; [[An opaque type containing information on which lock keys are registered in an Evas canvas]]
struct Evas.Engine_Info; [[A generic Evas Engine information structure]]
struct Evas.Axis; [[Details for a single device axis state

                    @since 1.13]]

type Evas.Real: double; [[A type for floating value]]

enum Evas.Canvas3D.Object_Type
{
   [[Type of 3D Object

     @since 1.10]]
   invalid = 0,
   scene,
   node,
   camera,
   light,
   model,
   mesh,
   texture,
   material,
   primitive [[@since 1.15]]
}

enum Evas.Canvas3D.State
{
   [[State of the Evas 3D

     @since 1.10]]
   max = 16,

   any = 0,

   scene_root_node = 1,
   scene_camera_node,
   scene_background_color,
   scene_size,
   scene_shadows_enabled,
   scene_updated, [[@since 1.14]]
   scene_shadows_depth,
   scene_render_to_texture,

   texture_data = 1,
   texture_wrap,
   texture_filter,

   material_id = 1,
   material_color,
   material_texture,

   mesh_vertex_count = 1,
   mesh_frame,
   mesh_material,
   mesh_transform,
   mesh_vertex_data,
   mesh_index_data,
   mesh_vertex_assembly,
   mesh_shader_mode,
   mesh_fog,
   mesh_blending,
   mesh_alpha_test,
   mesh_color_pick,
   mesh_shadows_edges_filtering,
   mesh_shadows_constant_bias,

   camera_projection = 1,

   light_ambient = 1,
   light_diffuse,
   light_specular,
   light_spot_dir,
   light_spot_exp,
   light_spot_cutoff,
   light_attenuation,
   light_projection,

   node_transform_position = 1,
   node_transform_orientation,
   node_transform_scale,
   node_mesh_geometry,
   node_mesh_material,
   node_mesh_frame,
   node_mesh_shader_mode,
   node_mesh_material_id,
   node_light,
   node_camera,
   node_parent_position,
   node_parent_orientation,
   node_parent_scale,
   node_member,
   node_parent_billboard, [[@since 1.14]]
   node_lod [[@since 1.18]]
}

enum Evas.Canvas3D.Space
{
   [[Transform space

     @since 1.10]]
   local = 0, [[Local coordinate space]]
   parent,    [[Parent coordinate space]]
   world      [[World coordinate space]]
}

enum Evas.Canvas3D.Node_Type
{
   [[Types of a node

     @since 1.10]]
   node = 0, [[Node with no items]]
   camera,   [[Node which can contain camera object]]
   light,    [[Node which can contain light object]]
   mesh      [[Node which can contain mesh objects]]
}

enum Evas.Canvas3D.Node_Orientation_Type
{
   [[Types of node orientation

     @since 1.13]]
   none = 0,   [[Node with no orientation properties]]
   look_at,    [[Node orientation is given as a point to look at and a vector that indicates the angle at which the subject is looking at the point]]
   look_to,    [[Node orientation is given as id of another part to look at and a vector that indicates the angle at which the subject is looking at the part]]
   angle_axis, [[Node orientation is given as an angle and an axis to rotate around]]
   quaternion  [[Node orientation is given as a quaternion]]
}

enum Evas.Canvas3D.Index_Format
{
   [[Index formats

     @since 1.10]]
   none = 0,      [[Indexing is not used]]
   unsigned_byte, [[Index is of type unsigned byte]]
   unsigned_short [[Index is of type unsigned short]]
}

enum Evas.Canvas3D.Frustum_Mode
{
  [[Frustum modes

   @since 1.12]]
   bsphere, [[Bounding sphere]]
   aabb,    [[Axis-aligned bounding box]]
   central_point
}

enum Evas.Canvas3D.Vertex_Assembly
{
   [[Vertex assembly modes. Vertex assembly represents how the vertices are organized into geometric primitives.

     @since 1.10]]
   points = 0,     [[A vertex is rendered as a point]]
   lines,          [[Two vertices are organized as a line]]
   line_strip,     [[Vertices are organized as a connected line path]]
   line_loop,      [[Vertices are organized as a closed line path]]
   triangles,      [[Three vertices are organized as a triangle]]
   triangle_strip, [[Vertices are organized as connected triangles]]
   triangle_fan    [[Vertices are organized as a triangle fan]]
}

enum Evas.Canvas3D.Comparison
{
  [[Comparsion functions for testing(alpha, depth, stencil) in fragment shader

    @since 1.14]]
   never,    [[Never passes]]
   less,     [[Passes if the incoming value is less than the reference value]]
   equal,    [[Passes if the incoming value is equal to the reference value]]
   lequal,   [[Passes if the incoming value is less than or equal to the reference value]]
   greater,  [[Passes if the incoming value is greater than the reference value]]
   notequal, [[Passes if the incoming value is not equal to the reference value]]
   gequal,   [[Passes if the incoming value is greater than or equal to the reference value]]
   always    [[Always passes (initial value)]]
}

enum Evas.Canvas3D.Wrap_Mode
{
  [[Wrap modes for texture units

    @since 1.14]]
   clamp = 0, [[Values will be clamped to be in range (min, max)]]
   repeat,    [[Values will be repeated]]
   reflect    [[Values will be repeated in a reflected manner]]
}

enum Evas.Canvas3D.Texture_Filter
{
  [[Filters for texture units

    @since 1.14]]
   nearest = 0,            [[Samples nearest texel]]
   linear,                 [[Lineary interpolate nearby texels]]
   nearest_mipmap_nearest, [[Nearest sampling mipmap]]
   linear_mipmap_nearest,  [[Nearest sampling mipmap and interpolate]]
   nearest_mipmap_linear,  [[Linear sampling in nearest mipmap]]
   linear_mipmap_linear    [[Linear sampling in mipmap and interpolate]]
}

enum Evas.Canvas3D.Mesh_Primitive
{
   [[Mesh primitive

    @since 1.12]]
   none = 0, [[An empty space]]
   square,   [[One sided square]]
   cube,
   cylinder, [[Cylinder (can use precision and texture scale)]]
   cone,     [[Cone (can use precision and texture scale)]]
   sphere,   [[Sphere (can use precision and texture scale)]]
   torus,    [[Torus (can use ratio, precision and texture scale)]]
   surface,  [[Custom surface (can use pointer to users function, precision and texture scale)]]
   terrain,  [[Terrain as surface with pointer to perlin's noise function]]
   count
}

enum Evas.Canvas3D.Primitive_Mode
{
   [[Mode of mesh primitive

    @since 1.15]]
   default = 0,   [[Default mode of primitive]]
   without_base,  [[Primitive without base (supported for cylinder and cone)]]
   alternative_uv [[Ptimitive with alternative uv (supported for sphere)]]
}

enum Evas.Canvas3D.Shader_Mode
{
   [[Shader shade modes

    @since 1.10]]
   vertex_color = 0,    [[Shaded using vertex color attribute]]
   diffuse,             [[Shaded using material diffuse term]]
   flat,                [[Per-vertex flat lighting]]
   phong,               [[Per-pixel phong shading]]
   normal_map,          [[Per-pixel normal map shading]]
   shadow_map_render,   [[Fragment color is defined by its z-coord]]
   color_pick,          [[Rendering to additional frame bufer]]
   parallax_occlusion,  [[Per-pixel parallax occlusion map shading]]
   post_processing_FXAA [[Render full screen quard]]
}

enum Evas.Canvas3D.Vertex_Attrib
{
   [[Vertex attribute IDs

    @since 1.10]]
   position = 0,  [[vertex position]]
   normal,        [[vertex normal]]
   tangent,       [[vertex tangent (for normal mapping)]]
   color,         [[vertex color]]
   texcoord       [[vertex texture coordinate]]
}

enum Evas.Canvas3D.Blend_Func
{
   [[Blending function

    @since 1.14]]

   zero = 0,                 [[The scale factors for color components is (0, 0, 0, 0)]]
   one,                      [[The scale factors for color components is (1, 1, 1, 1)]]
   src_color,                [[The scale factors for color components is (rs/kr, gs/kg, bs/kb, as/ka)]]
   one_minus_src_color,      [[The scale factors for color components is (1, 1, 1, 1) - (rs/kr, gs/kg, bs/kb, as/ka)]]
   dst_color,                [[The scale factors for color components is (rd/kr, gd/kg, bd/kb, ad/ka)]]
   one_minus_dst_color,      [[The scale factors for color components is (1, 1, 1, 1) - (rd/kr, gd/kg, bd/kb, ad/ka)]]
   src_alpha,                [[The scale factors for color components is (as/ka, as/ka, as/ka, as/ka)]]
   one_minus_src_alpha,      [[The scale factors for color components is (1, 1, 1, 1) - (as/ka, as/ka, as/ka, as/ka)]]
   dst_alpha,                [[The scale factors for color components is (ad/ka, ad/ka, ad/ka, ad/ka)]]
   one_minus_dst_alpha,      [[The scale factors for color components is (1, 1, 1, 1) - (ad/ka, ad/ka, ad/ka, ad/ka)]]
   constant_color,           [[The scale factors for color components is (rc, gc, bc, ac)]]
   one_minus_constant_color, [[The scale factors for color components is (1, 1, 1, 1) - (rc, gc, bc, ac)]]
   constant_alpha,           [[The scale factors for color components is (ac, ac, ac, ac)]]
   one_minus_constant_alpha, [[The scale factors for color components is (1, 1, 1, 1) - (ac, ac, ac, ac)]]
   src_alpha_saturate        [[The scale factors for color components is (i, i, i, 1) where i = min(as, ka, ad)/ka]]
}

enum Evas.Canvas3D.Material_Attrib
{
  [[Material attributes

    @since 1.10]]
   ambient = 0, [[ambient term]]
   diffuse,     [[diffuse term]]
   specular,    [[specular term]]
   emission,    [[emission term]]
   normal       [[Normal map term]]
}

type Evas.Canvas3D.Surface_Func: __undefined_type;

struct Efl.Canvas.Text.Annotation;