add testblock

This commit is contained in:
stubbfelnewpc
2020-05-06 00:07:20 +02:00
parent 6791244f22
commit 443f999d77
9 changed files with 141 additions and 35 deletions

View File

@@ -6,10 +6,8 @@
void draw_background(const PositionalProperties & positionals, const Color & background_color);
void draw_border(const PositionalProperties positionals, const Color & color, const LineWidth & border_line_width);
PositionalProperties move_down(const PositionalProperties & i, const PositionalProperties & p);
PositionalProperties move_right(const PositionalProperties & i, const PositionalProperties & p);
StackPanel::StackPanel(const PositionalProperties & p, const StackPanelStyleProperties & s, const DrawItemCallBackList & i, const MoveToNextItem & m) : positionals(p), style(s), itmes(i), move(m)
StackPanel::StackPanel(const StackPanelStyleProperties & s, const DrawItemCallBackList & i, const MoveToNextItem & m): style(s), itmes(i), move(m)
{
}
@@ -17,7 +15,7 @@ StackPanel::~StackPanel()
{
}
void StackPanel::draw() const
PositionalProperties StackPanel::draw(const PositionalProperties & positionals) const
{
auto border_line_width = style.border_line_width;
auto margin = style.margin;
@@ -32,7 +30,7 @@ void StackPanel::draw() const
positionals.height + 2 * (gap)
};
draw_background(outer, style.background_color);
return;
return outer;
}
PositionalProperties inner = {
@@ -47,10 +45,18 @@ void StackPanel::draw() const
auto last = callback(inner);
inner = move(inner, last);
}
auto out_distance = 2 * (gap + padding);
PositionalProperties outer = {
positionals.left,
positionals.top,
inner.width + out_distance,
inner.height + out_distance
};
if (border_line_width < 1)
{
return;
return outer;
}
PositionalProperties border_positionals = {
@@ -61,6 +67,7 @@ void StackPanel::draw() const
};
draw_border(border_positionals, style.border_line_color, border_line_width);
return outer;
}
PositionalProperties StackPanel::move_down(const PositionalProperties & i, const PositionalProperties & p)