mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-10 14:58:10 -05:00
Apply menu elements defaults
This commit is contained in:
21
src/ObjLoading/Parsing/Menu/Domain/CommonMenuTypes.cpp
Normal file
21
src/ObjLoading/Parsing/Menu/Domain/CommonMenuTypes.cpp
Normal file
@ -0,0 +1,21 @@
|
||||
#include "CommonMenuTypes.h"
|
||||
|
||||
using namespace menu;
|
||||
|
||||
CommonColor::CommonColor()
|
||||
: array{}
|
||||
{
|
||||
r = 0.0;
|
||||
g = 0.0;
|
||||
b = 0.0;
|
||||
a = 0.0;
|
||||
}
|
||||
|
||||
CommonColor::CommonColor(const double r, const double g, const double b, const double a)
|
||||
: array{}
|
||||
{
|
||||
this->r = r;
|
||||
this->g = g;
|
||||
this->b = b;
|
||||
this->a = a;
|
||||
}
|
@ -12,6 +12,9 @@ namespace menu
|
||||
double a;
|
||||
};
|
||||
double array[4];
|
||||
|
||||
CommonColor();
|
||||
CommonColor(double r, double g, double b, double a);
|
||||
};
|
||||
|
||||
struct CommonRect
|
||||
|
@ -61,10 +61,17 @@ namespace menu::global_scope_sequences
|
||||
});
|
||||
}
|
||||
|
||||
private:
|
||||
static void ApplyDefaults(CommonMenuDef& menu)
|
||||
{
|
||||
menu.m_fore_color = CommonColor(1.0, 1.0, 1.0, 1.0);
|
||||
}
|
||||
|
||||
protected:
|
||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override
|
||||
{
|
||||
auto newMenu = std::make_unique<CommonMenuDef>();
|
||||
ApplyDefaults(*newMenu);
|
||||
state->m_current_menu = newMenu.get();
|
||||
state->m_menus.emplace_back(std::move(newMenu));
|
||||
}
|
||||
|
@ -86,10 +86,17 @@ namespace menu::menu_scope_sequences
|
||||
});
|
||||
}
|
||||
|
||||
private:
|
||||
static void ApplyDefaults(CommonItemDef& item)
|
||||
{
|
||||
item.m_fore_color = CommonColor(1.0, 1.0, 1.0, 1.0);
|
||||
}
|
||||
|
||||
protected:
|
||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override
|
||||
{
|
||||
auto newItemDef = std::make_unique<CommonItemDef>();
|
||||
ApplyDefaults(*newItemDef);
|
||||
state->m_current_item = newItemDef.get();
|
||||
state->m_current_menu->m_items.emplace_back(std::move(newItemDef));
|
||||
}
|
||||
|
Reference in New Issue
Block a user