mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-24 22:08:33 -05:00
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.
77 lines
1.5 KiB
C++
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 */
|