mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-02 02:48:51 -05:00
50 lines
1.2 KiB
C++
50 lines
1.2 KiB
C++
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include <module-gui/gui/Common.hpp>
|
|
|
|
namespace gui
|
|
{
|
|
class Alignment
|
|
{
|
|
public:
|
|
enum class Vertical
|
|
{
|
|
Top,
|
|
Center,
|
|
Bottom,
|
|
None,
|
|
};
|
|
|
|
enum class Horizontal
|
|
{
|
|
Right,
|
|
Center,
|
|
Left,
|
|
None,
|
|
};
|
|
|
|
Horizontal horizontal = Alignment::Horizontal::Left;
|
|
Vertical vertical = Alignment::Vertical::Top;
|
|
|
|
constexpr Alignment() = default;
|
|
|
|
constexpr Alignment(Horizontal valH, Vertical valV) : horizontal(valH), vertical(valV)
|
|
{}
|
|
|
|
constexpr Alignment(Horizontal valH) : horizontal(valH)
|
|
{}
|
|
|
|
constexpr Alignment(Vertical valV) : vertical(valV)
|
|
{}
|
|
|
|
[[nodiscard]] Position calculateHAlignment(Length parentSize, Length childSize) const;
|
|
[[nodiscard]] Position calculateVAlignment(Length parentSize, Length childSize) const;
|
|
|
|
bool operator==(const Alignment &alignment) const;
|
|
bool operator!=(const Alignment &alignment) const;
|
|
};
|
|
} /* namespace gui */
|