29#ifndef NOMLIB_GRAPHICS_SPRITE_BATCH_HPP
30#define NOMLIB_GRAPHICS_SPRITE_BATCH_HPP
32#include "nomlib/config.hpp"
33#include "nomlib/math/Rect.hpp"
34#include "nomlib/graphics/sprite/Sprite.hpp"
35#include "nomlib/graphics/sprite/SpriteSheet.hpp"
46 typedef Sprite derived_class;
109 virtual void draw(RenderTarget& target, real64 angle)
const override;
const RenderWindow RenderTarget
Run-time type information (RTTI) container class.
virtual void draw(IDrawable::RenderTarget &target) const override
Render the sprite frame.
virtual void update() override
Update the sprite for rendering with regard to positioning coordinates and target frame ID.
virtual ~SpriteBatch()
Destructor.
void set_frame(int32 id)
Set a new frame ID to render.
virtual void set_sprite_sheet(const SpriteSheet &sheet)
Use the sprite frames from an existing SpriteSheet object.
int32 frames() const
Obtain the number of frames available.
virtual int32 frame() const
Get the object's current sheet_id.
SpriteBatch * clone() const
Implements the required IDrawable::clone method.
int32 sheet_id_
The sheet's frame ID presently in use.
IntRect offsets
Source (input) coordinates – used for sprite sheet positioning.
virtual void draw(RenderTarget &target, real64 angle) const override
Render the sprite frame at an angle.
SpriteSheet sprite_sheet
Our attached sprite sheet object.
ObjectTypeInfo type() const override
Re-implements the IObject::type method.
Container class for deserialized sprite sheet data.