1 #ifndef AWFUL_SCENEGRAPH_DRAWABLE_H_
2 #define AWFUL_SCENEGRAPH_DRAWABLE_H_
5 #include "scenegraph/scenegraph_export.h"
6 #include "Renderable.h"
11 namespace awful
{ namespace scenegraph
13 class AWSCENEGRAPH_EXPORT Drawable
: public Renderable
16 Drawable( Pointer
< Geometry
> pGeometry
, Pointer
< Material
> pMaterial
, Pointer
< Frame
> pFrame
);
17 Drawable( const Serialization_tag
& );
19 const Pointer
< Geometry
>& getpGeometry() const { return m_pGeometry
; }
20 void setpGeometry( const Pointer
< Geometry
>& x
) { m_pGeometry
= x
; }
22 const Pointer
< Material
>& getpMaterial() const { return m_pMaterial
; }
23 void setpMaterial( const Pointer
< Material
>& x
) { m_pMaterial
= x
; }
25 const Pointer
< Frame
>& getpFrame() const { return m_pFrame
; }
26 void setpFrame( const Pointer
< Frame
>& x
) { m_pFrame
= x
; }
28 virtual void evaluate( const Pointer
< RenderContext
>& pContext
);
31 template< class C
, typename T
> friend struct awful::attribute_traits
;
32 Pointer
< Geometry
> m_pGeometry
;
33 Pointer
< Material
> m_pMaterial
;
35 // TODO: deal with ConstPointer in ABF and python bindings
36 Pointer
< Frame
> m_pFrame
;