i6engine
1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
modules/graphics/components/MovableTextComponent.h
Go to the documentation of this file.
1
/*
2
* i6engine
3
* Copyright (2016) Daniel Bonrath, Michael Baer, All rights reserved.
4
*
5
* This file is part of i6engine; i6engine is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
9
*
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
25
#ifndef __I6ENGINE_MODULES_COMPONENTS_MOVABLETEXTCOMPONENT_H__
26
#define __I6ENGINE_MODULES_COMPONENTS_MOVABLETEXTCOMPONENT_H__
27
28
#include <cstdint>
29
#include <functional>
30
31
#include "
i6engine/utils/i6eThreadSafety.h
"
32
33
#include "
i6engine/math/i6eVector.h
"
34
35
namespace
i6e
{
36
namespace
modules {
37
38
class
GraphicsManager;
39
class
GraphicsNode;
40
class
MeshComponent;
41
class
MovableText;
42
49
class
MovableTextComponent
{
50
friend
class
GraphicsNode
;
51
52
private
:
56
GraphicsManager
* _manager;
57
61
GraphicsNode
* _parent;
62
66
MovableText
* _movableText;
67
68
int64_t _id;
69
70
double
_size;
71
72
std::function<double(const Vec3 &, const Vec3 &)> _autoScaleCallback;
73
77
MovableTextComponent
(
GraphicsManager
* manager,
GraphicsNode
* parent,
const
int64_t goid,
const
int64_t coid,
const
std::string & font,
const
std::string & text,
double
size,
const
Vec3
& colour);
78
82
~
MovableTextComponent
();
83
87
void
updateMovableText(
const
std::string & font,
const
std::string & text,
double
size,
const
Vec3
& colour);
88
89
void
setAutoScaleCallback(
const
std::function<
double
(
const
Vec3
&,
const
Vec3
&)> & callback);
90
91
void
Tick();
92
96
MovableTextComponent
(
const
MovableTextComponent
&) =
delete
;
97
101
const
MovableTextComponent
& operator=(
const
MovableTextComponent
&) =
delete
;
102
103
ASSERT_THREAD_SAFETY_HEADER
104
};
105
106
}
/* namespace modules */
107
}
/* namespace i6e */
108
109
#endif
/* __I6ENGINE_MODULES_COMPONENTS_MOVABLETEXTCOMPONENT_H__ */
110
i6e::modules::GraphicsNode
Saves all graphics-related data associated with one GameObject.
Definition:
GraphicsNode.h:61
i6e::modules::GraphicsManager
Definition:
GraphicsManager.h:58
i6e::api::components::MovableTextComponent
Definition:
ComponentConfig.h:75
i6e::modules::MovableTextComponent
Handles all light related functionality.
Definition:
modules/graphics/components/MovableTextComponent.h:49
i6e::math::i6eVector
Implements 3-dimensional vectors.
Definition:
i6eVector.h:48
ASSERT_THREAD_SAFETY_HEADER
#define ASSERT_THREAD_SAFETY_HEADER
Definition:
i6eThreadSafety.h:37
i6eVector.h
i6eThreadSafety.h
i6e
Definition:
AutoUpdater.h:34
i6e::modules::MovableText
Definition:
MovableText.h:37
Projekte
i6engine
libs
i6engine-modules
include
i6engine
modules
graphics
components
MovableTextComponent.h
Generated on Mon May 30 2016 17:33:31 for i6engine by
1.8.9.1