~ubuntu-branches/ubuntu/trusty/manaplus/trusty-proposed

« back to all changes in this revision

Viewing changes to src/particle/textparticle.h

  • Committer: Package Import Robot
  • Author(s): Patrick Matthäi
  • Date: 2013-09-17 10:35:51 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20130917103551-az7p3nz9jgxwqjfn
Tags: 1.3.9.15-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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-2013  The ManaPlus Developers
 
6
 *
 
7
 *  This file is part of The ManaPlus Client.
 
8
 *
 
9
 *  This program is free software; you can redistribute it and/or modify
 
10
 *  it under the terms of the GNU General Public License as published by
 
11
 *  the Free Software Foundation; either version 2 of the License, or
 
12
 *  any later version.
 
13
 *
 
14
 *  This program is distributed in the hope that it will be useful,
 
15
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
 *  GNU General Public License for more details.
 
18
 *
 
19
 *  You should have received a copy of the GNU General Public License
 
20
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
21
 */
 
22
 
 
23
#ifndef PARTICLE_TEXTPARTICLE_H
 
24
#define PARTICLE_TEXTPARTICLE_H
 
25
 
 
26
#include "particle/particle.h"
 
27
 
 
28
class TextParticle final : public Particle
 
29
{
 
30
    public:
 
31
        /**
 
32
         * Constructor.
 
33
         */
 
34
        TextParticle(Map *const map, const std::string &text,
 
35
                     const gcn::Color *const color,
 
36
                     gcn::Font *const font, const bool outline = false);
 
37
 
 
38
        A_DELETE_COPY(TextParticle)
 
39
 
 
40
        /**
 
41
         * Draws the particle image.
 
42
         */
 
43
        virtual bool draw(Graphics *const graphics,
 
44
                          const int offsetX, const int offsetY) const override;
 
45
 
 
46
        // hack to improve text visibility
 
47
        virtual int getPixelY() const override A_WARN_UNUSED
 
48
        { return static_cast<int>(mPos.y + mPos.z); }
 
49
 
 
50
        // hack to improve text visibility (for sorting only)
 
51
        virtual int getSortPixelY() const override A_WARN_UNUSED
 
52
        { return static_cast<int>(mPos.y + mPos.z); }
 
53
 
 
54
    private:
 
55
        std::string mText;             /**< Text of the particle. */
 
56
        gcn::Font *mTextFont;          /**< Font used for drawing the text. */
 
57
        const gcn::Color *mColor;      /**< Color used for drawing the text. */
 
58
        int mTextWidth;
 
59
        bool mOutline;                 /**< Make the text better readable */
 
60
};
 
61
 
 
62
#endif  // PARTICLE_TEXTPARTICLE_H