Loading...
Searching...
No Matches
Sprite.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_SPRITE_HPP
26#define SFML_SPRITE_HPP
27
29// Headers
34
35
36namespace sf
37{
38class Image;
39
44class SFML_API Sprite : public Drawable
45{
46public :
47
53
64 explicit Sprite(const Image& Img, const Vector2f& Position = Vector2f(0, 0), const Vector2f& Scale = Vector2f(1, 1), float Rotation = 0.f, const Color& Col = Color(255, 255, 255, 255));
65
72 void SetImage(const Image& Img);
73
81 void SetSubRect(const IntRect& SubRect);
82
91 void Resize(float Width, float Height);
92
100 void Resize(const Vector2f& Size);
101
108 void FlipX(bool Flipped);
109
116 void FlipY(bool Flipped);
117
124 const Image* GetImage() const;
125
132 const IntRect& GetSubRect() const;
133
141
152 Color GetPixel(unsigned int X, unsigned int Y) const;
153
154protected :
155
160 virtual void Render(RenderTarget& Target) const;
161
162private :
163
165 // Member data
167 ResourcePtr<Image> myImage;
168 IntRect mySubRect;
169 bool myIsFlippedX;
170 bool myIsFlippedY;
171};
172
173} // namespace sf
174
175
176#endif // SFML_SPRITE_HPP
#define SFML_API
Definition Config.hpp:114
Color is an utility class for manipulating 32-bits RGBA colors.
Definition Color.hpp:41
void Scale(float FactorX, float FactorY)
Scale the object (take 2 values).
Drawable(const Vector2f &Position=Vector2f(0, 0), const Vector2f &Scale=Vector2f(1, 1), float Rotation=0.f, const Color &Col=Color(255, 255, 255, 255))
Default constructor.
friend class RenderTarget
Definition Drawable.hpp:325
Image is the low-level class for loading and manipulating images.
Definition Image.hpp:47
Safe pointer to a T resource (inheriting from sf::Resource<T>), its pointer is automatically reseted ...
Definition Resource.hpp:117
Color GetPixel(unsigned int X, unsigned int Y) const
Get the color of a given pixel in the sprite (point is in local coordinates).
void FlipX(bool Flipped)
Flip the sprite horizontally.
void SetImage(const Image &Img)
Change the image of the sprite.
void Resize(float Width, float Height)
Resize the sprite (by changing its scale factors) (take 2 values).
void SetSubRect(const IntRect &SubRect)
Set the sub-rectangle of the sprite inside the source image.
const Image * GetImage() const
Get the source image of the sprite.
virtual void Render(RenderTarget &Target) const
/see Drawable::Render
Sprite(const Image &Img, const Vector2f &Position=Vector2f(0, 0), const Vector2f &Scale=Vector2f(1, 1), float Rotation=0.f, const Color &Col=Color(255, 255, 255, 255))
Construct the sprite from a source image.
const IntRect & GetSubRect() const
Get the sub-rectangle of the sprite inside the source image.
void Resize(const Vector2f &Size)
Resize the sprite (by changing its scale factors) (take a 2D vector).
void FlipY(bool Flipped)
Flip the sprite vertically.
Sprite()
Default constructor.
Vector2f GetSize() const
Get the sprite size.
Rect< int > IntRect
Definition Rect.hpp:121
Vector2< float > Vector2f
Definition Vector2.hpp:210