summaryrefslogtreecommitdiff
path: root/legacy/elementary/src/lib/elm_bg.eo
blob: 2492926eaa34f9dfcc74316a06b6576408e718d3 (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
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
enum Elm.Bg.Option
{
   [[
     Identifiers on how a background widget is to display its image --
     if it was set to use an image file.

     See also @Elm.Bg.option.set, @Elm.Bg.option.get.
   ]]
  center, [[Center the background image.]]
  scale, [[Scale the background image, retaining aspect ratio (default).]]
  stretch, [[Stretch the background image to fill the widget's area.]]
  tile, [[Tile background image at its original size.]]
  last [[Sentinel value, also used to indicate errors.]]
}

class Elm.Bg (Elm.Layout, Efl.File)
{
   eo_prefix: elm_obj_bg;
   methods {
      @property option {
         set {
            /*@
            Set the mode of display for a given background widget's image

            This sets how the background widget will display its image. This
            will only work if the elm_bg_file_set() was previously called with
            an image file on @a obj. The image can be display tiled, scaled,
            centered or stretched. #ELM_BG_OPTION_SCALE by default.

            @see elm_bg_option_get()

            @ingroup Bg */
         }
         get {
            /*@
            Get the mode of display for a given background widget's image

            @return The image displaying mode in use for @a obj or #ELM_BG_OPTION_LAST,
            on errors.

            @see elm_bg_option_set() for more details

            @ingroup Bg */
         }
         values {
            option: Elm.Bg.Option; /*@ The desired background option (see #Elm_Bg_Option) */
         }
      }
      @property color {
         set {
            /*@
            Set the color on a given background widget

            This sets the color used for the background rectangle, in RGB
            format. Each color component's range is from 0 to 255.

            @note You probably only want to use this function if you haven't
            previously called elm_bg_file_set(), so that you just want a solid
            color background.

            @note You can reset the color by setting @p r, @p g, @p b as -1, -1, -1.

            @see elm_bg_color_get()

            @ingroup Bg */
            legacy: null; /* legacy doesn't have 'a' param */
         }
         get {
            /*@
            Get the color set on a given background widget

            @note Use @c NULL pointers on the file components you're not
            interested in: they'll be ignored by the function.

            @see elm_bg_color_get() for more details

            @ingroup Bg */
            legacy: null; /* legacy doesn't have 'a' param */
         }
         values {
            r: int; /*@ The red color component's value */
            g: int; /*@ The green color component's value */
            b: int; /*@ The blue color component's value */
            a: int; /*@ The blue color component's value */
         }
      }
      @property load_size {
         set {
            /*@
            Set the size of the pixmap representation of the image set on a
            given background widget.

            @warning This function just makes sense if an image file was set on
            @p obj, with elm_bg_file_set().

            This function sets a new size for pixmap representation of the
            given bg image. It allows for the image to be loaded already in the
            specified size, reducing the memory usage and load time (for
            example, when loading a big image file with its load size set to a
            smaller size)

            @note This is just a hint for the underlying system. The real size
            of the pixmap may differ depending on the type of image being
            loaded, being bigger than requested.

            @ingroup Bg */
         }
         values {
            w: Evas.Coord; /*@ The new width of the image pixmap representation. */
            h: Evas.Coord; /*@ The new height of the image pixmap representation. */
         }
      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Evas.Object_Smart.add;
      Elm.Layout.content_aliases.get;
      Elm.Layout.sizing_eval;
      Efl.File.file.set;
      Efl.File.file.get;
   }

}