#ifndef EFL_UI_POPUP_ANCHOR_IMPL_HH
#define EFL_UI_POPUP_ANCHOR_IMPL_HH

#include "efl_ui_popup_anchor.eo.hh"

namespace efl { namespace ui { 
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Popup_Anchor::anchor_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::efl_ui_popup_anchor_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Popup_Anchor::anchor_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type anchor) const
{
    ::efl_ui_popup_anchor_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(anchor));
}
#ifdef EFL_UI_POPUP_ANCHOR_BETA
inline ::efl::eolian::return_traits<void>::type Popup_Anchor::align_priority_get( ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type first,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type second,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type third,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type fourth,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type fifth) const
{
   Efl_Ui_Popup_Align __out_param_first = {};
   Efl_Ui_Popup_Align __out_param_second = {};
   Efl_Ui_Popup_Align __out_param_third = {};
   Efl_Ui_Popup_Align __out_param_fourth = {};
   Efl_Ui_Popup_Align __out_param_fifth = {};
    ::efl_ui_popup_anchor_align_priority_get(_eo_ptr()
      , & __out_param_first
      , & __out_param_second
      , & __out_param_third
      , & __out_param_fourth
      , & __out_param_fifth);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(first, __out_param_first);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(second, __out_param_second);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(third, __out_param_third);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(fourth, __out_param_fourth);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(fifth, __out_param_fifth);
}
#endif
#ifdef EFL_UI_POPUP_ANCHOR_BETA
inline ::efl::eolian::return_traits<void>::type Popup_Anchor::align_priority_set( ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type first,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type second,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type third,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type fourth,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type fifth) const
{
    ::efl_ui_popup_anchor_align_priority_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(first)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(second)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(third)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(fourth)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(fifth));
}
#endif
} } 
namespace eo_cxx {
namespace efl { namespace ui { 
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Popup_Anchor::anchor_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::efl_ui_popup_anchor_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Popup_Anchor::anchor_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type anchor) const
{
    ::efl_ui_popup_anchor_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(anchor));
}
#ifdef EFL_UI_POPUP_ANCHOR_BETA
inline ::efl::eolian::return_traits<void>::type Popup_Anchor::align_priority_get( ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type first,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type second,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type third,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type fourth,  ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type fifth) const
{
   Efl_Ui_Popup_Align __out_param_first = {};
   Efl_Ui_Popup_Align __out_param_second = {};
   Efl_Ui_Popup_Align __out_param_third = {};
   Efl_Ui_Popup_Align __out_param_fourth = {};
   Efl_Ui_Popup_Align __out_param_fifth = {};
    ::efl_ui_popup_anchor_align_priority_get(_eo_ptr()
      , & __out_param_first
      , & __out_param_second
      , & __out_param_third
      , & __out_param_fourth
      , & __out_param_fifth);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(first, __out_param_first);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(second, __out_param_second);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(third, __out_param_third);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(fourth, __out_param_fourth);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Ui_Popup_Align>::type, Efl_Ui_Popup_Align>(fifth, __out_param_fifth);
}
#endif
#ifdef EFL_UI_POPUP_ANCHOR_BETA
inline ::efl::eolian::return_traits<void>::type Popup_Anchor::align_priority_set( ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type first,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type second,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type third,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type fourth,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type fifth) const
{
    ::efl_ui_popup_anchor_align_priority_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(first)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(second)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(third)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(fourth)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Popup_Align,  ::efl::eolian::in_traits<Efl_Ui_Popup_Align>::type>(fifth));
}
#endif
inline efl::ui::Popup_Anchor::operator ::efl::ui::Popup_Anchor() const { return *static_cast< ::efl::ui::Popup_Anchor const*>(static_cast<void const*>(this)); }
inline efl::ui::Popup_Anchor::operator ::efl::ui::Popup_Anchor&() { return *static_cast< ::efl::ui::Popup_Anchor*>(static_cast<void*>(this)); }
inline efl::ui::Popup_Anchor::operator ::efl::ui::Popup_Anchor const&() const { return *static_cast< ::efl::ui::Popup_Anchor const*>(static_cast<void const*>(this)); }
} } }
#endif
