#ifndef ENGINE_DRAWABLE_H #define ENGINE_DRAWABLE_H #include "base/vecmath.h" namespace eng { class Drawable { public: Drawable(); virtual ~Drawable(); Drawable(const Drawable&) = delete; Drawable& operator=(const Drawable&) = delete; virtual void Draw(float frame_frac) = 0; void SetZOrder(int z) { z_order_ = z; } void SetVisible(bool visible) { visible_ = visible; } int GetZOrder() const { return z_order_; } bool IsVisible() const { return visible_; } private: bool visible_ = false; int z_order_ = 0; }; } // namespace eng #endif // ENGINE_DRAWABLE_H