GameApi
28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
Layout.hh
Go to the documentation of this file.
1
2
class
PercentageLine
:
public
Function
<int, int>
3
{
4
public
:
5
void
SetWidth
(
int
width) { m_width = width; }
6
void
SetCount
(
int
count) { m_percentage.resize(count); }
7
void
SetPercentage
(
int
item,
float
percentage)
8
{
9
m_percentage[item] = percentage;
10
}
11
public
:
12
int
Index
(
int
i)
const
13
{
14
return
m_percentages[i]*m_width;
15
}
16
private
:
17
int
m_width;
18
std::vector<float> m_percentages;
19
};
20
21
//
22
// Layout
23
//
24
//
25
class
Screen
:
public
Bitmap
<Color>
26
{
27
public
:
28
Screen
(
int
sx,
int
sy);
29
};
30
31
class
LayoutElem
;
32
33
class
Area
:
public
Bitmap
<Color>
34
{
35
public
:
36
Area
(
int
sx,
int
sy);
37
void
Reset
();
38
void
PushBack
(
const
LayoutElem
&
e
);
39
};
40
41
struct
Rect
42
{
43
float
x
,
y
,
width
,
height
;
44
};
45
46
bool
Inside
(
Rect
r,
Point2d
p)
47
{
48
if
(p.
x
< r.
x
)
return
false
;
49
if
(p.
y
< r.
y
)
return
false
;
50
if
(p.
x
>= r.
x
+r.
width
)
return
false
;
51
if
(p.
y
>= r.
y
+r.
height
)
return
false
;
52
return
true
;
53
}
54
55
class
CmdBuf
56
{
57
};
58
59
struct
ContentElem
60
{
61
ContinuousBitmap<Color>
*
bitmap
;
62
CmdBuf
*
cmdbuf
;
63
};
64
65
class
LayoutCmdBuf
:
public
CmdBuf
66
{
67
public
:
68
69
};
70
71
class
LayoutElem
72
{
73
public
:
74
virtual
Rect
GetRect
()
const
=0;
75
virtual
ContentElem
*
Bitmap
()
const
=0;
76
};
77
78
class
LayoutBitmap
:
public
ContinuousBitmap
<Color>
79
{
80
public
:
81
LayoutBitmap
(
float
sx,
float
sy) : sx(sx), sy(sy) { }
82
void
PushBack
(
LayoutElem
*elem) { vec.push_back(elem); }
83
virtual
float
SizeX
()
const
{
return
sx; }
84
virtual
float
SizeY
()
const
{
return
sy; }
85
virtual
Color
Map
(
float
x,
float
y)
const
86
{
87
Point2d
p = { x,y };
88
int
s = vec.size();
89
for
(
int
i=0;i<s;i++)
90
{
91
LayoutElem
*elem = vec[i];
92
Rect
r = elem->
GetRect
();
93
if
(
Inside
(r, p))
94
{
95
x-=r.
x
;
96
y-=r.
y
;
97
ContentElem
*celem = elem->
Bitmap
();
98
ContinuousBitmap<Color>
*bm = celem->
bitmap
;
99
return
bm->
Map
(x,y);
100
}
101
}
102
return
Color
(255,255,255,0);
103
}
104
~LayoutBitmap
()
105
{
106
int
s = vec.size();
107
for
(
int
i=0;i<s;i++)
108
{
109
LayoutElem
*elem = vec[i];
110
delete
elem;
111
}
112
}
113
private
:
114
float
sx,sy;
115
std::vector<LayoutElem*> vec;
116
};
e
Env e
Definition
Common.cc:2
Inside
bool Inside(Rect r, Point2d p)
Definition
Layout.hh:46
Area::Reset
void Reset()
Area::PushBack
void PushBack(const LayoutElem &e)
Area::Area
Area(int sx, int sy)
Bitmap
Definition
GraphI.hh:826
CmdBuf
Definition
Layout.hh:56
Color
Definition
VectorTools.hh:380
ContinuousBitmap
Definition
GraphI.hh:1164
ContinuousBitmap::Map
virtual C Map(float x, float y) const =0
Function
Definition
EffectI.hh:11
LayoutBitmap::PushBack
void PushBack(LayoutElem *elem)
Definition
Layout.hh:82
LayoutBitmap::SizeX
virtual float SizeX() const
Definition
Layout.hh:83
LayoutBitmap::SizeY
virtual float SizeY() const
Definition
Layout.hh:84
LayoutBitmap::~LayoutBitmap
~LayoutBitmap()
Definition
Layout.hh:104
LayoutBitmap::LayoutBitmap
LayoutBitmap(float sx, float sy)
Definition
Layout.hh:81
LayoutBitmap::Map
virtual Color Map(float x, float y) const
Definition
Layout.hh:85
LayoutCmdBuf
Definition
Layout.hh:66
LayoutElem
Definition
Layout.hh:72
LayoutElem::GetRect
virtual Rect GetRect() const =0
LayoutElem::Bitmap
virtual ContentElem * Bitmap() const =0
PercentageLine
Definition
Layout.hh:3
PercentageLine::SetPercentage
void SetPercentage(int item, float percentage)
Definition
Layout.hh:7
PercentageLine::SetCount
void SetCount(int count)
Definition
Layout.hh:6
PercentageLine::Index
int Index(int i) const
Definition
Layout.hh:12
PercentageLine::SetWidth
void SetWidth(int width)
Definition
Layout.hh:5
Rect
Definition
Graph.hh:63
Rect::x
float x
Definition
Layout.hh:43
Rect::height
float height
Definition
Layout.hh:43
Rect::y
float y
Definition
Layout.hh:43
Rect::width
float width
Definition
Layout.hh:43
Screen::Screen
Screen(int sx, int sy)
ContentElem
Definition
Layout.hh:60
ContentElem::bitmap
ContinuousBitmap< Color > * bitmap
Definition
Layout.hh:61
ContentElem::cmdbuf
CmdBuf * cmdbuf
Definition
Layout.hh:62
Point2d
Definition
VectorTools.hh:910
Point2d::x
float x
Definition
VectorTools.hh:911
Point2d::y
float y
Definition
VectorTools.hh:911
Layout.hh
Generated by
1.15.0