ManaPlus
src
particle
textparticle.h
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2006-2009 The Mana World Development Team
4
* Copyright (C) 2009-2010 The Mana Developers
5
* Copyright (C) 2011-2019 The ManaPlus Developers
6
* Copyright (C) 2019-2021 Andrei Karas
7
*
8
* This file is part of The ManaPlus Client.
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
24
#ifndef PARTICLE_TEXTPARTICLE_H
25
#define PARTICLE_TEXTPARTICLE_H
26
27
#include "
particle/particle.h
"
28
29
class
TextParticle
final
:
public
Particle
30
{
31
public
:
35
TextParticle
(
const
std::string &text,
36
const
Color
*
restrict
const
color,
37
Font
*
restrict
const
font,
38
const
bool
outline)
A_NONNULL
(3, 4);
39
40
A_DELETE_COPY
(
TextParticle
)
41
42
45
void
draw
(
Graphics
*
restrict
const
graphics,
46
const
int
offsetX,
47
const
int
offsetY)
const
48
restrict2
override
final
A_NONNULL
(2);
49
50
// hack to improve text visibility
51
int
getPixelY
() const
restrict2
override
final
A_WARN_UNUSED
52
{
return
CAST_S32
(
mPos
.
y
+
mPos
.
z
); }
53
54
// hack to improve text visibility (for sorting only)
55
int
getSortPixelY
() const
restrict2
override
final
A_WARN_UNUSED
56
{
return
CAST_S32
(
mPos
.
y
+
mPos
.
z
); }
57
58
private
:
60
std::string
mText
;
62
Font
*
restrict
mTextFont
A_NONNULLPOINTER
;
64
const
Color
*
restrict
mColor
A_NONNULLPOINTER
;
65
int
mTextWidth
;
67
bool
mOutline
;
68
};
69
70
#endif
// PARTICLE_TEXTPARTICLE_H
CAST_S32
#define CAST_S32
Definition:
cast.h:30
Actor::mPos
Vector mPos
Definition:
actor.h:140
Color
Definition:
color.h:76
Font
Definition:
font.h:90
Graphics
Definition:
graphics.h:109
Particle
Definition:
particle.h:46
TextParticle
Definition:
textparticle.h:30
TextParticle::mOutline
bool mOutline
Definition:
textparticle.h:67
TextParticle::mText
std::string mText
Definition:
textparticle.h:60
TextParticle::getPixelY
int getPixelY() const
Definition:
textparticle.h:51
TextParticle::draw
void draw(Graphics *const graphics, const int offsetX, const int offsetY) const
Definition:
textparticle.cpp:48
TextParticle::mTextFont
Font * mTextFont
Definition:
textparticle.h:62
TextParticle::mTextWidth
int mTextWidth
Definition:
textparticle.h:65
TextParticle::mColor
const Color * mColor
Definition:
textparticle.h:64
TextParticle::getSortPixelY
int getSortPixelY() const
Definition:
textparticle.h:55
TextParticle::TextParticle
TextParticle(const std::string &text, const Color *const color, Font *const font, const bool outline)
Definition:
textparticle.cpp:34
Vector::z
float z
Definition:
vector.h:209
Vector::y
float y
Definition:
vector.h:209
restrict
#define restrict
Definition:
localconsts.h:165
restrict2
#define restrict2
Definition:
localconsts.h:166
override
#define override
Definition:
localconsts.h:47
A_WARN_UNUSED
#define A_WARN_UNUSED
Definition:
localconsts.h:161
A_NONNULL
#define A_NONNULL(...)
Definition:
localconsts.h:168
A_NONNULLPOINTER
#define A_NONNULLPOINTER
Definition:
localconsts.h:266
final
#define final
Definition:
localconsts.h:46
A_DELETE_COPY
#define A_DELETE_COPY(func)
Definition:
localconsts.h:53
particle.h
Generated on Wed Mar 17 2021 19:19:09 for ManaPlus by
1.9.1