#ifndef EVAS_CANVAS3D_TEXTURE_IMPL_HH
#define EVAS_CANVAS3D_TEXTURE_IMPL_HH

#include "evas_canvas3d_texture.eo.hh"

namespace evas { namespace canvas3d { 
inline ::efl::eolian::return_traits<bool>::type Texture::source_visible_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_texture_source_visible_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Texture::source_visible_set( ::efl::eolian::in_traits<bool>::type visible) const
{
    ::evas_canvas3d_texture_source_visible_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(visible));
}
inline ::efl::eolian::return_traits<bool>::type Texture::atlas_enable_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_texture_atlas_enable_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Texture::atlas_enable_set( ::efl::eolian::in_traits<bool>::type use_atlas) const
{
    ::evas_canvas3d_texture_atlas_enable_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(use_atlas));
}
inline ::efl::eolian::return_traits<void>::type Texture::data_set( ::efl::eolian::in_traits<Evas_Colorspace>::type color_format,  ::efl::eolian::in_traits<int>::type w,  ::efl::eolian::in_traits<int>::type h,  ::efl::eolian::in_traits<void const*>::type data) const
{
    ::evas_canvas3d_texture_data_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Colorspace,  ::efl::eolian::in_traits<Evas_Colorspace>::type>(color_format)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(w)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(h)
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
}
inline ::efl::eolian::return_traits<void>::type Texture::source_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type source) const
{
    ::evas_canvas3d_texture_source_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(source));
}
inline ::efl::eolian::return_traits<Evas_Colorspace>::type Texture::color_format_get() const
{
   Evas_Colorspace __return_value =  ::evas_canvas3d_texture_color_format_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Colorspace>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Texture::size_get( ::efl::eolian::out_traits<int>::type w,  ::efl::eolian::out_traits<int>::type h) const
{
   int __out_param_w = {};
   int __out_param_h = {};
    ::evas_canvas3d_texture_size_get(_eo_ptr()
      , & __out_param_w
      , & __out_param_h);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(w, __out_param_w);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(h, __out_param_h);
}
inline ::efl::eolian::return_traits<void>::type Texture::wrap_set( ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type s,  ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type t) const
{
    ::evas_canvas3d_texture_wrap_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Wrap_Mode,  ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type>(s)
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Wrap_Mode,  ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type>(t));
}
inline ::efl::eolian::return_traits<void>::type Texture::wrap_get( ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type s,  ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type t) const
{
   Evas_Canvas3D_Wrap_Mode __out_param_s = {};
   Evas_Canvas3D_Wrap_Mode __out_param_t = {};
    ::evas_canvas3d_texture_wrap_get(_eo_ptr()
      , & __out_param_s
      , & __out_param_t);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type, Evas_Canvas3D_Wrap_Mode>(s, __out_param_s);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type, Evas_Canvas3D_Wrap_Mode>(t, __out_param_t);
}
inline ::efl::eolian::return_traits<void>::type Texture::filter_set( ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type min,  ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type mag) const
{
    ::evas_canvas3d_texture_filter_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Texture_Filter,  ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type>(min)
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Texture_Filter,  ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type>(mag));
}
inline ::efl::eolian::return_traits<void>::type Texture::filter_get( ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type min,  ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type mag) const
{
   Evas_Canvas3D_Texture_Filter __out_param_min = {};
   Evas_Canvas3D_Texture_Filter __out_param_mag = {};
    ::evas_canvas3d_texture_filter_get(_eo_ptr()
      , & __out_param_min
      , & __out_param_mag);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type, Evas_Canvas3D_Texture_Filter>(min, __out_param_min);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type, Evas_Canvas3D_Texture_Filter>(mag, __out_param_mag);
}
} } 
namespace eo_cxx {
namespace evas { namespace canvas3d { 
inline ::efl::eolian::return_traits<bool>::type Texture::source_visible_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_texture_source_visible_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Texture::source_visible_set( ::efl::eolian::in_traits<bool>::type visible) const
{
    ::evas_canvas3d_texture_source_visible_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(visible));
}
inline ::efl::eolian::return_traits<bool>::type Texture::atlas_enable_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_texture_atlas_enable_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Texture::atlas_enable_set( ::efl::eolian::in_traits<bool>::type use_atlas) const
{
    ::evas_canvas3d_texture_atlas_enable_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(use_atlas));
}
inline ::efl::eolian::return_traits<void>::type Texture::data_set( ::efl::eolian::in_traits<Evas_Colorspace>::type color_format,  ::efl::eolian::in_traits<int>::type w,  ::efl::eolian::in_traits<int>::type h,  ::efl::eolian::in_traits<void const*>::type data) const
{
    ::evas_canvas3d_texture_data_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Colorspace,  ::efl::eolian::in_traits<Evas_Colorspace>::type>(color_format)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(w)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(h)
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
}
inline ::efl::eolian::return_traits<void>::type Texture::source_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type source) const
{
    ::evas_canvas3d_texture_source_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(source));
}
inline ::efl::eolian::return_traits<Evas_Colorspace>::type Texture::color_format_get() const
{
   Evas_Colorspace __return_value =  ::evas_canvas3d_texture_color_format_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Colorspace>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Texture::size_get( ::efl::eolian::out_traits<int>::type w,  ::efl::eolian::out_traits<int>::type h) const
{
   int __out_param_w = {};
   int __out_param_h = {};
    ::evas_canvas3d_texture_size_get(_eo_ptr()
      , & __out_param_w
      , & __out_param_h);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(w, __out_param_w);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(h, __out_param_h);
}
inline ::efl::eolian::return_traits<void>::type Texture::wrap_set( ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type s,  ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type t) const
{
    ::evas_canvas3d_texture_wrap_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Wrap_Mode,  ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type>(s)
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Wrap_Mode,  ::efl::eolian::in_traits<Evas_Canvas3D_Wrap_Mode>::type>(t));
}
inline ::efl::eolian::return_traits<void>::type Texture::wrap_get( ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type s,  ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type t) const
{
   Evas_Canvas3D_Wrap_Mode __out_param_s = {};
   Evas_Canvas3D_Wrap_Mode __out_param_t = {};
    ::evas_canvas3d_texture_wrap_get(_eo_ptr()
      , & __out_param_s
      , & __out_param_t);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type, Evas_Canvas3D_Wrap_Mode>(s, __out_param_s);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Wrap_Mode>::type, Evas_Canvas3D_Wrap_Mode>(t, __out_param_t);
}
inline ::efl::eolian::return_traits<void>::type Texture::filter_set( ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type min,  ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type mag) const
{
    ::evas_canvas3d_texture_filter_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Texture_Filter,  ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type>(min)
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Texture_Filter,  ::efl::eolian::in_traits<Evas_Canvas3D_Texture_Filter>::type>(mag));
}
inline ::efl::eolian::return_traits<void>::type Texture::filter_get( ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type min,  ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type mag) const
{
   Evas_Canvas3D_Texture_Filter __out_param_min = {};
   Evas_Canvas3D_Texture_Filter __out_param_mag = {};
    ::evas_canvas3d_texture_filter_get(_eo_ptr()
      , & __out_param_min
      , & __out_param_mag);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type, Evas_Canvas3D_Texture_Filter>(min, __out_param_min);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Texture_Filter>::type, Evas_Canvas3D_Texture_Filter>(mag, __out_param_mag);
}
inline evas::canvas3d::Texture::operator ::evas::canvas3d::Texture() const { return *static_cast< ::evas::canvas3d::Texture const*>(static_cast<void const*>(this)); }
inline evas::canvas3d::Texture::operator ::evas::canvas3d::Texture&() { return *static_cast< ::evas::canvas3d::Texture*>(static_cast<void*>(this)); }
inline evas::canvas3d::Texture::operator ::evas::canvas3d::Texture const&() const { return *static_cast< ::evas::canvas3d::Texture const*>(static_cast<void const*>(this)); }
} } }
#endif
