summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_gfx_filter.eo
blob: f9cf35fb2b536dd3c559b6866912e822f058babd (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
interface Efl.Gfx.Filter
{
   legacy_prefix: null;
   /* @since 1.15 */
   methods {
      @property program @beta {
         set {
            [[Set an evas filter program on this object.

              Valid for Text and Image objects at the moment.

              The argument passed to this function is a string
              containing a valid Lua program based on the filters
              API as described in the "Evas filters reference"
              page.

              Set to null to disable filtering.
            ]]
         }
         get {
            [[Gets the code of the filter program set on this object.
              May be null.
            ]]
         }
         values {
            code: const(char)*; [[filter program source code]]
            name: const(char)*(0); [[filter name (optional)]]
         }
      }
      @property state @beta {
         set {
            [[Set the current state of the filter (for use from Edje).]]
         }
         values {
            cur_state: const(char)*;
            cur_val: double(0.0);
            next_state: const(char)*;
            next_val: double(0.0);
            pos: double(0.0);
         }
      }
      @property padding @beta {
         get {
            [[Gets the padding required to apply this filter.]]
         }
         values {
            l: int;
            r: int;
            t: int;
            b: int;
         }
      }
      source_set @beta {
         [[Bind an object to use as a mask or texture with Evas Filters.

           This will create automatically a new RGBA buffer containing
           the source object's pixels (as it is rendered).
         ]]
         params {
            @in name: const(char)*; [[buffer name as used in the program]]
            @in source: Efl.Gfx.Base*; [[object to use as a proxy source]]
         }
      }
      source_get @const @beta {
         [[Retrieve which object is attached to this filter given its
           buffer name.
         ]]
         params {
            @in name: const(char)*; [[buffer name as used in the program]]
            @out source: Efl.Gfx.Base*; [[object used as a proxy source]]
         }
      }
      data_set @beta {
         [[Pass extra data to the filter program.

         This sets a global value as a string.]]
         params {
            @in name: const(char)*; [[Name of the global variable]]
            @in value: const(char)*; [[String value to use as data]]
            @in execute: bool; [[If true, execute 'name = value']]
         }
      }
   }
}