forked from ValveSoftware/halflife
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvgui_helpers.cpp
More file actions
45 lines (34 loc) · 1.06 KB
/
vgui_helpers.cpp
File metadata and controls
45 lines (34 loc) · 1.06 KB
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
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#include "vgui_helpers.h"
using namespace vgui;
void AlignPanel(Panel *pChild, Panel *pParent, int alignment)
{
int w, h, cw, ch;
pParent->getSize(w, h);
pChild->getSize(cw, ch);
int xCenter = (w - cw) / 2;
int yCenter = (h - ch) / 2;
if(alignment == Label::a_west)
pChild->setPos(0, yCenter);
else if(alignment == Label::a_northwest)
pChild->setPos(0,0);
else if(alignment == Label::a_north)
pChild->setPos(xCenter, 0);
else if(alignment == Label::a_northeast)
pChild->setPos(w - cw, 0);
else if(alignment == Label::a_east)
pChild->setPos(w - cw, yCenter);
else if(alignment == Label::a_southeast)
pChild->setPos(w - cw, h - ch);
else if(alignment == Label::a_south)
pChild->setPos(xCenter, h - ch);
else if(alignment == Label::a_southwest)
pChild->setPos(0, h - ch);
else if(alignment == Label::a_center)
pChild->setPos(xCenter, yCenter);
}