Files
MuditaOS/module-gui/gui/widgets/Margins.cpp
Marcin Smoczyński 486d21af0e [EGD-4288] refactor global data (#959)
Reduce firmware size by refactoring global data defined in public
headers.

Each global variable which require runtime initialization adds
initialization code to every translation unit which includes the header
where the variable is defined and declared.
2020-11-04 18:24:39 +01:00

77 lines
1.5 KiB
C++

// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
/*
* Margins.cpp
*
* Created on: 7 mar 2019
* Author: robert
*/
#include "Margins.hpp"
#include <core/BoundingBox.hpp>
namespace gui
{
short Margins::getSumInAxis(gui::Axis axis) const
{
switch (axis) {
case Axis::X:
return (left + right);
case Axis::Y:
return (top + bottom);
default:
return 0;
}
}
short Margins::getMarginInAxis(Axis axis, MarginInAxis pos) const
{
switch (axis) {
case Axis::X:
switch (pos) {
case MarginInAxis::First:
return left;
case MarginInAxis::Second:
return right;
default:
return 0;
}
case Axis::Y:
switch (pos) {
case MarginInAxis::First:
return top;
case MarginInAxis::Second:
return bottom;
default:
return 0;
}
default:
return 0;
}
}
bool Margins::operator==(const Margins &margins)
{
return !(left != margins.left || top != margins.top || right != margins.right || bottom != margins.bottom);
}
bool Margins::operator!=(const Margins &margins)
{
return (left != margins.left || top != margins.top || right != margins.right || bottom != margins.bottom);
}
} /* namespace gui */