summaryrefslogtreecommitdiff
path: root/src/lib/eo/eina_types.eot
blob: fc0fca09ccd1b4cb2daa9900634708a733c867c6 (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
/* FIXME: Move to Eina when we decide they are handled properly. */
struct @extern @free(eina_rectangle_free) Eina.Rect {
    [[A rectangle in pixel dimensions.]]
    x: int; [[X coordinate of the rectangle, from the top-left corner.]]
    y: int; [[Y coordinate of the rectangle, from the top-left corner.]]
    w: int; [[Width of the rectangle in pixels.]]
    h: int; [[Height of the rectangle in pixels.]]
}

struct @extern Eina.Position2D {
   [[A 2D location in pixels.]]
   x: int; [[X position in pixels, from the top-left corner.]]
   y: int; [[Y position in pixels, from the top-left corner.]]
}

struct @extern Eina.Size2D {
   [[A 2D size in pixels.]]
   w: int; [[X position in pixels, from the top-left corner.]]
   h: int; [[Y position in pixels, from the top-left corner.]]
}

struct @extern Eina.File; [[Eina file data structure]]

struct @extern Eina.Vector2 {
   [[A simple 2D vector type using floating point values.]]
   x: double; [[X coordinate.]]
   y: double; [[Y coordinate.]]
}

struct @extern Eina.Matrix3 {
   [[Eina 3x3 Matrix]]
   xx: double; [[XX matrix value]]
   xy: double; [[XY matrix value]]
   xz: double; [[XZ matrix value]]

   yx: double; [[YX matrix value]]
   yy: double; [[YY matrix value]]
   yz: double; [[YZ matrix value]]

   zx: double; [[ZX matrix value]]
   zy: double; [[ZY matrix value]]
   zz: double; [[ZZ matrix value]]
}

type @extern Eina.Unicode: uint32; [[Eina unicode type]]

struct @extern Eina.File.Direct.Info; [[Eina file direct information data structure]]
/*{
   path_lenght:    size_t;              [[Size of the whole path]]
   name_length:    size_t;              [[Size of the filename/basename component]]
   name_start:     size_t;              [[Start position of the filename/basename component]]
   type:           Eina_File_Type;      [[File type]]
   path:           char[EINA_PATH_MAX]; [[The path]]
};*/

enum @extern Eina.Xattr.Flags {
  [[Eina file extended attributes flags]]
  insert, [[This is the default behaviour, it will either create or replace the extended attribute]]
  replace, [[This will only succeed if the extended attribute previously existed]]
  created [[This will only succeed if the extended attribute wasn't previously set]]
}

type @extern Eina.Error: int; [[Eina error type]]

struct @extern @free(eina_binbuf_free) Eina.Binbuf; [[Eina binbuf data structure]]
struct @extern @free(eina_strbuf_free) Eina.Strbuf; [[Eina strbuf data structure]]

struct @extern Eina.Slice {
    [[A linear, read-only, memory segment]]
    len: size; [[Length of the memory segment]]
    mem: const(void_ptr); [[Pointer to memory segment]]
}

struct @extern Eina.Rw_Slice {
    [[A linear, read-write, memory segment]]
    len: size; [[Length of the memory segment]]
    mem: void_ptr; [[Pointer to memory segment]]
}

struct @extern Eina.Value.Type; [[Eina value type]]
struct @extern Eina.Future; [[Eina_Future handle]]
struct @extern Eina.Promise; [[Eina_Promise handle]]