minor refactor

This commit is contained in:
MihailRis
2024-02-14 01:19:24 +03:00
parent c6bd52eed2
commit 2aa49c7470
8 changed files with 155 additions and 162 deletions
+24 -29
View File
@@ -17,15 +17,10 @@ class Batch2D;
class Assets;
namespace gui {
using boolsupplier = std::function<bool()>;
using boolconsumer = std::function<void(bool)>;
using wstringchecker = std::function<bool(const std::wstring&)>;
class Label : public UINode {
protected:
std::wstring text;
std::string fontName_;
std::string fontName;
wstringsupplier supplier = nullptr;
public:
Label(std::string text, std::string fontName="normal");
@@ -145,8 +140,8 @@ namespace gui {
protected:
glm::vec4 hoverColor {0.01f, 0.02f, 0.03f, 0.5f};
glm::vec4 trackColor {1.0f, 1.0f, 1.0f, 0.4f};
doublesupplier supplier_ = nullptr;
doubleconsumer consumer_ = nullptr;
doublesupplier supplier = nullptr;
doubleconsumer consumer = nullptr;
double min;
double max;
double value;
@@ -160,8 +155,8 @@ namespace gui {
int trackWidth=1);
virtual void draw(const GfxContext* pctx, Assets* assets) override;
virtual void supplier(doublesupplier supplier);
virtual void consumer(doubleconsumer consumer);
virtual void setSupplier(doublesupplier supplier);
virtual void setConsumer(doubleconsumer consumer);
virtual void mouseMove(GUI*, int x, int y) override;
};
@@ -170,9 +165,9 @@ namespace gui {
protected:
glm::vec4 hoverColor {0.05f, 0.1f, 0.2f, 0.75f};
glm::vec4 checkColor {1.0f, 1.0f, 1.0f, 0.4f};
boolsupplier supplier_ = nullptr;
boolconsumer consumer_ = nullptr;
bool checked_ = false;
boolsupplier supplier = nullptr;
boolconsumer consumer = nullptr;
bool checked = false;
public:
CheckBox(bool checked=false);
@@ -180,15 +175,15 @@ namespace gui {
virtual void mouseRelease(GUI*, int x, int y) override;
virtual void supplier(boolsupplier supplier);
virtual void consumer(boolconsumer consumer);
virtual void setSupplier(boolsupplier supplier);
virtual void setConsumer(boolconsumer consumer);
virtual CheckBox* checked(bool flag);
virtual CheckBox* setChecked(bool flag);
virtual bool checked() const {
if (supplier_)
return supplier_();
return checked_;
virtual bool isChecked() const {
if (supplier)
return supplier();
return checked;
}
};
@@ -198,22 +193,22 @@ namespace gui {
public:
FullCheckBox(std::wstring text, glm::vec2 size, bool checked=false);
virtual void supplier(boolsupplier supplier) {
checkbox->supplier(supplier);
virtual void setSupplier(boolsupplier supplier) {
checkbox->setSupplier(supplier);
}
virtual void consumer(boolconsumer consumer) {
checkbox->consumer(consumer);
virtual void setConsumer(boolconsumer consumer) {
checkbox->setConsumer(consumer);
}
virtual void checked(bool flag) {
checkbox->checked(flag);
virtual void setChecked(bool flag) {
checkbox->setChecked(flag);
}
virtual bool checked() const {
return checkbox->checked();
virtual bool isChecked() const {
return checkbox->isChecked();
}
};
}
#endif // FRONTEND_GUI_CONTROLS_H_
#endif // FRONTEND_GUI_CONTROLS_H_