YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
BaseSprite.hpp
Go to the documentation of this file.
1
#ifndef YAPOG_SPRITEBASE_HPP
2
# define YAPOG_SPRITEBASE_HPP
3
4
# include "
YAPOG/Macros.hpp
"
5
# include "
YAPOG/Graphics/Game/Sprite/ISprite.hpp
"
6
# include "
YAPOG/Game/Factory/ILoadable.hpp
"
7
# include "
YAPOG/Graphics/SpatialInfo.hpp
"
8
9
namespace
yap
10
{
11
class
YAPOG_LIB
BaseSprite
:
public
ISprite
12
{
13
DISALLOW_ASSIGN
(
BaseSprite
);
14
15
public
:
16
17
BaseSprite
();
18
virtual
~
BaseSprite
();
19
22
virtual
const
Vector2
& GetPosition ()
const
;
23
virtual
const
Vector2
& GetSize ()
const
;
24
25
virtual
const
Vector2
& GetTopLeft ()
const
;
26
virtual
const
Vector2
& GetBottomRight ()
const
;
27
virtual
const
Vector2
& GetCenter ()
const
;
28
29
virtual
const
FloatRect
& GetRectangle ()
const
;
30
31
virtual
void
Move (
const
Vector2
& offset);
32
virtual
void
Scale (
const
Vector2
& factor);
33
34
virtual
void
SetPosition (
const
Vector2
& position);
35
virtual
void
SetSize (
const
Vector2
& size);
37
40
virtual
void
Draw (
IDrawingContext
& context);
41
42
virtual
bool
IsVisible ()
const
;
43
virtual
void
Show (
bool
isVisible);
44
45
virtual
void
ChangeColor (
const
sf::Color& color);
47
50
virtual
void
Update (
const
Time
& dt);
52
53
protected
:
54
55
BaseSprite
(
const
BaseSprite
& copy);
56
57
virtual
Vector2
HandleGetSize ()
const
;
58
59
virtual
void
HandleMove (
const
Vector2
& offset) = 0;
60
virtual
void
HandleScale (
const
Vector2
& factor) = 0;
61
62
virtual
void
HandleDraw (
IDrawingContext
& context) = 0;
63
64
virtual
void
HandleShow (
bool
isVisible) = 0;
65
virtual
void
HandleChangeColor (
const
sf::Color& color) = 0;
66
67
virtual
void
HandleUpdate (
const
Time
& dt) = 0;
68
69
private
:
70
71
static
const
bool
DEFAULT_VISIBLE_STATE
;
72
static
const
sf::Color
DEFAULT_COLOR
;
73
74
mutable
SpatialInfo
spatialInfo_
;
75
bool
isVisible_
;
76
sf::Color
color_
;
77
};
78
}
// namespace yap
79
80
#endif // YAPOG_SPRITEBASE_HPP
YAPOG
include
YAPOG
Graphics
Game
Sprite
BaseSprite.hpp
Generated on Mon Sep 17 2012 22:24:23 for YAPOG by
1.8.1.1