summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_bg.eo
blob: 7665577f94301f86449f6e1c7d206ece25434571 (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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)
{
   [[The bg (background) widget is used for setting (solid) background decorations

   to a window (unless it has transparency enabled) or to any container object. It
   works just like an image, but has some properties useful to a background, like
   setting it to tiled, centered, scaled or stretched.
   ]]
   eo_prefix: elm_obj_bg;
   methods {
      @property option {
         [[The mode of display for a given background widget's image]]
         set {
            [[This sets how the background widget will display its image. This
              will only work if the @Efl.File.file.set was previously called with
              an image file on $obj. The image can be display tiled, scaled,
              centered or stretched. @Elm.Bg.Option.scale by default.
            ]]
         }
         get {
         }
         values {
            option: Elm.Bg.Option; [[The desired background option(See @Elm.Bg.Option)]]
         }
      }
      @property color {
         [[The color on a given background widget]]
         set {
            [[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 @Efl.File.file.set, so that you just want a solid
              color background.

              Note: You can reset the color by setting $r, $g, $b as -1, -1, -1.
            ]]
            legacy: null; /* legacy doesn't have 'a' param */
         }
         get {
            [[Note: Use $null pointers on the file components you're not
              interested in: they'll be ignored by the function.
            ]]
            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
              $obj, with @Efl.File.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.

            ]]
         }
         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;
   }
}