Gamedev Framework (gf)
0.6.0
A C++11 framework for 2D games
include
gf
Logo.h
1
/*
2
* Gamedev Framework (gf)
3
* Copyright (C) 2016-2017 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
#
ifndef
GF_LOGO_H
22
#
define
GF_LOGO_H
23
24
#
include
"Portability.h"
25
#
include
"Texture.h"
26
#
include
"Transformable.h"
27
28
namespace
gf
{
29
#
ifndef
DOXYGEN_SHOULD_SKIP_THIS
30
inline
namespace
v1 {
31
#
endif
32
33
/**
34
* @ingroup graphics
35
* @brief The `gf` logo
36
*
37
* This class can show the `gf` logo without loading any font. It is loaded
38
* in a texture in the constructor so that you can use it wherever you want.
39
*
40
* If you use `gf` and like it, do not hesitate to show this logo in your
41
* game, e.g. on the splash screen. Of course, it is *not* mandatory.
42
*/
43
class
GF_API
Logo
:
public
Transformable
{
44
public
:
45
/**
46
* @brief Constructor
47
*/
48
Logo
();
49
50
/**
51
* @brief Get the local bounding rectangle of the entity
52
*
53
* The returned rectangle is in local coordinates, which means
54
* that it ignores the transformations (translation, rotation,
55
* scale, ...) that are applied to the entity.
56
* In other words, this function returns the bounds of the
57
* entity in the entity's coordinate system.
58
*
59
* @return Local bounding rectangle of the entity
60
*/
61
RectF
getLocalBounds
()
const
;
62
63
/**
64
* @brief Set the anchor origin of the entity
65
*
66
* Compute the origin of the entity based on the local bounds and
67
* the specified anchor. Internally, this function calls
68
* `Transformable::setOrigin()`.
69
*
70
* @param anchor The anchor of the entity
71
* @sa getLocalBounds(), Transformable::setOrigin()
72
*/
73
void
setAnchor
(
Anchor
anchor);
74
75
virtual
void
draw
(
RenderTarget
& target,
RenderStates
states)
override
;
76
77
private
:
78
Texture
m_texture;
79
};
80
81
#
ifndef
DOXYGEN_SHOULD_SKIP_THIS
82
}
83
#
endif
84
}
85
86
#
endif
// GF_LOGO_H
gf::Transformable
Decomposed transform defined by a position, a rotation and a scale.
Definition:
Transformable.h:95
gf::Logo::Logo
Logo()
Constructor.
gf::Logo::setAnchor
void setAnchor(Anchor anchor)
Set the anchor origin of the entity.
gf::Logo::getLocalBounds
RectF getLocalBounds() const
Get the local bounding rectangle of the entity.
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::Texture
A texture for colored images.
Definition:
Texture.h:339
gf
The namespace for gf classes.
Definition:
Action.h:34
gf::Logo
The gf logo.
Definition:
Logo.h:43
gf::Anchor
Anchor
An anchor of a box.
Definition:
Anchor.h:41
GF_API
#define GF_API
Definition:
Portability.h:35
gf::Logo::draw
virtual void draw(RenderTarget &target, RenderStates states) override
Draw the object to a render target.
Generated by
1.8.13