ManaPlus
layout.cpp
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2007-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #include "gui/widgets/layout.h"
25 
26 #include "debug.h"
27 
29  LayoutCell(),
30  mComputed(false)
31 {
32  getArray();
33  setPadding(6);
34 }
35 
36 void Layout::reflow(int &restrict nw, int &restrict nh)
37 {
38  if (!mComputed)
39  {
40  computeSizes();
41  mComputed = true;
42  }
43 
44  nw = (nw == 0 ? mSize[0] + 2 * mHPadding : nw);
45  nh = (nh == 0 ? mSize[1] + 2 * mVPadding : nh);
46  LayoutCell::reflow(0, 0, nw, nh);
47 }
void reflow(int nx, int ny, int nw, int nh)
Definition: layoutcell.cpp:64
LayoutCell & setPadding(int p)
Definition: layoutcell.h:60
int mSize[2]
Definition: layoutcell.h:196
int mHPadding
Definition: layoutcell.h:197
LayoutArray & getArray()
Definition: layoutcell.cpp:42
void computeSizes()
Definition: layoutcell.cpp:79
int mVPadding
Definition: layoutcell.h:198
void reflow(int &nW, int &nH)
Definition: layout.cpp:36
Layout()
Definition: layout.cpp:28
bool mComputed
Definition: layout.h:64
#define restrict
Definition: localconsts.h:165