Gamedev Framework (gf)
0.10.0
A C++14 framework for 2D games
Main Page
Documentation
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Functions
a
c
d
f
g
h
i
l
m
n
o
q
r
s
t
u
Variables
+
Typedefs
b
c
d
e
i
m
p
r
s
u
v
w
+
Enumerations
a
b
c
d
e
f
g
k
l
m
o
p
q
r
s
t
u
w
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
+
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
w
gf on github
#gf-devel on Freenode
/r/GamedevFramework on Reddit
include
gf
Sprite.h
1
/*
2
* Gamedev Framework (gf)
3
* Copyright (C) 2016-2018 Julien Bernard
4
*
5
* This software is provided 'as-is', without any express or implied
6
* warranty. In no event will the authors be held liable for any damages
7
* 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
11
* freely, subject to the following restrictions:
12
*
13
* 1. The origin of this software must not be misrepresented; you must not
14
* claim that you wrote the original software. If you use this software
15
* in a product, an acknowledgment in the product documentation would be
16
* appreciated but is not required.
17
* 2. Altered source versions must be plainly marked as such, and must not be
18
* misrepresented as being the original software.
19
* 3. This notice may not be removed or altered from any source distribution.
20
*
21
* Part of this file comes from SFML, with the same license:
22
* Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org)
23
*/
24
#ifndef GF_SPRITE_H
25
#define GF_SPRITE_H
26
27
#include "BasicSprite.h"
28
#include "Transformable.h"
29
#include "Portability.h"
30
#include "Vertex.h"
31
#include "VertexBuffer.h"
32
33
namespace
gf
{
34
#ifndef DOXYGEN_SHOULD_SKIP_THIS
35
inline
namespace
v1 {
36
#endif
37
class
Texture;
38
88
class
GF_API
Sprite
:
public
Transformable
{
89
public
:
95
Sprite
();
96
104
Sprite
(
const
Texture
& texture);
105
114
Sprite
(
const
Texture
& texture,
const
RectF
& textureRect);
115
134
void
setTexture(
const
Texture
& texture,
bool
resetRect =
false
);
135
146
const
Texture
&
getTexture
()
const
{
147
return
m_basic.getTexture();
148
}
149
157
bool
hasTexture
()
const
{
158
return
m_basic.hasTexture();
159
}
160
168
void
unsetTexture();
169
185
void
setTextureRect(
const
RectF
& rect);
186
194
const
RectF
&
getTextureRect
()
const
{
195
return
m_basic.getTextureRect();
196
}
197
211
void
setColor(
const
Color4f
& color);
212
220
const
Color4f
& getColor()
const
;
221
222
234
RectF
getLocalBounds()
const
;
235
246
void
setAnchor(
Anchor
anchor);
247
256
VertexBuffer
commitGeometry()
const
;
257
258
virtual
void
draw(
RenderTarget
& target,
const
RenderStates
& states)
override
;
259
260
private
:
261
BasicSprite
m_basic;
262
Vertex
m_vertices[4];
263
};
264
265
#ifndef DOXYGEN_SHOULD_SKIP_THIS
266
}
267
#endif
268
}
269
270
#endif // GF_SPRITE_H
gf::Transformable
Decomposed transform defined by a position, a rotation and a scale.
Definition:
Transformable.h:95
gf::RenderTarget
Base class for all render targets (window, texture, ...)
Definition:
RenderTarget.h:66
gf::RenderStates
Define the states used for drawing to a RenderTarget.
Definition:
RenderStates.h:82
gf::Vertex
A point associated with a color and a texture coordinate.
Definition:
Vertex.h:75
gf::Sprite
A drawable representation of a texture, with its own transformations, color, etc. ...
Definition:
Sprite.h:88
gf::VertexBuffer
Data in the graphics memory.
Definition:
VertexBuffer.h:70
gf::Texture
A texture for colored images.
Definition:
Texture.h:339
gf::Rect< float >
gf
The namespace for gf classes.
Definition:
Action.h:34
gf::Anchor
Anchor
An anchor of a box.
Definition:
Anchor.h:38
gf::Sprite::hasTexture
bool hasTexture() const
Check if a texture is set.
Definition:
Sprite.h:157
gf::Vector< float, 4 >
gf::BasicSprite
Definition:
BasicSprite.h:43
gf::Sprite::getTextureRect
const RectF & getTextureRect() const
Get the sub-rectangle of the texture displayed by the sprite.
Definition:
Sprite.h:194
gf::Sprite::getTexture
const Texture & getTexture() const
Get the source texture of the sprite.
Definition:
Sprite.h:146
Generated by
1.8.13