summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_io_sizer.eo
blob: a91cf665a1a12db459e6980d9fa367c5d328c967 (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
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 @pure_virtual {
            [[Resize object]]
            params {
                @in size: uint64; [[Object size]]
            }
            return: Eina.Error; [[0 on succeed, a mapping of errno otherwise]]
        }

        @property size {
            [[Size property]]
            get @pure_virtual { }
            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; [[Object size]]
            }
        }
    }

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