Added z order support and draw_part().
[supertux.git] / lib / special / sprite.h
index a5ddbff..86b4a06 100644 (file)
@@ -39,8 +39,11 @@ namespace SuperTux
         {
         std::string name;
 
-        int x_hotspot;
-        int y_hotspot;
+        /** Position correction */
+        int x_offset;
+        int y_offset;
+        /** Drawing priority in queue */
+        int z_order;
 
         /** Frames per second */
         float fps;
@@ -49,8 +52,8 @@ namespace SuperTux
         };
 
     public:
-      /** cur has to be a pointer to data in the form of ((x-hotspot 5)
-          (y-hotspot 10) ...) */
+      /** cur has to be a pointer to data in the form of ((x-offset 5)
+          (y-offset 10) ...) */
       Sprite(lisp_object_t* cur);
       ~Sprite();
 
@@ -58,6 +61,10 @@ namespace SuperTux
       void draw(DrawingContext& context, const Vector& pos, int layer,
                 Uint32 drawing_effect = NONE_EFFECT);
 
+      void draw_part(DrawingContext& context, const Vector& source,
+                    const Vector& size, const Vector& pos, int layer,
+                    Uint32 drawing_effect = NONE_EFFECT);
+
       /** Set action (or state) */
       void set_action(std::string act);