TrinityCore
CUFProfile.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef CUFProfile_h__
19#define CUFProfile_h__
20
21#include "Define.h"
22#include <bitset>
23#include <string>
24
26#define MAX_CUF_PROFILES 5
27
30{
58
60};
61
64{
65 CUFProfile() : ProfileName(), BoolOptions() // might want to change default value for options
66 {
67 FrameHeight = 0;
68 FrameWidth = 0;
69 SortBy = 0;
70 HealthText = 0;
71 TopPoint = 0;
72 BottomPoint = 0;
73 LeftPoint = 0;
74 TopOffset = 0;
75 BottomOffset = 0;
76 LeftOffset = 0;
77 }
78
79 CUFProfile(std::string const& name, uint16 frameHeight, uint16 frameWidth, uint8 sortBy, uint8 healthText, uint32 boolOptions,
80 uint8 topPoint, uint8 bottomPoint, uint8 leftPoint, uint16 topOffset, uint16 bottomOffset, uint16 leftOffset)
81 : ProfileName(name), BoolOptions(int(boolOptions))
82 {
83 FrameHeight = frameHeight;
84 FrameWidth = frameWidth;
85 SortBy = sortBy;
86 HealthText = healthText;
87 TopPoint = topPoint;
88 BottomPoint = bottomPoint;
89 LeftPoint = leftPoint;
90 TopOffset = topOffset;
91 BottomOffset = bottomOffset;
92 LeftOffset = leftOffset;
93 }
94
95 std::string ProfileName;
100
101 // LeftAlign, TopAlight, BottomAlign
105
106 // LeftOffset, TopOffset and BottomOffset
110
111 std::bitset<CUF_BOOL_OPTIONS_COUNT> BoolOptions;
112
113 // More fields can be added to BoolOptions without changing DB schema (up to 32, currently 27)
114};
115
116#endif // CUFProfile_h__
CUFBoolOptions
Bit index used in the many bool options of CompactUnitFrames.
Definition: CUFProfile.h:30
@ CUF_DISPLAY_NON_BOSS_DEBUFFS
Definition: CUFProfile.h:41
@ CUF_AUTO_ACTIVATE_40_PLAYERS
Definition: CUFProfile.h:51
@ CUF_DISPLAY_HEAL_PREDICTION
Definition: CUFProfile.h:34
@ CUF_AUTO_ACTIVATE_5_PLAYERS
Definition: CUFProfile.h:47
@ CUF_AUTO_ACTIVATE_3_PLAYERS
Definition: CUFProfile.h:46
@ CUF_DISPLAY_HORIZONTAL_GROUPS
Definition: CUFProfile.h:40
@ CUF_DYNAMIC_POSITION
Definition: CUFProfile.h:42
@ CUF_AUTO_ACTIVATE_PVE
Definition: CUFProfile.h:57
@ CUF_AUTO_ACTIVATE_SPEC_1
Definition: CUFProfile.h:52
@ CUF_USE_CLASS_COLORS
Definition: CUFProfile.h:39
@ CUF_AUTO_ACTIVATE_PVP
Definition: CUFProfile.h:56
@ CUF_DISPLAY_MAIN_TANK_AND_ASSIST
Definition: CUFProfile.h:33
@ CUF_DISPLAY_ONLY_DISPELLABLE_DEBUFFS
Definition: CUFProfile.h:36
@ CUF_AUTO_ACTIVATE_SPEC_2
Definition: CUFProfile.h:53
@ CUF_LOCKED
Definition: CUFProfile.h:43
@ CUF_AUTO_ACTIVATE_2_PLAYERS
Definition: CUFProfile.h:45
@ CUF_SHOWN
Definition: CUFProfile.h:44
@ CUF_AUTO_ACTIVATE_SPEC_3
Definition: CUFProfile.h:54
@ CUF_DISPLAY_POWER_BAR
Definition: CUFProfile.h:37
@ CUF_DISPLAY_AGGRO_HIGHLIGHT
Definition: CUFProfile.h:35
@ CUF_AUTO_ACTIVATE_25_PLAYERS
Definition: CUFProfile.h:50
@ CUF_KEEP_GROUPS_TOGETHER
Definition: CUFProfile.h:31
@ CUF_AUTO_ACTIVATE_SPEC_4
Definition: CUFProfile.h:55
@ CUF_BOOL_OPTIONS_COUNT
Definition: CUFProfile.h:59
@ CUF_DISPLAY_BORDER
Definition: CUFProfile.h:38
@ CUF_DISPLAY_PETS
Definition: CUFProfile.h:32
@ CUF_AUTO_ACTIVATE_10_PLAYERS
Definition: CUFProfile.h:48
@ CUF_AUTO_ACTIVATE_15_PLAYERS
Definition: CUFProfile.h:49
uint8_t uint8
Definition: Define.h:144
uint16_t uint16
Definition: Define.h:143
uint32_t uint32
Definition: Define.h:142
Represents a CompactUnitFrame profile.
Definition: CUFProfile.h:64
uint8 HealthText
Definition: CUFProfile.h:99
uint16 FrameWidth
Definition: CUFProfile.h:97
uint8 BottomPoint
Definition: CUFProfile.h:103
uint8 SortBy
Definition: CUFProfile.h:98
uint16 FrameHeight
Definition: CUFProfile.h:96
std::string ProfileName
Definition: CUFProfile.h:95
uint16 LeftOffset
Definition: CUFProfile.h:109
uint8 TopPoint
Definition: CUFProfile.h:102
uint16 BottomOffset
Definition: CUFProfile.h:108
uint8 LeftPoint
Definition: CUFProfile.h:104
std::bitset< CUF_BOOL_OPTIONS_COUNT > BoolOptions
Definition: CUFProfile.h:111
uint16 TopOffset
Definition: CUFProfile.h:107
CUFProfile(std::string const &name, uint16 frameHeight, uint16 frameWidth, uint8 sortBy, uint8 healthText, uint32 boolOptions, uint8 topPoint, uint8 bottomPoint, uint8 leftPoint, uint16 topOffset, uint16 bottomOffset, uint16 leftOffset)
Definition: CUFProfile.h:79