OpenMoHAA
0.82.1
Loading...
Searching...
No Matches
cl_uigmbox.h
1
/*
2
===========================================================================
3
Copyright (C) 2015-2024 the OpenMoHAA team
4
5
This file is part of OpenMoHAA source code.
6
7
OpenMoHAA source code is free software; you can redistribute it
8
and/or modify it under the terms of the GNU General Public License as
9
published by the Free Software Foundation; either version 2 of the License,
10
or (at your option) any later version.
11
12
OpenMoHAA source code is distributed in the hope that it will be
13
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with OpenMoHAA source code; if not, write to the Free Software
19
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
===========================================================================
21
*/
22
23
#pragma once
24
25
static
constexpr
unsigned
int
GMBOX_ITEM_FLAG_BOLD = 1u;
26
27
class
UIGMBox :
public
UIWidget
28
{
29
struct
item_t {
30
str
string;
31
UColor
color;
32
UIFont
*font;
33
int
flags;
34
};
35
36
protected
:
37
item_t m_items[5];
38
int
m_numitems;
39
bool
m_reallyshown;
40
class
UIFont
*m_fontbold;
41
bool
m_boxmovingout;
42
boxstate_t m_boxstate;
43
int
m_boxtime;
44
int
m_movespeed;
45
int
m_iBeginDecay;
46
int
m_iEndDecay;
47
// Added in OPM
48
bool
m_drawoutline;
49
50
public
:
51
CLASS_PROTOTYPE(UIGMBox);
52
53
protected
:
54
void
VerifyBoxOut(
void
);
55
void
ChangeBoxState(boxstate_t
state
);
56
void
HandleBoxMoving(
void
);
57
void
PostMoveinEvent(
void
);
58
void
PostDecayEvent(
void
);
59
void
setShowState(
void
);
60
void
RemoveTopItem(
void
);
61
str
CalculateBreaks(
UIFont
*font,
str
text,
float
max_width);
62
float
PrintWrap(
UIFont
*font,
float
x,
float
y,
str
text);
63
float
DrawItem(item_t *in,
float
x,
float
y,
float
alpha);
64
65
public
:
66
UIGMBox();
67
68
void
Print(
const
char
*text);
69
void
OnSizeChanged(
Event
*ev);
70
void
Create(
const
UIRect2D
& rect,
const
UColor
& fore,
const
UColor
& back,
float
alpha);
71
void
MoveInEvent(
Event
*ev);
72
void
DecayEvent(
Event
*ev);
73
void
Draw(
void
)
override
;
74
void
setRealShow(
bool
b);
75
void
Clear(
void
);
76
};
Event
Definition
listener.h:246
UColor
Definition
ucolor.h:26
UIFont
Definition
uifont.h:40
UIRect2D
Definition
uirect2d.h:29
str
Definition
str.h:77
state
Definition
puff.c:88
code
client
cl_uigmbox.h
Generated by
1.13.2