Introduced const

This commit is contained in:
Rebekah 2022-04-22 23:26:14 -04:00
parent 5f3c03a8e8
commit 6a74df3391
Signed by: oneechanhax
GPG Key ID: 183EB7902964DAE5
17 changed files with 65 additions and 54 deletions

View File

@ -44,11 +44,11 @@ public:
[[deprecated]] int mouse_dy;
bool fake_scroll = false;
glez::rgba GetColor();
glez::rgba GetColor() const;
bool gui_rainbow = true;
glez::rgba gui_color;
glez::font& GetFont();
const glez::font& GetFont() const;
virtual void Update() override;
virtual void OnKeyPress(CatKey key, bool repeat) override;

View File

@ -33,7 +33,7 @@ public:
ItemSublist(std::string title, List* list);
virtual void SetParent(IWidget*) override;
virtual bool IsHovered() override;
virtual bool IsHovered() const override;
virtual void Update() override;
virtual void Draw(int x, int y) override;
virtual void OnKeyPress(CatKey code, bool repeated) override;

View File

@ -34,7 +34,7 @@ public:
void Change(float amount);
virtual void Update() override;
virtual bool ConsumesKey(CatKey key) override;
virtual bool ConsumesKey(CatKey key) const override;
virtual void OnMousePress() override;
virtual void OnFocusLose() override;
virtual void OnKeyPress(CatKey key, bool repeat) override;

View File

@ -41,7 +41,7 @@ public:
public:
Background();
~Background();
virtual bool AlwaysVisible() override;
virtual bool AlwaysVisible() const override;
virtual void Draw(int x, int y) override;
virtual void Update() override;
void MakeParticle();

View File

@ -28,7 +28,7 @@ namespace ncc {
class Logo : public CBaseWidget {
public:
Logo(IWidget*);
virtual bool AlwaysVisible() override;
virtual bool AlwaysVisible() const override;
virtual void Draw(int x, int y) override;
virtual void OnMouseMove(std::pair<int, int>) override;
glez::texture texture;

View File

@ -37,7 +37,7 @@ public:
inline virtual void Draw(int x, int y) {};
virtual void DrawBounds(int x, int y);
inline virtual KeyValues* Props() {
inline virtual KeyValues* Props() const {
return m_KeyValues;
}
@ -53,19 +53,19 @@ public:
inline virtual void HandleCustomEvent(std::string_view event) {};
inline virtual bool ConsumesKey(CatKey key) { return false; }
inline virtual bool ConsumesKey(CatKey key) const { return false; }
inline virtual bool AlwaysVisible() { return this->always_visible; }
inline virtual bool AlwaysVisible() const { return this->always_visible; }
inline virtual void Show() { this->visible = true; }
inline virtual void Hide() { this->visible = false; }
virtual bool IsVisible();
virtual bool IsVisible() const;
virtual bool IsHovered();
virtual bool IsFocused();
virtual bool IsPressed();
virtual bool IsHovered() const;
virtual bool IsFocused() const;
virtual bool IsPressed() const;
inline virtual bool DoesStealFocus() { return true; }
inline virtual bool DoesStealFocus() const { return true; }
inline virtual void SetOffset(int x, int y) {
if (x >= 0)
@ -79,28 +79,29 @@ public:
if (y >= 0)
this->max_size.second = y;
}
inline virtual std::pair<int, int> GetOffset() {
inline virtual std::pair<int, int> GetOffset() const {
return this->offset;
}
inline virtual std::pair<int, int> GetSize() {
inline virtual std::pair<int, int> GetSize() const {
return this->size;
}
inline virtual std::pair<int, int> GetMaxSize() {
inline virtual std::pair<int, int> GetMaxSize() const {
return this->max_size;
}
inline virtual int GetZIndex() { return this->zindex; }
inline virtual int GetZIndex() const { return this->zindex; }
inline virtual void SetZIndex(int idx) { this->zindex = idx; }
inline virtual std::string GetTooltip() { return this->tooltip; }
inline virtual std::string GetTooltip() const { return this->tooltip; }
inline virtual PositionMode GetPositionMode() { return this->positionmode; }
inline virtual PositionMode GetPositionMode() const { return this->positionmode; }
inline virtual void SetPositionMode(PositionMode mode) { this->positionmode = mode; };
inline virtual IWidget* GetParent() { return m_pParent; }
inline virtual IWidget* GetParent() const { return m_pParent; }
inline virtual void SetParent(IWidget* parent) { m_pParent = parent; }
inline virtual std::string GetName() { return this->name; }
inline virtual std::string GetName() const { return this->name; }
virtual const Canvas* GetCanvas() const;
virtual Canvas* GetCanvas();
std::pair<int, int> AbsolutePosition();
std::pair<int, int> AbsolutePosition() const;
inline void SetSize(int x, int y) {
if (x >= 0)
this->size.first = x;

View File

@ -42,7 +42,7 @@ public:
virtual void Draw(int x, int y) = 0;
virtual void DrawBounds(int x, int y) = 0;
virtual KeyValues* Props() = 0;
virtual KeyValues* Props() const = 0;
virtual void OnMouseEnter() = 0;
virtual void OnMouseLeave() = 0;
@ -56,36 +56,37 @@ public:
virtual void HandleCustomEvent(std::string_view event) = 0;
virtual bool ConsumesKey(CatKey key) = 0;
virtual bool ConsumesKey(CatKey key) const = 0;
// Widget will be visible even when gui is turned off
virtual bool AlwaysVisible() = 0;
virtual bool AlwaysVisible() const = 0;
virtual void Show() = 0;
virtual void Hide() = 0;
virtual bool IsVisible() = 0;
virtual bool IsVisible() const = 0;
virtual bool IsHovered() = 0;
virtual bool IsFocused() = 0;
virtual bool IsPressed() = 0;
virtual bool IsHovered() const = 0;
virtual bool IsFocused() const = 0;
virtual bool IsPressed() const = 0;
virtual bool DoesStealFocus() = 0;
virtual bool DoesStealFocus() const = 0;
virtual void SetOffset(int x, int y) = 0;
virtual void SetMaxSize(int x, int y) = 0;
virtual void SetSize(int x, int y) = 0;
virtual std::pair<int, int> GetOffset() = 0;
virtual std::pair<int, int> GetSize() = 0;
virtual std::pair<int, int> GetMaxSize() = 0;
virtual int GetZIndex() = 0;
virtual std::pair<int, int> GetOffset() const = 0;
virtual std::pair<int, int> GetSize() const = 0;
virtual std::pair<int, int> GetMaxSize() const = 0;
virtual int GetZIndex() const = 0;
virtual void SetZIndex(int idx) = 0;
virtual std::string GetTooltip() = 0;
virtual std::string GetTooltip() const = 0;
virtual PositionMode GetPositionMode() = 0;
virtual PositionMode GetPositionMode() const = 0;
virtual void SetPositionMode(PositionMode) = 0;
virtual IWidget* GetParent() = 0;
virtual IWidget* GetParent() const = 0;
virtual void SetParent(IWidget*) = 0;
virtual std::string GetName() = 0;
virtual std::string GetName() const = 0;
virtual const Canvas* GetCanvas() const = 0;
virtual Canvas* GetCanvas() = 0;
};

View File

@ -41,7 +41,7 @@ public:
virtual void Draw(int x, int y) override;
virtual void OnMousePress() override;
virtual void OnFocusLose() override;
virtual bool ConsumesKey(CatKey key) override;
virtual bool ConsumesKey(CatKey key) const override;
bool capturing;
int value;
};

View File

@ -222,10 +222,10 @@ static glez::rgba RainbowCurrent() {
return FromHSL(fabs(sin(ctime.count())) * 360.0f, 0.85f, 0.9f);
}
glez::rgba Canvas::GetColor() {
glez::rgba Canvas::GetColor() const {
return gui_rainbow ? RainbowCurrent() : gui_color;
}
glez::font& Canvas::GetFont() {
const glez::font& Canvas::GetFont() const {
return this->font;
}
void Canvas::OnKeyPress(CatKey key, bool repeat) {

View File

@ -41,7 +41,7 @@ void ItemSublist::SetParent(IWidget* widget) {
listp->AddChild(list);
}
bool ItemSublist::IsHovered() {
bool ItemSublist::IsHovered() const {
List* parent = dynamic_cast<List*>(GetParent());
if (!parent)
throw std::runtime_error("Sublist parent can't be casted to List!");

View File

@ -60,7 +60,7 @@ void ItemVariable::Change(float amount) {
}
}
bool ItemVariable::ConsumesKey(CatKey key) {
bool ItemVariable::ConsumesKey(CatKey key) const {
if (capturing)
return true;
if (key == CatKey::CATKEY_M_WHEEL_DOWN || key == CatKey::CATKEY_M_WHEEL_UP || key == CatKey::CATKEY_MOUSE_1)

View File

@ -55,7 +55,7 @@ Background::Background()
this->zindex = -999;
}
bool Background::AlwaysVisible() {
bool Background::AlwaysVisible() const {
return (int)particles == 2;
}

View File

@ -35,7 +35,7 @@ Logo::Logo(IWidget* parent)
SetSize(576, 288);
}
bool Logo::AlwaysVisible() {
bool Logo::AlwaysVisible() const {
return (int)logo == 2;
}

View File

@ -30,7 +30,7 @@ public:
virtual void Draw(int x, int y) override;
virtual void HandleCustomEvent(std::string_view event) override;
inline virtual PositionMode GetPositionMode() override { return PositionMode::FLOATING; }
inline virtual PositionMode GetPositionMode() const override { return PositionMode::FLOATING; }
std::pair<int, int> padding;
};

View File

@ -33,15 +33,15 @@ void CBaseWidget::DrawBounds(int x, int y) {
glez::draw::rect_outline(x, y, size.first, size.second, *this->bounds_color, 1);
}
bool CBaseWidget::IsHovered() {
bool CBaseWidget::IsHovered() const {
return this->GetCanvas()->IsVisible() && this->hover;
}
bool CBaseWidget::IsFocused() {
bool CBaseWidget::IsFocused() const {
return this->GetCanvas()->IsVisible() && this->focus;
}
bool CBaseWidget::IsPressed() {
bool CBaseWidget::IsPressed() const {
return this->GetCanvas()->IsVisible() && this->press;
}
@ -66,7 +66,7 @@ void CBaseWidget::Update() {
}
}
std::pair<int, int> CBaseWidget::AbsolutePosition() {
std::pair<int, int> CBaseWidget::AbsolutePosition() const {
auto result = GetOffset();
auto parent = GetParent();
while (parent) {
@ -78,10 +78,19 @@ std::pair<int, int> CBaseWidget::AbsolutePosition() {
return result;
}
bool CBaseWidget::IsVisible() {
bool CBaseWidget::IsVisible() const {
return this->visible && (!this->GetParent() || GetParent()->IsVisible());
}
const Canvas* CBaseWidget::GetCanvas() const {
auto* ret = dynamic_cast<const Canvas*>(this);
if (ret)
return ret;
ret = this->GetParent()->GetCanvas();
assert(ret);
return ret;
}
Canvas* CBaseWidget::GetCanvas() {
auto* ret = dynamic_cast<Canvas*>(this);
if (ret)

View File

@ -72,7 +72,7 @@ void CKeyInput::OnFocusLose() {
this->capturing = false;
}
bool CKeyInput::ConsumesKey(CatKey key) {
bool CKeyInput::ConsumesKey(CatKey key) const {
return key != CatKey::CATKEY_MOUSE_1 && this->capturing;
}

View File

@ -24,7 +24,7 @@
#include "gui/canvas.hpp"
static std::string WordWrap(std::string& in, int max, glez::font& font) {
static std::string WordWrap(std::string& in, int max, const glez::font& font) {
std::stringstream result, line, wordstream, next;
std::string word;
char ch;