#include <string>
#include <vector>
#include "lispreader.h"
-#include "texture.h"
+#include "screen/texture.h"
+#include "vector.h"
+
+enum SpecialDrawing { SD_NONE, SD_VERTICAL_FLIP, SD_SEMI_TRANSPARENT };
class Sprite
{
private:
+ std::string name;
+
int x_hotspot;
int y_hotspot;
/** cur has to be a pointer to data in the form of ((x-hotspot 5)
(y-hotspot 10) ...) */
Sprite(lisp_object_t* cur);
+ ~Sprite();
+
+ void reset();
/** Update the sprite and process to the next frame */
void update(float delta);
- void draw(int x, int y);
+ void draw(DrawingContext& context, const Vector& pos, int layer,
+ int special_drawing = SD_NONE);
+ int get_current_frame() const;
+
+ float get_fps() { return fps; } ;
+ int get_frames() { return surfaces.size(); } ;
+
+ std::string get_name() const { return name; }
+ int get_width() const;
+ int get_height() const;
};
#endif
/* Local Variables: */
/* mode:c++ */
-/* End */
+/* End: */