#pragma once #include "brush.hpp" #include "gxmesh.hpp" #include "model.hpp" class Sprite : public Model { public: enum { VIEW_MODE_FREE = 1, //visible from any angle VIEW_MODE_FIXED = 2, //visible only from front VIEW_MODE_UPRIGHT = 3, //upright tree-style VIEW_MODE_UPRIGHT2 = 4 //better upright tree-style }; Sprite(); Sprite(const Sprite& t); ~Sprite(); Sprite* getSprite() { return this; } Entity* clone() { return new Sprite(*this); } void capture(); bool beginRender(float tween); void setRotation(float angle); void setScale(float x_scale, float y_scale); void setHandle(float x, float y); void setViewmode(int mode); bool render(const RenderContext& rc); private: float xhandle, yhandle; float rot, xscale, yscale; float r_rot, r_xscale, r_yscale; int view_mode, mesh_index; bool captured; };