Bubba-3D  0.9.0
Awesome game engine!
ListLayout.h
1 /*
2  * This file is part of Bubba-3D.
3  *
4  * Bubba-3D is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Bubba-3D is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with Bubba-3D. If not, see http://www.gnu.org/licenses/.
16  */
17 #pragma once
18 
19 #include <Layout.h>
20 
24 class ListLayout : public Layout {
25 public:
26  enum Orientation {HORIZONTAL,VERTICAL};
27 
32  virtual void addChild(Layout* child);
33 
34  virtual Dimension getWidth();
35  virtual Dimension getHeight();
36 
41  ListLayout(Orientation orientation, Dimension width, Dimension height);
42  virtual ~ListLayout() = default;
43  virtual void getGLSquares(float layoutXPos,float layoutYPos, float layoutWidth,
44  float layoutHeight, std::map<std::string, IHudDrawable*> *map);
45 
46 protected:
47  Orientation orientation;
48  Dimension width,height;
49 
50  unsigned int wrapSize(Orientation orientation);
51  void checkChildCompatibility(Layout* child);
52 };
virtual void addChild(Layout *child)
Definition: ListLayout.cpp:105
ListLayout(Orientation orientation, Dimension width, Dimension height)
Definition: ListLayout.cpp:32
virtual void getGLSquares(float layoutXPos, float layoutYPos, float layoutWidth, float layoutHeight, std::map< std::string, IHudDrawable * > *map)
Definition: ListLayout.cpp:36
Definition: Layout.h:33