summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_io_sizer.eo
blob: 2b104f17846c4c7f29150624daaa719dafd03a34 (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
import eina_types;

mixin Efl.Io.Sizer {
    [[Generic interface for objects that can resize or report size of themselves.

      This interface allows external objects to transparently resize
      or report its size.

      @since 1.19
    ]]

    data: null;

    methods {
        resize @virtual_pure {
            params {
                @in size: uint64;
            }
            return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]
        }

        @property size {
            get @virtual_pure { }
            set {
                [[Try to resize the object, check with get if the value was accepted or not.]]
                return: bool; [[$true if could resize, $false if errors.]]
            }
            values {
                size: uint64;
            }
        }
    }

    events {
        size,changed; [[Notifies size changed]]
    }
}