YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
LayoutBox.hpp
Go to the documentation of this file.
1
#ifndef YAPOG_LAYOUT_BOX_HPP
2
# define YAPOG_LAYOUT_BOX_HPP
3
4
# include "
YAPOG/Macros.hpp
"
5
# include "
YAPOG/Graphics/Gui/BaseWidget.hpp
"
6
# include "
YAPOG/Collection/Map.hpp
"
7
# include "
YAPOG/Graphics/Gui/Padding.hpp
"
8
9
namespace
yap
10
{
11
12
class
YAPOG_LIB
LayoutBox
:
public
BaseWidget
13
{
14
DISALLOW_COPY
(
LayoutBox
);
15
16
public
:
17
18
enum class
Align
19
{
20
LEFT
,
21
CENTER
,
22
RIGHT
,
23
TOP
,
24
BOTTOM
25
};
26
27
LayoutBox
();
28
LayoutBox
(
Padding
ext,
Padding
in,
bool
isExt);
29
virtual
~
LayoutBox
();
30
virtual
bool
IsFocusable ()
const
;
31
32
virtual
void
AddChild (
IWidget
& child, Align align = Align::CENTER);
33
void
RemoveChild (
IWidget
& child);
34
virtual
float
GetWidthItem () = 0;
35
void
SetExtensible (
bool
isExt);
36
bool
GetExtensible ();
37
void
SetAlign (Align global);
38
Align GetAlign ();
39
void
Clear ();
40
virtual
void
Refresh ();
41
const
Padding
& GetInnerPadding ()
const
;
42
uint
Count ()
const
;
43
44
protected
:
45
virtual
void
GeneratePosition () = 0;
46
47
virtual
Vector2
HandleGetSize ()
const
;
48
virtual
void
HandleMove (
const
Vector2
& offset);
49
virtual
void
HandleScale (
const
Vector2
& factor);
50
51
virtual
void
HandleDraw (
IDrawingContext
& context);
52
53
virtual
void
HandleShow (
bool
isVisible);
54
virtual
void
HandleChangeColor (
const
sf::Color& color);
55
56
virtual
void
HandleUpdate (
const
Time
& dt);
57
58
float
MaxSize (
char
coord);
59
60
virtual
bool
HandleOnPriorityEvent (
const
GuiEvent
& guiEvent);
61
//virtual bool HandleOnEvent (const GuiEvent& guiEvent);
62
63
collection::Map<IWidget*, Align>
items_
;
64
collection::Array<IWidget*>
focusables_
;
65
Padding
innerPad_
;
66
Padding
externPad_
;
67
Align
globalAlign_
;
68
69
Vector2
realSize_
;
70
uint
focusedChild_
;
71
72
};
73
}
// namespace yap
74
75
#endif
/* YAPOG_LAYOUT_BOX_HPP! */
YAPOG
include
YAPOG
Graphics
Gui
LayoutBox.hpp
Generated on Mon Sep 17 2012 22:24:24 for YAPOG by
1.8.1.1