enum Elm.Bubble.Pos
{
  [[Defines the corner values for a bubble.

    The corner will be used to determine where the arrow of the
    bubble points to.
  ]]
  invalid = -1, [[Invalid corner.]]
  top_left, [[The arrow of the bubble points to the top left corner.]]
  top_right, [[The arrow of the bubble points to the top right corner.]]
  bottom_left, [[The arrow of the bubble points to the bottom left corner.]]
  bottom_right [[The arrow of the bubble points to the bottom right corner.]]
}

class Elm.Bubble (Elm.Layout, Evas.Clickable_Interface)
{
   eo_prefix: elm_obj_bubble;
   methods {
      @property pos {
         set @internal {
            [[Set the corner of the bubble

              This function sets the corner of the bubble. The corner will be used to
              determine where the arrow in the frame points to and where label, icon and
              info are shown.

            ]]
         }
         get @internal {
            [[Get the corner of the bubble

              This function gets the selected corner of the bubble.
            ]]
         }
         values {
            pos: Elm.Bubble.Pos; [[The given corner for the bubble.]]
         }
      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Evas.Object_Smart.add;
      Elm.Widget.focus_direction;
      Elm.Widget.focus_next_manager_is;
      Elm.Widget.focus_next;
      Elm.Widget.focus_direction_manager_is;
      Elm.Widget.access;
      Elm.Layout.text_set;
      Elm.Layout.text_aliases.get;
      Elm.Layout.content_aliases.get;
      Elm.Layout.sizing_eval;
   }
}
