Batch #7862 by secret: 0 byte-identical, 3 confirmed by peer review. - fn_11023 UIBarGraph3::UIBarGraph3: logic confirmed by peer review - fn_11045 UIINT64BarGraph::UIINT64BarGraph: logic confirmed by peer review - fn_11066 UIPetInfoBarGraph::UIPetInfoBarGraph: logic confirmed by peer review Peer-reviewed-by: eAthena, pedrao Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
104 lines
2.3 KiB
C++
104 lines
2.3 KiB
C++
#ifndef RAGNAROK_SOURCE_UI_UIBARGRAPH_H
|
|
#define RAGNAROK_SOURCE_UI_UIBARGRAPH_H
|
|
|
|
#include "UI/Window/UIWindow.h"
|
|
|
|
#include <cstdint>
|
|
#include <functional>
|
|
|
|
struct UIButtonContext;
|
|
|
|
class UIBarGraph : public UIWindow {
|
|
public:
|
|
explicit UIBarGraph(UIWindowContext& context) : UIWindow(context, 0), m_value(0) {
|
|
}
|
|
|
|
void Paint() override;
|
|
|
|
void SetValue(float value);
|
|
|
|
/* 007C */ float m_value;
|
|
};
|
|
|
|
class UIBarGraph3 : public UIWindow {
|
|
public:
|
|
explicit UIBarGraph3(UIWindowContext& context);
|
|
~UIBarGraph3() override;
|
|
|
|
protected:
|
|
/* 007C */ const int* m_current;
|
|
/* 0080 */ const int* m_maximum;
|
|
};
|
|
|
|
class UIBarGraph4 : public UIBarGraph3 {
|
|
public:
|
|
void Paint() override;
|
|
void Slot28(int x, int y) override;
|
|
|
|
void SetValues(const int* current, const int* maximum);
|
|
|
|
protected:
|
|
/* 0084 */ bool m_plainColor;
|
|
UIButtonContext* m_controls;
|
|
};
|
|
|
|
class UIINT64BarGraph : public UIWindow {
|
|
public:
|
|
explicit UIINT64BarGraph(UIWindowContext& context);
|
|
|
|
void Paint() override;
|
|
void Slot28(int x, int y) override;
|
|
|
|
void SetValues(std::int64_t current, std::int64_t maximum);
|
|
void FillBackground(std::uint32_t color);
|
|
|
|
protected:
|
|
/* 007C */ unsigned char m_plainColor;
|
|
/* 0080 */ std::int64_t m_current;
|
|
/* 0088 */ std::int64_t m_maximum;
|
|
UIButtonContext* m_controls;
|
|
};
|
|
|
|
class UIPetInfoBarGraph : public UIWindow {
|
|
public:
|
|
explicit UIPetInfoBarGraph(UIWindowContext& context);
|
|
|
|
void Paint() override;
|
|
void SetValue(int value);
|
|
|
|
/* 007C */ int unknown_007C;
|
|
};
|
|
|
|
class UIBarGraphHomun : public UIWindow {
|
|
public:
|
|
explicit UIBarGraphHomun(UIWindowContext& context);
|
|
|
|
void Paint() override;
|
|
|
|
void SetValues(std::function<std::int64_t()> current, std::function<std::int64_t()> maximum);
|
|
|
|
protected:
|
|
/* 0080 */ std::function<std::int64_t()> m_current;
|
|
/* 00A8 */ std::function<std::int64_t()> m_maximum;
|
|
};
|
|
|
|
class UIBarGraphPlayer : public UIWindow {
|
|
public:
|
|
explicit UIBarGraphPlayer(UIWindowContext& context);
|
|
~UIBarGraphPlayer() override;
|
|
|
|
void Paint() override;
|
|
|
|
void SetValues(std::function<std::int64_t()> current, std::function<std::int64_t()> maximum);
|
|
|
|
protected:
|
|
/* 0080 */ std::function<std::int64_t()> m_current;
|
|
/* 00A8 */ std::function<std::int64_t()> m_maximum;
|
|
};
|
|
|
|
class UIBarGraphPlayerAP : public UIBarGraphPlayer {
|
|
public:
|
|
void Paint() override;
|
|
};
|
|
|
|
#endif
|