fix UINode enums naming

This commit is contained in:
MihailRis 2025-11-14 12:33:30 +03:00
parent c6b78dae3e
commit 7abe552e3c
9 changed files with 61 additions and 61 deletions

View File

@ -192,7 +192,7 @@ Hud::Hud(Engine& engine, LevelFrontend& frontend, Player& player)
gui.add(contentAccessPanel);
auto dplotter = std::make_shared<Plotter>(gui, 350, 250, 2000, 16);
dplotter->setGravity(Gravity::bottom_right);
dplotter->setGravity(Gravity::BOTTOM_RIGHT);
dplotter->setInteractive(false);
add(HudElement(HudElementMode::PERMANENT, nullptr, dplotter, true));

View File

@ -47,7 +47,7 @@ Button::Button(
setScrollable(false);
label = std::make_shared<Label>(gui, text);
label->setAlign(Align::center);
label->setAlign(Align::CENTER);
label->setSize(getContentSize());
label->setInteractive(false);
add(label);
@ -95,5 +95,5 @@ Align Button::getTextAlign() const {
if (label) {
return label->getAlign();
}
return Align::left;
return Align::LEFT;
}

View File

@ -230,14 +230,14 @@ void Label::draw(const DrawContext& pctx, const Assets& assets) {
glm::vec2 pos = calcPos();
switch (align) {
case Align::left: break;
case Align::center: pos.x += (size.x-newsize.x)*0.5f; break;
case Align::right: pos.x += size.x-newsize.x; break;
case Align::LEFT: break;
case Align::CENTER: pos.x += (size.x-newsize.x)*0.5f; break;
case Align::RIGHT: pos.x += size.x-newsize.x; break;
}
switch (valign) {
case Align::top: break;
case Align::center: pos.y += (size.y-newsize.y)*0.5f; break;
case Align::bottom: pos.y += size.y-newsize.y; break;
case Align::TOP: break;
case Align::CENTER: pos.y += (size.y-newsize.y)*0.5f; break;
case Align::BOTTOM: pos.y += size.y-newsize.y; break;
}
textYOffset = pos.y-calcPos().y;
totalLineHeight = lineHeight;

View File

@ -44,7 +44,7 @@ namespace gui {
float lineInterval = 1.5f;
/// @brief Vertical alignment (only when multiline is set to false)
Align valign = Align::center;
Align valign = Align::CENTER;
/// @brief Line separators and wrapping will be ignored if set to false
bool multiline = false;

View File

@ -216,7 +216,7 @@ TextBox::TextBox(GUI& gui, std::wstring placeholder, glm::vec4 padding)
lineNumbersLabel->setSize(
size - glm::vec2(padding.z + padding.x, padding.w + padding.y)
);
lineNumbersLabel->setVerticalAlign(Align::top);
lineNumbersLabel->setVerticalAlign(Align::TOP);
add(lineNumbersLabel);
setHoverColor(glm::vec4(0.05f, 0.1f, 0.2f, 0.75f));
@ -565,7 +565,7 @@ bool TextBox::isValid() const {
void TextBox::setMultiline(bool multiline) {
this->multiline = multiline;
label->setMultiline(multiline);
label->setVerticalAlign(multiline ? Align::top : Align::center);
label->setVerticalAlign(multiline ? Align::TOP : Align::CENTER);
}
bool TextBox::isMultiline() const {

View File

@ -334,7 +334,7 @@ void UINode::reposition() {
}
void UINode::setGravity(Gravity gravity) {
if (gravity == Gravity::none) {
if (gravity == Gravity::NONE) {
setPositionFunc(nullptr);
return;
}
@ -349,27 +349,27 @@ void UINode::setGravity(Gravity gravity) {
float x = 0.0f, y = 0.0f;
switch (gravity) {
case Gravity::top_left:
case Gravity::center_left:
case Gravity::bottom_left: x = margin.x; break;
case Gravity::top_center:
case Gravity::center_center:
case Gravity::bottom_center: x = (parentSize.x-size.x)/2.0f; break;
case Gravity::top_right:
case Gravity::center_right:
case Gravity::bottom_right: x = parentSize.x-size.x-margin.z; break;
case Gravity::TOP_LEFT:
case Gravity::CENTER_LEFT:
case Gravity::BOTTOM_LEFT: x = margin.x; break;
case Gravity::TOP_CENTER:
case Gravity::CENTER_CENTER:
case Gravity::BOTTOM_CENTER: x = (parentSize.x-size.x)/2.0f; break;
case Gravity::TOP_RIGHT:
case Gravity::CENTER_RIGHT:
case Gravity::BOTTOM_RIGHT: x = parentSize.x-size.x-margin.z; break;
default: break;
}
switch (gravity) {
case Gravity::top_left:
case Gravity::top_center:
case Gravity::top_right: y = margin.y; break;
case Gravity::center_left:
case Gravity::center_center:
case Gravity::center_right: y = (parentSize.y-size.y)/2.0f; break;
case Gravity::bottom_left:
case Gravity::bottom_center:
case Gravity::bottom_right: y = parentSize.y-size.y-margin.w; break;
case Gravity::TOP_LEFT:
case Gravity::TOP_CENTER:
case Gravity::TOP_RIGHT: y = margin.y; break;
case Gravity::CENTER_LEFT:
case Gravity::CENTER_CENTER:
case Gravity::CENTER_RIGHT: y = (parentSize.y-size.y)/2.0f; break;
case Gravity::BOTTOM_LEFT:
case Gravity::BOTTOM_CENTER:
case Gravity::BOTTOM_RIGHT: y = parentSize.y-size.y-margin.w; break;
default: break;
}
return glm::vec2(x, y);

View File

@ -50,24 +50,24 @@ namespace gui {
using StringCallbacksSet = CallbacksSet<GUI&, const std::string&>;
enum class Align {
left, center, right,
top=left, bottom=right,
LEFT, CENTER, RIGHT,
TOP=LEFT, BOTTOM=RIGHT,
};
enum class Gravity {
none,
NONE,
top_left,
top_center,
top_right,
TOP_LEFT,
TOP_CENTER,
TOP_RIGHT,
center_left,
center_center,
center_right,
CENTER_LEFT,
CENTER_CENTER,
CENTER_RIGHT,
bottom_left,
bottom_center,
bottom_right
BOTTOM_LEFT,
BOTTOM_CENTER,
BOTTOM_RIGHT
};
/// @brief Base abstract class for all UI elements
@ -112,7 +112,7 @@ namespace gui {
/// @brief z-index property specifies the stack order of an element
int zindex = 0;
/// @brief element content alignment (supported by Label only)
Align align = Align::left;
Align align = Align::LEFT;
/// @brief parent element
UINode* parent = nullptr;
/// @brief position supplier for the element (called on parent element size update)

View File

@ -101,7 +101,7 @@ void guiutil::confirm(
gui, glm::vec2(600, 200), glm::vec4(8.0f), 8.0f
);
panel->setGravity(Gravity::center_center);
panel->setGravity(Gravity::CENTER_CENTER);
container->add(panel);
panel->setColor(glm::vec4(0.0f, 0.0f, 0.0f, 0.5f));

View File

@ -30,31 +30,31 @@
using namespace gui;
static Align align_from_string(std::string_view str, Align def) {
if (str == "left") return Align::left;
if (str == "center") return Align::center;
if (str == "right") return Align::right;
if (str == "top") return Align::top;
if (str == "bottom") return Align::bottom;
if (str == "left") return Align::LEFT;
if (str == "center") return Align::CENTER;
if (str == "right") return Align::RIGHT;
if (str == "top") return Align::TOP;
if (str == "bottom") return Align::BOTTOM;
return def;
}
static Gravity gravity_from_string(const std::string& str) {
static const std::unordered_map<std::string, Gravity> gravity_names {
{"top-left", Gravity::top_left},
{"top-center", Gravity::top_center},
{"top-right", Gravity::top_right},
{"center-left", Gravity::center_left},
{"center-center", Gravity::center_center},
{"center-right", Gravity::center_right},
{"bottom-left", Gravity::bottom_left},
{"bottom-center", Gravity::bottom_center},
{"bottom-right", Gravity::bottom_right},
{"top-left", Gravity::TOP_LEFT},
{"top-center", Gravity::TOP_CENTER},
{"top-right", Gravity::TOP_RIGHT},
{"center-left", Gravity::CENTER_LEFT},
{"center-center", Gravity::CENTER_CENTER},
{"center-right", Gravity::CENTER_RIGHT},
{"bottom-left", Gravity::BOTTOM_LEFT},
{"bottom-center", Gravity::BOTTOM_CENTER},
{"bottom-right", Gravity::BOTTOM_RIGHT},
};
auto found = gravity_names.find(str);
if (found != gravity_names.end()) {
return found->second;
}
return Gravity::none;
return Gravity::NONE;
}
static runnable create_runnable(
@ -334,7 +334,7 @@ static std::shared_ptr<UINode> read_label(
if (element.has("multiline")) {
label->setMultiline(element.attr("multiline").asBool());
if (!element.has("valign")) {
label->setVerticalAlign(Align::top);
label->setVerticalAlign(Align::TOP);
}
}
if (element.has("text-wrap")) {