mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-06-19 14:00:55 -04:00
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
#include "Alignment.hpp"
|
|
|
|
namespace gui
|
|
{
|
|
|
|
Alignment::Alignment(Alignment::Horizontal valH, Alignment::Vertical valV) : horizontal(valH), vertical(valV)
|
|
{}
|
|
|
|
Alignment::Alignment(Alignment::Horizontal valH) : horizontal(valH)
|
|
{}
|
|
|
|
Alignment::Alignment(Alignment::Vertical valV) : vertical(valV)
|
|
{}
|
|
|
|
bool Alignment::operator==(const Alignment &alignment) const
|
|
{
|
|
return !(horizontal != alignment.horizontal || vertical != alignment.vertical);
|
|
}
|
|
|
|
bool Alignment::operator!=(const Alignment &alignment) const
|
|
{
|
|
return (horizontal != alignment.horizontal || vertical != alignment.vertical);
|
|
}
|
|
|
|
Position Alignment::calculateHAlignment(Length parentSize, Length childSize) const
|
|
{
|
|
switch (horizontal) {
|
|
case Alignment::Horizontal::Left:
|
|
return 0;
|
|
case (Alignment::Horizontal::Center):
|
|
return (parentSize - childSize) / 2;
|
|
case Alignment::Horizontal::Right:
|
|
return parentSize - childSize;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
Position Alignment::calculateVAlignment(Length parentSize, Length childSize) const
|
|
{
|
|
switch (vertical) {
|
|
case Alignment::Vertical::Top:
|
|
return 0;
|
|
case (Alignment::Vertical::Center):
|
|
return (parentSize - childSize) / 2;
|
|
case Alignment::Vertical::Bottom:
|
|
return parentSize - childSize;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
} /* namespace gui */
|