summaryrefslogtreecommitdiff
path: root/src/gui/widgets/tabs/debugwindowtabs.h
blob: 17722f6580fc6b3036f597daee0b09c0c1fd7fab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*
 *  The ManaPlus Client
 *  Copyright (C) 2004-2009  The Mana World Development Team
 *  Copyright (C) 2009-2010  The Mana Developers
 *  Copyright (C) 2011-2018  The ManaPlus Developers
 *
 *  This file is part of The ManaPlus Client.
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef GUI_WIDGETS_TABS_DEBUGWINDOWTABS_H
#define GUI_WIDGETS_TABS_DEBUGWINDOWTABS_H

#include "gui/widgets/container.h"

class Label;

class DebugTab notfinal : public Container
{
    friend class DebugWindow;

    public:
        A_DELETE_COPY(DebugTab)

        void logic() override
        {
        }

        void resize(const int x, const int y)
        { setDimension(Rect(0, 0, x, y)); }

    protected:
        explicit DebugTab(const Widget2 *const widget) :
            Container(widget)
        { setSelectable(false); }
};

class MapDebugTab final : public DebugTab
{
    friend class DebugWindow;

    public:
        explicit MapDebugTab(const Widget2 *const widget);

        A_DELETE_COPY(MapDebugTab)

        void logic() override final;

    private:
        Label *mMusicFileLabel A_NONNULLPOINTER;
        Label *mMapLabel A_NONNULLPOINTER;
        Label *mMapNameLabel A_NONNULLPOINTER;
        Label *mMinimapLabel A_NONNULLPOINTER;
        Label *mTileMouseLabel A_NONNULLPOINTER;
        Label *mParticleCountLabel A_NONNULLPOINTER;
        Label *mMapActorCountLabel A_NONNULLPOINTER;
#ifdef USE_OPENGL
        Label *mMapAtlasCountLabel A_NONNULLPOINTER;
#endif  // USE_OPENGL
        Label *mXYLabel A_NONNULLPOINTER;
        Label *mTexturesLabel A_NONNULLPOINTER;
        time_t mUpdateTime;
#ifdef DEBUG_DRAW_CALLS
        Label *mDrawCallsLabel A_NONNULLPOINTER;
#endif  // DEBUG_DRAW_CALLS
#ifdef DEBUG_BIND_TEXTURE
        Label *mBindsLabel A_NONNULLPOINTER;
#endif  // DEBUG_BIND_TEXTURE

        Label *mFPSLabel A_NONNULLPOINTER;
        Label *mLPSLabel A_NONNULLPOINTER;
        std::string mFPSText;
};

class TargetDebugTab final : public DebugTab
{
    friend class DebugWindow;

    public:
        explicit TargetDebugTab(const Widget2 *const widget);

        A_DELETE_COPY(TargetDebugTab)

        void logic() override final;

    private:
        Label *mTargetLabel A_NONNULLPOINTER;
        Label *mTargetIdLabel A_NONNULLPOINTER;
        Label *mTargetTypeLabel A_NONNULLPOINTER;
        Label *mTargetLevelLabel A_NONNULLPOINTER;
        Label *mTargetRaceLabel A_NONNULLPOINTER;
        Label *mTargetPartyLabel A_NONNULLPOINTER;
        Label *mTargetGuildLabel A_NONNULLPOINTER;
        Label *mAttackDelayLabel A_NONNULLPOINTER;
        Label *mMinHitLabel A_NONNULLPOINTER;
        Label *mMaxHitLabel A_NONNULLPOINTER;
        Label *mCriticalHitLabel A_NONNULLPOINTER;
        Label *mKarmaLabel A_NONNULLPOINTER;
        Label *mMannerLabel A_NONNULLPOINTER;
        Label *mEffectsLabel A_NONNULLPOINTER;
};

class NetDebugTab final : public DebugTab
{
    friend class DebugWindow;

    public:
        explicit NetDebugTab(const Widget2 *const widget);

        A_DELETE_COPY(NetDebugTab)

        void logic() override final;

    private:
        Label *mPingLabel A_NONNULLPOINTER;
        Label *mInPackets1Label A_NONNULLPOINTER;
        Label *mOutPackets1Label A_NONNULLPOINTER;
};

#endif  // GUI_WIDGETS_TABS_DEBUGWINDOWTABS_H