Render2 Static Class
This commit is contained in:
parent
1c4917fab4
commit
ed188b7303
@ -29,7 +29,7 @@ enum R2Screen {
|
||||
};
|
||||
|
||||
namespace RenderD7 {
|
||||
class R2Base {
|
||||
class R2 {
|
||||
public:
|
||||
struct R2Cmd {
|
||||
R7Vec2 pos; //< Position
|
||||
@ -48,48 +48,50 @@ class R2Base {
|
||||
std::string text; // Text
|
||||
RD7_SMART_CTOR(R2Cmd)
|
||||
};
|
||||
R2Base();
|
||||
~R2Base() = default;
|
||||
RD7_SMART_CTOR(R2Base)
|
||||
R2() = default;
|
||||
~R2() = default;
|
||||
|
||||
static void Init();
|
||||
|
||||
// Settings
|
||||
void SetFont(Font::Ref fnt);
|
||||
Font::Ref GetFont();
|
||||
void DefaultFont();
|
||||
void DrawNextLined();
|
||||
void OnScreen(R2Screen screen);
|
||||
R2Screen GetCurrentScreen();
|
||||
void SetTextSize(float szs);
|
||||
void DefaultTextSize();
|
||||
float GetTextSize();
|
||||
R7Vec2 GetCurrentScreenSize();
|
||||
static void SetFont(Font::Ref fnt);
|
||||
static Font::Ref GetFont();
|
||||
static void DefaultFont();
|
||||
static void DrawNextLined();
|
||||
static void OnScreen(R2Screen screen);
|
||||
static R2Screen GetCurrentScreen();
|
||||
static void SetTextSize(float szs);
|
||||
static void DefaultTextSize();
|
||||
static float GetTextSize();
|
||||
static R7Vec2 GetCurrentScreenSize();
|
||||
// Processing
|
||||
void Process();
|
||||
R7Vec2 GetTextDimensions(const std::string& text);
|
||||
std::string WrapText(const std ::string& in, int maxlen);
|
||||
std::string ShortText(const std::string& in, int maxlen);
|
||||
static void Process();
|
||||
static R7Vec2 GetTextDimensions(const std::string& text);
|
||||
static std::string WrapText(const std ::string& in, int maxlen);
|
||||
static std::string ShortText(const std::string& in, int maxlen);
|
||||
// Draw Functions
|
||||
void AddRect(R7Vec2 pos, R7Vec2 size, RD7Color clr);
|
||||
void AddRect(R7Vec2 pos, R7Vec2 size, unsigned int clr);
|
||||
void AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, RD7Color clr);
|
||||
void AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, unsigned int clr);
|
||||
void AddText(R7Vec2 pos, const std::string& text, RD7Color clr,
|
||||
RD7TextFlags flags = 0, R7Vec2 tmb = R7Vec2());
|
||||
void AddText(R7Vec2 pos, const std::string& text, unsigned int clr,
|
||||
RD7TextFlags flags = 0, R7Vec2 tmb = R7Vec2());
|
||||
void AddImage(R7Vec2 pos, Image::Ref img);
|
||||
void AddSprite(Sprite::Ref spr);
|
||||
void AddLine(R7Vec2 pos_a, R7Vec2 pos_b, RD7Color clr, int t = 1);
|
||||
void AddLine(R7Vec2 pos_a, R7Vec2 pos_b, unsigned int clr, int t = 1);
|
||||
static void AddRect(R7Vec2 pos, R7Vec2 size, RD7Color clr);
|
||||
static void AddRect(R7Vec2 pos, R7Vec2 size, unsigned int clr);
|
||||
static void AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, RD7Color clr);
|
||||
static void AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
unsigned int clr);
|
||||
static void AddText(R7Vec2 pos, const std::string& text, RD7Color clr,
|
||||
RD7TextFlags flags = 0, R7Vec2 tmb = R7Vec2());
|
||||
static void AddText(R7Vec2 pos, const std::string& text, unsigned int clr,
|
||||
RD7TextFlags flags = 0, R7Vec2 tmb = R7Vec2());
|
||||
static void AddImage(R7Vec2 pos, Image::Ref img);
|
||||
static void AddSprite(Sprite::Ref spr);
|
||||
static void AddLine(R7Vec2 pos_a, R7Vec2 pos_b, RD7Color clr, int t = 1);
|
||||
static void AddLine(R7Vec2 pos_a, R7Vec2 pos_b, unsigned int clr, int t = 1);
|
||||
|
||||
private:
|
||||
const float default_text_size = 0.5f;
|
||||
float text_size = 0.5;
|
||||
Font::Ref font;
|
||||
std::map<std::string, float> ts;
|
||||
std::map<std::string, int> mln;
|
||||
bool next_lined = false;
|
||||
std::vector<R2Cmd::Ref> commands;
|
||||
R2Screen current_screen = R2Screen_Bottom;
|
||||
static const float default_text_size;
|
||||
static float text_size;
|
||||
static Font::Ref font;
|
||||
static std::map<std::string, float> ts;
|
||||
static std::map<std::string, int> mln;
|
||||
static bool next_lined;
|
||||
static std::vector<R2Cmd::Ref> commands;
|
||||
static R2Screen current_screen;
|
||||
};
|
||||
} // namespace RenderD7
|
0
source/LI7.cpp
Normal file
0
source/LI7.cpp
Normal file
@ -26,10 +26,10 @@ namespace RenderD7 {
|
||||
float GetDeltaTime(); // Extern from renderd7.cpp
|
||||
|
||||
void ProcessMessages() {
|
||||
float tmp_txt = R2()->GetTextSize();
|
||||
R2()->DefaultTextSize();
|
||||
float tmp_txt = R2::GetTextSize();
|
||||
R2::DefaultTextSize();
|
||||
// Draw in ovl mode
|
||||
R2()->OnScreen(R2Screen_Top);
|
||||
R2::OnScreen(R2Screen_Top);
|
||||
float fol = anim_len - fade_outs;
|
||||
std::reverse(msg_lst.begin(), msg_lst.end());
|
||||
for (size_t i = 0; i < msg_lst.size(); i++) {
|
||||
@ -51,11 +51,11 @@ void ProcessMessages() {
|
||||
.toRGBA();
|
||||
auto tc =
|
||||
RenderD7::Color::RGBA(RD7Color_Text2).changeA(new_alpha).toRGBA();
|
||||
R2()->AddRect(pos, R7Vec2(150, 50), bgc);
|
||||
R2()->AddText(pos + R7Vec2(5, 1), msg_lst[i]->title, tc);
|
||||
R2()->AddText(pos + R7Vec2(5, 17), msg_lst[i]->message, tc);
|
||||
R2::AddRect(pos, R7Vec2(150, 50), bgc);
|
||||
R2::AddText(pos + R7Vec2(5, 1), msg_lst[i]->title, tc);
|
||||
R2::AddText(pos + R7Vec2(5, 17), msg_lst[i]->message, tc);
|
||||
if (rd7i_debugging)
|
||||
R2()->AddText(pos + R7Vec2(155, 1),
|
||||
R2::AddText(pos + R7Vec2(155, 1),
|
||||
std::to_string(msg_lst[i]->animationframe), tc);
|
||||
// Why Frameadd? because Message uses int as frame and
|
||||
// It seems that lower 0.5 will be rounded to 0
|
||||
@ -78,7 +78,7 @@ void ProcessMessages() {
|
||||
// ReReverse ?? lol
|
||||
// Cause otherwise the Toasts will swap
|
||||
std::reverse(msg_lst.begin(), msg_lst.end());
|
||||
R2()->SetTextSize(tmp_txt);
|
||||
R2::SetTextSize(tmp_txt);
|
||||
}
|
||||
|
||||
void PushMessage(const Message &msg) {
|
||||
|
@ -267,22 +267,22 @@ namespace RenderD7 {
|
||||
Ovl_Ftrace::Ovl_Ftrace(bool* is_enabled) { i_is_enabled = is_enabled; }
|
||||
|
||||
void Ovl_Ftrace::Draw(void) const {
|
||||
float tmp_txt = R2()->GetTextSize();
|
||||
R2()->DefaultTextSize();
|
||||
R2()->OnScreen(R2Screen_Top);
|
||||
float tmp_txt = R2::GetTextSize();
|
||||
R2::DefaultTextSize();
|
||||
R2::OnScreen(R2Screen_Top);
|
||||
RenderD7::Color::RGBA bg(RD7Color_Background);
|
||||
bg.changeA(150);
|
||||
R2()->AddRect(R7Vec2(0, 0), R7Vec2(400, 20), bg.toRGBA());
|
||||
R2::AddRect(R7Vec2(0, 0), R7Vec2(400, 20), bg.toRGBA());
|
||||
|
||||
std::vector<RenderD7::Ftrace::FTRes> dt;
|
||||
for (auto const& it : RenderD7::Ftrace::rd7_traces)
|
||||
if (it.second.is_ovl && dt.size() < 10) dt.push_back(it.second);
|
||||
for (size_t i = 0; i < (dt.size() < 10 ? dt.size() : 10); i++) {
|
||||
R2()->AddText(R7Vec2(5, 30 + i * 15), dt[i].func_name, RD7Color_Text);
|
||||
R2()->AddText(R7Vec2(295, 30 + i * 15), RenderD7::MsTimeFmt(dt[i].time_of),
|
||||
R2::AddText(R7Vec2(5, 30 + i * 15), dt[i].func_name, RD7Color_Text);
|
||||
R2::AddText(R7Vec2(295, 30 + i * 15), RenderD7::MsTimeFmt(dt[i].time_of),
|
||||
RD7Color_Text);
|
||||
}
|
||||
R2()->SetTextSize(tmp_txt);
|
||||
R2::SetTextSize(tmp_txt);
|
||||
}
|
||||
|
||||
void Ovl_Ftrace::Logic() {
|
||||
@ -299,12 +299,12 @@ Ovl_Metrik::Ovl_Metrik(bool* is_enabled, bool* screen, uint32_t* mt_color,
|
||||
}
|
||||
|
||||
void Ovl_Metrik::Draw(void) const {
|
||||
float tmp_txt = R2()->GetTextSize();
|
||||
R2()->DefaultTextSize();
|
||||
R2()->OnScreen(i_screen[0] ? R2Screen_Bottom : R2Screen_Top);
|
||||
float tmp_txt = R2::GetTextSize();
|
||||
R2::DefaultTextSize();
|
||||
R2::OnScreen(i_screen[0] ? R2Screen_Bottom : R2Screen_Top);
|
||||
std::string info =
|
||||
"RenderD7 " + std::string(RENDERD7VSTRING) + " Debug Overlay";
|
||||
float dim_y = R2()->GetTextDimensions(info).y;
|
||||
float dim_y = R2::GetTextDimensions(info).y;
|
||||
float infoy = 240 - dim_y;
|
||||
mt_fps = "FPS: " + RenderD7::GetFramerate();
|
||||
if (rd7i_idb_running) mt_fps += " IDB -> ON";
|
||||
@ -328,49 +328,49 @@ void Ovl_Metrik::Draw(void) const {
|
||||
" | " +
|
||||
RenderD7::FormatBytes(RenderD7::Memory::GetTotalAllocated()) +
|
||||
" | " + RenderD7::FormatBytes(RenderD7::Memory::GetTotalFreed());
|
||||
R2()->AddRect(R7Vec2(0, 0), R2()->GetTextDimensions(mt_fps),
|
||||
R2::AddRect(R7Vec2(0, 0), R2::GetTextDimensions(mt_fps),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddRect(R7Vec2(0, 50), R2()->GetTextDimensions(mt_cpu),
|
||||
R2::AddRect(R7Vec2(0, 50), R2::GetTextDimensions(mt_cpu),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddRect(R7Vec2(0, 50 + dim_y * 1), R2()->GetTextDimensions(mt_gpu),
|
||||
R2::AddRect(R7Vec2(0, 50 + dim_y * 1), R2::GetTextDimensions(mt_gpu),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddRect(R7Vec2(0, 50 + dim_y * 2), R2()->GetTextDimensions(mt_cmd),
|
||||
R2::AddRect(R7Vec2(0, 50 + dim_y * 2), R2::GetTextDimensions(mt_cmd),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddRect(R7Vec2(0, 50 + dim_y * 3), R2()->GetTextDimensions(mt_lfr),
|
||||
R2::AddRect(R7Vec2(0, 50 + dim_y * 3), R2::GetTextDimensions(mt_lfr),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddRect(R7Vec2(0, 50 + dim_y * 4), R2()->GetTextDimensions(mt_tbs),
|
||||
R2::AddRect(R7Vec2(0, 50 + dim_y * 4), R2::GetTextDimensions(mt_tbs),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
if (rd7i_enable_memtrack)
|
||||
R2()->AddRect(R7Vec2(0, 50 + dim_y * 5), R2()->GetTextDimensions(mt_mem),
|
||||
R2::AddRect(R7Vec2(0, 50 + dim_y * 5), R2::GetTextDimensions(mt_mem),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddRect(R7Vec2(0, infoy), R2()->GetTextDimensions(info),
|
||||
R2::AddRect(R7Vec2(0, infoy), R2::GetTextDimensions(info),
|
||||
(unsigned int)i_mt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, 0), mt_fps, (unsigned int)i_txt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, 50), mt_cpu, (unsigned int)i_txt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, 50 + dim_y * 1), mt_gpu,
|
||||
R2::AddText(R7Vec2(0, 0), mt_fps, (unsigned int)i_txt_color[0]);
|
||||
R2::AddText(R7Vec2(0, 50), mt_cpu, (unsigned int)i_txt_color[0]);
|
||||
R2::AddText(R7Vec2(0, 50 + dim_y * 1), mt_gpu,
|
||||
(unsigned int)i_txt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, 50 + dim_y * 2), mt_cmd,
|
||||
R2::AddText(R7Vec2(0, 50 + dim_y * 2), mt_cmd,
|
||||
(unsigned int)i_txt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, 50 + dim_y * 3), mt_lfr,
|
||||
R2::AddText(R7Vec2(0, 50 + dim_y * 3), mt_lfr,
|
||||
(unsigned int)i_txt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, 50 + dim_y * 4), mt_tbs,
|
||||
R2::AddText(R7Vec2(0, 50 + dim_y * 4), mt_tbs,
|
||||
(unsigned int)i_txt_color[0]);
|
||||
if (rd7i_enable_memtrack)
|
||||
R2()->AddText(R7Vec2(0, 50 + dim_y * 5), mt_mem,
|
||||
R2::AddText(R7Vec2(0, 50 + dim_y * 5), mt_mem,
|
||||
(unsigned int)i_txt_color[0]);
|
||||
R2()->AddText(R7Vec2(0, infoy), info, (unsigned int)i_txt_color[0]);
|
||||
R2::AddText(R7Vec2(0, infoy), info, (unsigned int)i_txt_color[0]);
|
||||
|
||||
// Force Bottom (Debug Touchpos)
|
||||
R2()->OnScreen(R2Screen_Bottom);
|
||||
R2::OnScreen(R2Screen_Bottom);
|
||||
if (Hid::IsEvent("touch", Hid::Held)) {
|
||||
R2()->AddLine(R7Vec2(Hid::GetTouchPosition().x, 0),
|
||||
R2::AddLine(R7Vec2(Hid::GetTouchPosition().x, 0),
|
||||
R7Vec2(Hid::GetTouchPosition().x, 240),
|
||||
RenderD7::Color::Hex("#ff0000"));
|
||||
R2()->AddLine(R7Vec2(0, Hid::GetTouchPosition().y),
|
||||
R2::AddLine(R7Vec2(0, Hid::GetTouchPosition().y),
|
||||
R7Vec2(320, Hid::GetTouchPosition().y),
|
||||
RenderD7::Color::Hex("#ff0000"));
|
||||
}
|
||||
R2()->SetTextSize(tmp_txt);
|
||||
R2::SetTextSize(tmp_txt);
|
||||
}
|
||||
|
||||
void Ovl_Metrik::Logic() {
|
||||
@ -396,8 +396,8 @@ Ovl_Keyboard::~Ovl_Keyboard() {
|
||||
}
|
||||
|
||||
void Ovl_Keyboard::Draw(void) const {
|
||||
float tmp_txt = R2()->GetTextSize();
|
||||
R2()->DefaultTextSize();
|
||||
float tmp_txt = R2::GetTextSize();
|
||||
R2::DefaultTextSize();
|
||||
if (ft3 > 5) RenderD7::Hid::Unlock();
|
||||
auto key_table =
|
||||
(type == RD7Keyboard_Numpad) ? keyboard_layout_num : keyboard_layout;
|
||||
@ -405,20 +405,20 @@ void Ovl_Keyboard::Draw(void) const {
|
||||
key_table = keyboard_layout_caps;
|
||||
else if (mode == 2)
|
||||
key_table = keyboard_layout_shift;
|
||||
R2()->OnScreen(R2Screen_Top);
|
||||
R2()->AddRect(R7Vec2(0, 0), R7Vec2(400, 240),
|
||||
R2::OnScreen(R2Screen_Top);
|
||||
R2::AddRect(R7Vec2(0, 0), R7Vec2(400, 240),
|
||||
RenderD7::Color::RGBA(RD7Color_FrameBg).changeA(150).toRGBA());
|
||||
R2()->OnScreen(R2Screen_Bottom);
|
||||
R2()->AddRect(R7Vec2(0, 0), R7Vec2(320, 112),
|
||||
R2::OnScreen(R2Screen_Bottom);
|
||||
R2::AddRect(R7Vec2(0, 0), R7Vec2(320, 112),
|
||||
RenderD7::Color::RGBA(RD7Color_FrameBg).changeA(150).toRGBA());
|
||||
R2()->AddRect(R7Vec2(0, 112), R7Vec2(320, 128), RD7Color_FrameBg);
|
||||
R2()->AddRect(R7Vec2(0, 112), R7Vec2(320, 20), RD7Color_Header);
|
||||
R2()->AddText(R7Vec2(5, 114), "> " + *typed_text,
|
||||
R2::AddRect(R7Vec2(0, 112), R7Vec2(320, 128), RD7Color_FrameBg);
|
||||
R2::AddRect(R7Vec2(0, 112), R7Vec2(320, 20), RD7Color_Header);
|
||||
R2::AddText(R7Vec2(5, 114), "> " + *typed_text,
|
||||
RenderD7::ThemeActive()->AutoText(RD7Color_Header));
|
||||
for (auto const& it : key_table) {
|
||||
R7Vec2 szs = it.size;
|
||||
R7Vec2 pos = it.pos;
|
||||
R7Vec2 txtdim = R2()->GetTextDimensions(it.disp);
|
||||
R7Vec2 txtdim = R2::GetTextDimensions(it.disp);
|
||||
RD7Color btn = RD7Color_Button;
|
||||
if (RenderD7::Hid::IsEvent("cancel", RenderD7::Hid::Up)) {
|
||||
RenderD7::Hid::Clear();
|
||||
@ -455,11 +455,11 @@ void Ovl_Keyboard::Draw(void) const {
|
||||
}
|
||||
R7Vec2 txtpos = R7Vec2(pos.x + szs.x * 0.5 - txtdim.x * 0.5,
|
||||
pos.y + szs.y * 0.5 - txtdim.y * 0.5);
|
||||
R2()->AddRect(pos, szs, btn);
|
||||
R2()->AddText(txtpos, it.disp, RenderD7::ThemeActive()->AutoText(btn));
|
||||
R2::AddRect(pos, szs, btn);
|
||||
R2::AddText(txtpos, it.disp, RenderD7::ThemeActive()->AutoText(btn));
|
||||
}
|
||||
if (ft3 > 5) RenderD7::Hid::Lock();
|
||||
R2()->SetTextSize(tmp_txt);
|
||||
R2::SetTextSize(tmp_txt);
|
||||
}
|
||||
|
||||
void Ovl_Keyboard::Logic() {
|
||||
|
@ -4,42 +4,51 @@
|
||||
#include <renderd7/internal_db.hpp>
|
||||
|
||||
namespace RenderD7 {
|
||||
R2Base::R2Base() { this->font = Font::New(); }
|
||||
const float R2::default_text_size = 0.5f;
|
||||
float R2::text_size = 0.5;
|
||||
Font::Ref R2::font;
|
||||
std::map<std::string, float> R2::ts;
|
||||
std::map<std::string, int> R2::mln;
|
||||
bool R2::next_lined = false;
|
||||
std::vector<R2::R2Cmd::Ref> R2::commands;
|
||||
R2Screen R2::current_screen = R2Screen_Bottom;
|
||||
|
||||
void R2Base::SetFont(Font::Ref fnt) {
|
||||
void R2::Init() { R2::font = Font::New(); }
|
||||
|
||||
void R2::SetFont(Font::Ref fnt) {
|
||||
if (!fnt) return;
|
||||
this->font = fnt;
|
||||
R2::font = fnt;
|
||||
}
|
||||
|
||||
Font::Ref R2Base::GetFont() { return this->font; }
|
||||
Font::Ref R2::GetFont() { return R2::font; }
|
||||
|
||||
void R2Base::DefaultFont() { this->font->Unload(); }
|
||||
void R2::DefaultFont() { R2::font->Unload(); }
|
||||
|
||||
void R2Base::DrawNextLined() { this->next_lined = true; }
|
||||
void R2::DrawNextLined() { R2::next_lined = true; }
|
||||
|
||||
void R2Base::OnScreen(R2Screen screen) {
|
||||
void R2::OnScreen(R2Screen screen) {
|
||||
if (screen < 0 || screen > R2Screen_Top) return;
|
||||
this->current_screen = screen;
|
||||
R2::current_screen = screen;
|
||||
}
|
||||
|
||||
void R2Base::SetTextSize(float szs) { text_size = szs; }
|
||||
void R2::SetTextSize(float szs) { text_size = szs; }
|
||||
|
||||
void R2Base::DefaultTextSize() { text_size = default_text_size; }
|
||||
void R2::DefaultTextSize() { text_size = R2::default_text_size; }
|
||||
|
||||
float R2Base::GetTextSize() { return text_size; }
|
||||
float R2::GetTextSize() { return text_size; }
|
||||
|
||||
R2Screen R2Base::GetCurrentScreen() { return current_screen; }
|
||||
R2Screen R2::GetCurrentScreen() { return current_screen; }
|
||||
|
||||
R7Vec2 R2Base::GetTextDimensions(const std::string& text) {
|
||||
R7Vec2 R2::GetTextDimensions(const std::string& text) {
|
||||
C2D_TextBufClear(rd7i_d2_dimbuf);
|
||||
float w = 0, h = 0;
|
||||
C2D_Text c2dtext;
|
||||
C2D_TextFontParse(&c2dtext, font->Ptr(), rd7i_d2_dimbuf, text.c_str());
|
||||
C2D_TextGetDimensions(&c2dtext, this->text_size, this->text_size, &w, &h);
|
||||
C2D_TextGetDimensions(&c2dtext, R2::text_size, R2::text_size, &w, &h);
|
||||
return R7Vec2(w, h);
|
||||
}
|
||||
|
||||
std::string R2Base::WrapText(const std ::string& in, int maxlen) {
|
||||
std::string R2::WrapText(const std ::string& in, int maxlen) {
|
||||
std::string out;
|
||||
std::string line;
|
||||
int line_x = 0;
|
||||
@ -47,7 +56,7 @@ std::string R2Base::WrapText(const std ::string& in, int maxlen) {
|
||||
std::string temp;
|
||||
|
||||
while (istream >> temp) {
|
||||
R7Vec2 dim = this->GetTextDimensions(line + temp);
|
||||
R7Vec2 dim = R2::GetTextDimensions(line + temp);
|
||||
if (line_x + dim.x <= maxlen) {
|
||||
line += temp + ' ';
|
||||
line_x += dim.x;
|
||||
@ -61,8 +70,8 @@ std::string R2Base::WrapText(const std ::string& in, int maxlen) {
|
||||
return out;
|
||||
}
|
||||
|
||||
std::string R2Base::ShortText(const std::string& in, int maxlen) {
|
||||
auto textdim = this->GetTextDimensions(in);
|
||||
std::string R2::ShortText(const std::string& in, int maxlen) {
|
||||
auto textdim = R2::GetTextDimensions(in);
|
||||
if (textdim.x < (float)maxlen) return in;
|
||||
std::string ft = "";
|
||||
std::string worker = in;
|
||||
@ -71,7 +80,7 @@ std::string R2Base::ShortText(const std::string& in, int maxlen) {
|
||||
worker = in.substr(0, in.find_last_of('.'));
|
||||
}
|
||||
|
||||
maxlen -= this->GetTextDimensions(ft).x - this->GetTextDimensions("(...)").x;
|
||||
maxlen -= R2::GetTextDimensions(ft).x - R2::GetTextDimensions("(...)").x;
|
||||
float len_mod = (float)maxlen / textdim.x;
|
||||
int pos = (in.length() * len_mod) / rd7_draw2_tsm;
|
||||
std::string out;
|
||||
@ -80,7 +89,7 @@ std::string R2Base::ShortText(const std::string& in, int maxlen) {
|
||||
|
||||
for (size_t i = pos; i < worker.length(); i++) {
|
||||
out += worker[i];
|
||||
if (this->GetTextDimensions(out + "(...)" + ft).x > (float)maxlen) {
|
||||
if (R2::GetTextDimensions(out + "(...)" + ft).x > (float)maxlen) {
|
||||
out += "(...)";
|
||||
out += ft;
|
||||
return out;
|
||||
@ -89,13 +98,13 @@ std::string R2Base::ShortText(const std::string& in, int maxlen) {
|
||||
return out; // Impossible to reach
|
||||
}
|
||||
|
||||
R7Vec2 R2Base::GetCurrentScreenSize() {
|
||||
return R7Vec2(this->current_screen == R2Screen_Bottom ? 320 : 400, 240);
|
||||
R7Vec2 R2::GetCurrentScreenSize() {
|
||||
return R7Vec2(R2::current_screen == R2Screen_Bottom ? 320 : 400, 240);
|
||||
}
|
||||
|
||||
// Main Processing of Draw Calls
|
||||
void R2Base::Process() {
|
||||
for (auto& it : this->commands) {
|
||||
void R2::Process() {
|
||||
for (auto& it : R2::commands) {
|
||||
if (it->type <= 0 || it->type > 6) {
|
||||
// Skip
|
||||
continue;
|
||||
@ -153,10 +162,10 @@ void R2Base::Process() {
|
||||
while (edit_text.find('\n') != edit_text.npos) {
|
||||
std::string current_line = edit_text.substr(0, edit_text.find('\n'));
|
||||
if (it->flags & RD7TextFlags_Short)
|
||||
current_line = this->ShortText(current_line, it->pszs.x - it->pos.x);
|
||||
current_line = R2::ShortText(current_line, it->pszs.x - it->pos.x);
|
||||
R7Vec2 newpos = it->pos;
|
||||
// Check Flags
|
||||
R7Vec2 dim = this->GetTextDimensions(current_line);
|
||||
R7Vec2 dim = R2::GetTextDimensions(current_line);
|
||||
if (it->flags & RD7TextFlags_AlignRight) newpos.x = newpos.x - dim.x;
|
||||
if (it->flags & RD7TextFlags_AlignMid) // Offset by inpos
|
||||
newpos.x = (it->pszs.x * 0.5) - (dim.x * 0.5) + it->pos.x;
|
||||
@ -165,8 +174,8 @@ void R2Base::Process() {
|
||||
// TODO: Create Code for this
|
||||
}
|
||||
if (rd7i_debugging) {
|
||||
this->DrawNextLined();
|
||||
this->AddRect(newpos, dim, 0xff0000ff);
|
||||
R2::DrawNextLined();
|
||||
R2::AddRect(newpos, dim, 0xff0000ff);
|
||||
}
|
||||
C2D_Text c2dtext;
|
||||
C2D_TextFontParse(&c2dtext, font->Ptr(), rd7i_text_buffer,
|
||||
@ -175,12 +184,12 @@ void R2Base::Process() {
|
||||
|
||||
if (it->flags & RD7TextFlags_Shaddow) // performance Killer xd
|
||||
C2D_DrawText(&c2dtext, C2D_WithColor, newpos.x + 1 + (dim.y * line),
|
||||
newpos.y + 1, 0.5, this->text_size, this->text_size,
|
||||
newpos.y + 1, 0.5, R2::text_size, R2::text_size,
|
||||
RenderD7::ThemeActive()->Get(RD7Color_TextDisabled));
|
||||
|
||||
C2D_DrawText(&c2dtext, C2D_WithColor, newpos.x,
|
||||
newpos.y + (dim.y * line), 0.5, this->text_size,
|
||||
this->text_size, it->clr);
|
||||
newpos.y + (dim.y * line), 0.5, R2::text_size,
|
||||
R2::text_size, it->clr);
|
||||
edit_text = edit_text.substr(edit_text.find('\n') + 1);
|
||||
line++;
|
||||
}
|
||||
@ -196,10 +205,10 @@ void R2Base::Process() {
|
||||
it->clr, it->ap.x, 0.5f);
|
||||
}
|
||||
}
|
||||
this->commands.clear();
|
||||
R2::commands.clear();
|
||||
}
|
||||
|
||||
void R2Base::AddRect(R7Vec2 pos, R7Vec2 size, RD7Color clr) {
|
||||
void R2::AddRect(R7Vec2 pos, R7Vec2 size, RD7Color clr) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos;
|
||||
cmd->pszs = size;
|
||||
@ -208,14 +217,14 @@ void R2Base::AddRect(R7Vec2 pos, R7Vec2 size, RD7Color clr) {
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddRect(R7Vec2 pos, R7Vec2 size, unsigned int clr) {
|
||||
void R2::AddRect(R7Vec2 pos, R7Vec2 size, unsigned int clr) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos;
|
||||
cmd->pszs = size;
|
||||
@ -224,14 +233,14 @@ void R2Base::AddRect(R7Vec2 pos, R7Vec2 size, unsigned int clr) {
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddLine(R7Vec2 pos_a, R7Vec2 pos_b, RD7Color clr, int t) {
|
||||
void R2::AddLine(R7Vec2 pos_a, R7Vec2 pos_b, RD7Color clr, int t) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos_a;
|
||||
cmd->pszs = pos_b;
|
||||
@ -241,14 +250,14 @@ void R2Base::AddLine(R7Vec2 pos_a, R7Vec2 pos_b, RD7Color clr, int t) {
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddLine(R7Vec2 pos_a, R7Vec2 pos_b, unsigned int clr, int t) {
|
||||
void R2::AddLine(R7Vec2 pos_a, R7Vec2 pos_b, unsigned int clr, int t) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos_a;
|
||||
cmd->pszs = pos_b;
|
||||
@ -258,14 +267,14 @@ void R2Base::AddLine(R7Vec2 pos_a, R7Vec2 pos_b, unsigned int clr, int t) {
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, RD7Color clr) {
|
||||
void R2::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, RD7Color clr) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos0;
|
||||
cmd->pszs = pos1;
|
||||
@ -275,15 +284,14 @@ void R2Base::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, RD7Color clr) {
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
unsigned int clr) {
|
||||
void R2::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2, unsigned int clr) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos0;
|
||||
cmd->pszs = pos1;
|
||||
@ -293,15 +301,15 @@ void R2Base::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddText(R7Vec2 pos, const std::string& text, RD7Color clr,
|
||||
RD7TextFlags flags, R7Vec2 tmb) {
|
||||
void R2::AddText(R7Vec2 pos, const std::string& text, RD7Color clr,
|
||||
RD7TextFlags flags, R7Vec2 tmb) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos;
|
||||
cmd->pszs = tmb;
|
||||
@ -312,15 +320,15 @@ void R2Base::AddText(R7Vec2 pos, const std::string& text, RD7Color clr,
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddText(R7Vec2 pos, const std::string& text, unsigned int clr,
|
||||
RD7TextFlags flags, R7Vec2 tmb) {
|
||||
void R2::AddText(R7Vec2 pos, const std::string& text, unsigned int clr,
|
||||
RD7TextFlags flags, R7Vec2 tmb) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos;
|
||||
cmd->pszs = tmb;
|
||||
@ -331,14 +339,14 @@ void R2Base::AddText(R7Vec2 pos, const std::string& text, unsigned int clr,
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddImage(R7Vec2 pos, Image::Ref img) {
|
||||
void R2::AddImage(R7Vec2 pos, Image::Ref img) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->pos = pos;
|
||||
cmd->img = img;
|
||||
@ -346,25 +354,25 @@ void R2Base::AddImage(R7Vec2 pos, Image::Ref img) {
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
void R2Base::AddSprite(Sprite::Ref spr) {
|
||||
void R2::AddSprite(Sprite::Ref spr) {
|
||||
auto cmd = R2Cmd::New();
|
||||
cmd->spr = spr;
|
||||
cmd->type = 5; // Sprite
|
||||
// Just assign current screen as bottom is 0 (false)
|
||||
// and Top and TopRight are !0 (true)
|
||||
cmd->Screen = current_screen;
|
||||
if (this->next_lined) {
|
||||
if (R2::next_lined) {
|
||||
cmd->lined = true;
|
||||
this->next_lined = false;
|
||||
R2::next_lined = false;
|
||||
}
|
||||
this->commands.push_back(cmd);
|
||||
R2::commands.push_back(cmd);
|
||||
}
|
||||
|
||||
} // namespace RenderD7
|
100
source/UI7.cpp
100
source/UI7.cpp
@ -114,62 +114,62 @@ class DrawCmd {
|
||||
if (type == DrawCmdType_Skip) {
|
||||
return;
|
||||
}
|
||||
RenderD7::R2()->OnScreen(screen ? R2Screen_Top : R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(screen ? R2Screen_Top : R2Screen_Bottom);
|
||||
if (type == DrawCmdType_Rect) {
|
||||
RenderD7::R2()->AddRect(R7Vec2(rect.x, rect.y), R7Vec2(rect.z, rect.w),
|
||||
RenderD7::R2::AddRect(R7Vec2(rect.x, rect.y), R7Vec2(rect.z, rect.w),
|
||||
clr);
|
||||
} else if (type == DrawCmdType_Triangle) {
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
R7Vec2(rect.z, rect.w), add_coords, clr);
|
||||
} else if (type == DrawCmdType_Text) {
|
||||
RenderD7::R2()->AddText(R7Vec2(rect.x, rect.y), text, clr, text_flags,
|
||||
RenderD7::R2::AddText(R7Vec2(rect.x, rect.y), text, clr, text_flags,
|
||||
text_box);
|
||||
} else if (type == DrawCmdType_Image) {
|
||||
RenderD7::R2()->AddImage(R7Vec2(rect.x, rect.y), img);
|
||||
RenderD7::R2::AddImage(R7Vec2(rect.x, rect.y), img);
|
||||
} else if (type == DrawCmdType_Debug) {
|
||||
Debug();
|
||||
}
|
||||
}
|
||||
void Debug() {
|
||||
RenderD7::R2()->OnScreen(screen ? R2Screen_Top : R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(screen ? R2Screen_Top : R2Screen_Bottom);
|
||||
if (stype == DrawCmdType_Skip && type != DrawCmdType_Debug) return;
|
||||
if (stype == DrawCmdType_Rect) {
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
R7Vec2(rect.x + rect.z, rect.y),
|
||||
R7Vec2(rect.x, rect.y + rect.w), 0xff0000ff);
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x + rect.z, rect.y + rect.w),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x + rect.z, rect.y + rect.w),
|
||||
R7Vec2(rect.x + rect.z, rect.y),
|
||||
R7Vec2(rect.x, rect.y + rect.w), 0xff0000ff);
|
||||
} else if (stype == DrawCmdType_Triangle) {
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
R7Vec2(rect.z, rect.w), add_coords,
|
||||
0xff00ff00);
|
||||
} else if (stype == DrawCmdType_Text) {
|
||||
auto szs = RenderD7::R2()->GetTextDimensions(text);
|
||||
auto szs = RenderD7::R2::GetTextDimensions(text);
|
||||
if (text_flags & RD7TextFlags_AlignRight) {
|
||||
rect.x -= szs.x;
|
||||
}
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
R7Vec2(rect.x + szs.x, rect.y),
|
||||
R7Vec2(rect.x, rect.y + szs.y), 0xff00ffff);
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x + szs.x, rect.y + szs.y),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x + szs.x, rect.y + szs.y),
|
||||
R7Vec2(rect.x + szs.x, rect.y),
|
||||
R7Vec2(rect.x, rect.y + szs.y), 0xff00ffff);
|
||||
} else if (stype == DrawCmdType_Image) {
|
||||
if (!img) return;
|
||||
rect.z = img->GetSize().x;
|
||||
rect.w = img->GetSize().y;
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x, rect.y),
|
||||
R7Vec2(rect.x + rect.z, rect.y),
|
||||
R7Vec2(rect.x, rect.y + rect.w), 0xff0000ff);
|
||||
RenderD7::R2()->DrawNextLined();
|
||||
RenderD7::R2()->AddTriangle(R7Vec2(rect.x + rect.z, rect.y + rect.w),
|
||||
RenderD7::R2::DrawNextLined();
|
||||
RenderD7::R2::AddTriangle(R7Vec2(rect.x + rect.z, rect.y + rect.w),
|
||||
R7Vec2(rect.x + rect.z, rect.y),
|
||||
R7Vec2(rect.x, rect.y + rect.w), 0xff0000ff);
|
||||
}
|
||||
@ -190,7 +190,7 @@ class DrawCmd {
|
||||
|
||||
void UI7DrawList::AddRectangle(R7Vec2 pos, R7Vec2 szs, RD7Color clr) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos.x;
|
||||
cmd->rect.y = pos.y;
|
||||
cmd->rect.z = szs.x;
|
||||
@ -203,7 +203,7 @@ void UI7DrawList::AddRectangle(R7Vec2 pos, R7Vec2 szs, RD7Color clr) {
|
||||
|
||||
void UI7DrawList::AddRectangle(R7Vec2 pos, R7Vec2 szs, unsigned int clr) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos.x;
|
||||
cmd->rect.y = pos.y;
|
||||
cmd->rect.z = szs.x;
|
||||
@ -217,7 +217,7 @@ void UI7DrawList::AddRectangle(R7Vec2 pos, R7Vec2 szs, unsigned int clr) {
|
||||
void UI7DrawList::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
RD7Color clr) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos0.x;
|
||||
cmd->rect.y = pos0.y;
|
||||
cmd->rect.z = pos1.x;
|
||||
@ -232,7 +232,7 @@ void UI7DrawList::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
void UI7DrawList::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
unsigned int clr) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos0.x;
|
||||
cmd->rect.y = pos0.y;
|
||||
cmd->rect.z = pos1.x;
|
||||
@ -247,7 +247,7 @@ void UI7DrawList::AddTriangle(R7Vec2 pos0, R7Vec2 pos1, R7Vec2 pos2,
|
||||
void UI7DrawList::AddText(R7Vec2 pos, const std::string &text, RD7Color clr,
|
||||
RD7TextFlags flags, R7Vec2 box) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos.x;
|
||||
cmd->rect.y = pos.y;
|
||||
cmd->text = text;
|
||||
@ -262,7 +262,7 @@ void UI7DrawList::AddText(R7Vec2 pos, const std::string &text, RD7Color clr,
|
||||
void UI7DrawList::AddText(R7Vec2 pos, const std::string &text, unsigned int clr,
|
||||
RD7TextFlags flags, R7Vec2 box) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos.x;
|
||||
cmd->rect.y = pos.y;
|
||||
cmd->text = text;
|
||||
@ -276,7 +276,7 @@ void UI7DrawList::AddText(R7Vec2 pos, const std::string &text, unsigned int clr,
|
||||
|
||||
void UI7DrawList::AddImage(R7Vec2 pos, RenderD7::Image::Ref img) {
|
||||
auto cmd = DrawCmd::New();
|
||||
cmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
cmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
cmd->rect.x = pos.x;
|
||||
cmd->rect.y = pos.y;
|
||||
cmd->img = img;
|
||||
@ -309,7 +309,7 @@ void UI7DrawList::AddDebugCall(std::shared_ptr<DrawCmd> cmd) {
|
||||
dcmd->text_flags = cmd->text_flags;
|
||||
dcmd->img = cmd->img;
|
||||
dcmd->type = DrawCmdType_Debug;
|
||||
dcmd->screen = RenderD7::R2()->GetCurrentScreen();
|
||||
dcmd->screen = RenderD7::R2::GetCurrentScreen();
|
||||
UI7CtxPushDebugCmd(dcmd);
|
||||
}
|
||||
|
||||
@ -397,7 +397,7 @@ bool UI7CtxBeginMenu(const std::string &lb) {
|
||||
if (!ui7_ctx->cm->ctrl) ui7_ctx->cm->ctrl = NTCtrl::New();
|
||||
ui7_ctx->cm->menuid = id;
|
||||
ui7_ctx->cm->cursor = R7Vec2(0, 0);
|
||||
ui7_ctx->cm->has_touch = !RenderD7::R2()->GetCurrentScreen();
|
||||
ui7_ctx->cm->has_touch = !RenderD7::R2::GetCurrentScreen();
|
||||
if (!ui7_ctx->cm->background) ui7_ctx->cm->background = UI7DrawList::New();
|
||||
if (!ui7_ctx->cm->main) ui7_ctx->cm->main = UI7DrawList::New();
|
||||
if (!ui7_ctx->cm->front) ui7_ctx->cm->front = UI7DrawList::New();
|
||||
@ -416,7 +416,7 @@ void UI7CtxEndMenu() {
|
||||
|
||||
if (ui7_ctx->cm->show_scroolbar) {
|
||||
// Screen Width
|
||||
int sw = RenderD7::R2()->GetCurrentScreenSize().x;
|
||||
int sw = RenderD7::R2::GetCurrentScreenSize().x;
|
||||
// Top Start Pos
|
||||
int tsp = 5 + ui7_ctx->cm->tbh;
|
||||
// Slider Width
|
||||
@ -489,7 +489,7 @@ void UI7CtxEndMenu() {
|
||||
str << "ui7_ctx->cm->lszs: (" << ui7_ctx->cm->lszs.x << ", "
|
||||
<< ui7_ctx->cm->lszs.y << ")" << std::endl;
|
||||
UI7::GetForegroundList()->AddRectangle(
|
||||
R7Vec2(), RenderD7::R2()->GetTextDimensions(str.str()),
|
||||
R7Vec2(), RenderD7::R2::GetTextDimensions(str.str()),
|
||||
(unsigned int)RGBA8(0, 0, 0, 110));
|
||||
UI7::GetForegroundList()->AddText(R7Vec2(), str.str(),
|
||||
(unsigned int)RGBA8(255, 255, 255, 110));
|
||||
@ -559,7 +559,7 @@ float GetDeltaTime() {
|
||||
bool Button(const std::string &label, R7Vec2 size) {
|
||||
bool ret = false;
|
||||
if (!UI7CtxValidate()) return ret;
|
||||
R7Vec2 textdim = RenderD7::R2()->GetTextDimensions(label);
|
||||
R7Vec2 textdim = RenderD7::R2::GetTextDimensions(label);
|
||||
if (size.x == 0) {
|
||||
size.x = textdim.x + 8;
|
||||
}
|
||||
@ -594,9 +594,9 @@ bool Button(const std::string &label, R7Vec2 size) {
|
||||
|
||||
void Checkbox(const std::string &label, bool &c) {
|
||||
if (!UI7CtxValidate()) return;
|
||||
float sv = (RenderD7::R2()->GetTextSize() * 40) * 0.9;
|
||||
float sv = (RenderD7::R2::GetTextSize() * 40) * 0.9;
|
||||
R7Vec2 cbs = R7Vec2(sv, sv);
|
||||
R7Vec2 txtdim = RenderD7::R2()->GetTextDimensions(label);
|
||||
R7Vec2 txtdim = RenderD7::R2::GetTextDimensions(label);
|
||||
R7Vec2 inp = cbs + R7Vec2(txtdim.x + 5, 0);
|
||||
RD7Color bg = RD7Color_FrameBg;
|
||||
|
||||
@ -630,7 +630,7 @@ void Checkbox(const std::string &label, bool &c) {
|
||||
|
||||
void Label(const std::string &label, RD7TextFlags flags) {
|
||||
if (!UI7CtxValidate()) return;
|
||||
R7Vec2 textdim = RenderD7::R2()->GetTextDimensions(label);
|
||||
R7Vec2 textdim = RenderD7::R2::GetTextDimensions(label);
|
||||
R7Vec2 pos = GetCursorPos();
|
||||
auto upos = pos;
|
||||
// Remove some y offset cause texts have some offset
|
||||
@ -639,7 +639,7 @@ void Label(const std::string &label, RD7TextFlags flags) {
|
||||
|
||||
if (HandleScrolling(pos, textdim)) return;
|
||||
|
||||
float tbh = RenderD7::R2()->GetTextSize() * 40;
|
||||
float tbh = RenderD7::R2::GetTextSize() * 40;
|
||||
auto &list =
|
||||
(upos.y + textdim.y < tbh) ? ui7_ctx->cm->front : ui7_ctx->cm->main;
|
||||
|
||||
@ -654,7 +654,7 @@ void Progressbar(float value) {
|
||||
if (!UI7CtxValidate()) return;
|
||||
R7Vec2 pos = GetCursorPos();
|
||||
R7Vec2 size =
|
||||
R7Vec2(RenderD7::R2()->GetCurrentScreenSize().x - (pos.x * 2), 20);
|
||||
R7Vec2(RenderD7::R2::GetCurrentScreenSize().x - (pos.x * 2), 20);
|
||||
if (ui7_ctx->cm->show_scroolbar && ui7_ctx->cm->enable_scrolling)
|
||||
size.x -= 16;
|
||||
MoveCursor(size);
|
||||
@ -687,12 +687,12 @@ void BrowserList(const std::vector<std::string> &entrys, int &selection,
|
||||
RD7TextFlags txtflags, R7Vec2 size, int max_entrys) {
|
||||
if (!UI7CtxValidate()) return;
|
||||
if (selection < 0) return;
|
||||
float tmp_txt = RenderD7::R2()->GetTextSize();
|
||||
RenderD7::R2()->DefaultTextSize();
|
||||
float tmp_txt = RenderD7::R2::GetTextSize();
|
||||
RenderD7::R2::DefaultTextSize();
|
||||
R7Vec2 pos = GetCursorPos();
|
||||
if (pos.y + 15 * max_entrys > 230) max_entrys = (int)((230 - pos.y) / 15);
|
||||
if (size.x == 0)
|
||||
size.x = RenderD7::R2()->GetCurrentScreenSize().x - (pos.x * 2);
|
||||
size.x = RenderD7::R2::GetCurrentScreenSize().x - (pos.x * 2);
|
||||
if (size.y == 0) size.y = (max_entrys * 15);
|
||||
MoveCursor(size);
|
||||
ui7_ctx->cm->ctrl->AddObj();
|
||||
@ -724,15 +724,15 @@ void BrowserList(const std::vector<std::string> &entrys, int &selection,
|
||||
: (i % 2 == 0 ? RD7Color_List0 : RD7Color_List1)),
|
||||
txtflags | RD7TextFlags_Short, R7Vec2(size.x, 15));
|
||||
}
|
||||
RenderD7::R2()->SetTextSize(tmp_txt);
|
||||
RenderD7::R2::SetTextSize(tmp_txt);
|
||||
}
|
||||
|
||||
void InputText(const std::string &label, std::string &text,
|
||||
const std::string &hint) {
|
||||
if (!UI7CtxValidate()) return;
|
||||
float sv = (RenderD7::R2()->GetTextSize() * 40) * 0.9;
|
||||
float sv = (RenderD7::R2::GetTextSize() * 40) * 0.9;
|
||||
R7Vec2 cbs = R7Vec2(144, sv);
|
||||
R7Vec2 txtdim = RenderD7::R2()->GetTextDimensions(label);
|
||||
R7Vec2 txtdim = RenderD7::R2::GetTextDimensions(label);
|
||||
R7Vec2 inp = cbs + R7Vec2(txtdim.x + 5, 0);
|
||||
RD7Color bg = RD7Color_FrameBg;
|
||||
auto id = UI7ID(label);
|
||||
@ -772,13 +772,13 @@ bool BeginMenu(const std::string &title, R7Vec2 size, UI7MenuFlags flags) {
|
||||
if (!ret) return ret;
|
||||
bool titlebar = true;
|
||||
if (size.x == 0) {
|
||||
size.x = RenderD7::R2()->GetCurrentScreen() ? 400 : 320;
|
||||
size.x = RenderD7::R2::GetCurrentScreen() ? 400 : 320;
|
||||
}
|
||||
if (size.y == 0) {
|
||||
size.y = 240;
|
||||
}
|
||||
RD7TextFlags txtflags = 0;
|
||||
float tbh = RenderD7::R2()->GetTextSize() * 40;
|
||||
float tbh = RenderD7::R2::GetTextSize() * 40;
|
||||
ui7_ctx->cm->tbh = tbh;
|
||||
|
||||
if (flags & UI7MenuFlags_NoTitlebar) {
|
||||
@ -787,7 +787,7 @@ bool BeginMenu(const std::string &title, R7Vec2 size, UI7MenuFlags flags) {
|
||||
}
|
||||
if (flags & UI7MenuFlags_TitleMid) txtflags = RD7TextFlags_AlignMid;
|
||||
ui7_ctx->cm->enable_scrolling = (flags & UI7MenuFlags_Scrolling);
|
||||
if (ui7_ctx->cm->enable_scrolling && !RenderD7::R2()->GetCurrentScreen() &&
|
||||
if (ui7_ctx->cm->enable_scrolling && !RenderD7::R2::GetCurrentScreen() &&
|
||||
ui7_ctx->cm->scrolling_possible) {
|
||||
// Patch that sets scrolling to 0 if max pos is not out of screen
|
||||
if (ui7_ctx->cm->scrolling_offset != 0.f && ui7_ctx->cm->ms.y < 235) {
|
||||
@ -826,7 +826,7 @@ bool BeginMenu(const std::string &title, R7Vec2 size, UI7MenuFlags flags) {
|
||||
if (RenderD7::Hid::IsEvent("touch", RenderD7::Hid::Held)) {
|
||||
// Set modifier
|
||||
if (!InBox(np,
|
||||
R7Vec2(RenderD7::R2()->GetCurrentScreenSize().x - 8 - 5,
|
||||
R7Vec2(RenderD7::R2::GetCurrentScreenSize().x - 8 - 5,
|
||||
5 + ui7_ctx->cm->tbh),
|
||||
R7Vec2(8, 240 - ui7_ctx->cm->tbh - 10))) {
|
||||
// Check if and do nothing if the scrolling ofset goes out of screen
|
||||
@ -927,9 +927,9 @@ void Grid(const std::string &name, const R7Vec2 &size, const R7Vec2 &entry_size,
|
||||
|
||||
void ColorSelector(const std::string &label, unsigned int &color) {
|
||||
if (!UI7CtxValidate()) return;
|
||||
float sv = (RenderD7::R2()->GetTextSize() * 40) * 0.9;
|
||||
float sv = (RenderD7::R2::GetTextSize() * 40) * 0.9;
|
||||
R7Vec2 cbs = R7Vec2(sv, sv);
|
||||
R7Vec2 txtdim = RenderD7::R2()->GetTextDimensions(label);
|
||||
R7Vec2 txtdim = RenderD7::R2::GetTextDimensions(label);
|
||||
R7Vec2 inp = cbs + R7Vec2(txtdim.x + 5, 0);
|
||||
auto outline =
|
||||
RenderD7::Color::RGBA(color).is_light() ? 0xff000000 : 0xffffffff;
|
||||
|
30
source/li7.v.pica
Normal file
30
source/li7.v.pica
Normal file
@ -0,0 +1,30 @@
|
||||
;
|
||||
LI7 Shader;
|
||||
Constants.constf myconst(0.0, 1.0, 0.00392156862745, 0.0)
|
||||
.alias ones myconst.yyyy;
|
||||
Vector full of ones
|
||||
|
||||
;
|
||||
Uniforms.fvec projection[4]
|
||||
|
||||
;
|
||||
Outputs.out out_position position.out out_color color.out out_uv texcoord0
|
||||
|
||||
;
|
||||
Inputs.alias in_xyz v0.alias in_uvc
|
||||
v1.alias in_col v2
|
||||
|
||||
.entry vmain.proc vmain mov r0.xyz,
|
||||
in_xyz.xyz mov r0.w,
|
||||
ones
|
||||
|
||||
dp4 out_position.x,
|
||||
projection[0], r0 dp4 out_position.y, projection[1], r0 dp4 out_position.z,
|
||||
projection[2], r0 dp4 out_position.w, projection[3],
|
||||
r0
|
||||
|
||||
mov out_uv,
|
||||
in_uvc.xy
|
||||
|
||||
mul r1,
|
||||
myconst.zzzz, in_col mov out_color, r1 end.end
|
@ -14,7 +14,6 @@
|
||||
#include <filesystem>
|
||||
#include <random>
|
||||
|
||||
RenderD7::R2Base::Ref rd7i_render2;
|
||||
RenderD7::LoggerBase::Ref rd7i_glogger;
|
||||
extern RenderD7::LoggerBase::Ref rd7i_logger;
|
||||
|
||||
@ -66,11 +65,11 @@ void Npifade() {
|
||||
// No fade
|
||||
}
|
||||
/*if (rd7i_fadein || rd7i_fadeout) {
|
||||
RenderD7::R2()->OnScreen(RenderD7::R2Screen_Top);
|
||||
RenderD7::R2()->AddRect(R7Vec2(0, 0), R7Vec2(400, 240),
|
||||
RenderD7::R2::OnScreen(RenderD7::R2Screen_Top);
|
||||
RenderD7::R2::AddRect(R7Vec2(0, 0), R7Vec2(400, 240),
|
||||
((rd7i_fadealpha << 24) | 0x00000000));
|
||||
RenderD7::R2()->OnScreen(RenderD7::R2Screen_Bottom);
|
||||
RenderD7::R2()->AddRect(R7Vec2(0, 0), R7Vec2(320, 240),
|
||||
RenderD7::R2::OnScreen(RenderD7::R2Screen_Bottom);
|
||||
RenderD7::R2::AddRect(R7Vec2(0, 0), R7Vec2(320, 240),
|
||||
((rd7i_fadealpha << 24) | 0x00000000));
|
||||
}*/
|
||||
}
|
||||
@ -86,7 +85,7 @@ void PushSplash() {
|
||||
C2D_TargetClear(rd7_bottom, 0xff000000);
|
||||
RenderD7::ClearTextBufs();
|
||||
C2D_SceneBegin(rd7_top);
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
C2D_DrawImageAt(C2D_SpriteSheetGetImage(sheet, 0), 400 / 2 - 300 / 2,
|
||||
240 / 2 - 100 / 2, 0.5);
|
||||
C3D_FrameEnd(0);
|
||||
@ -214,14 +213,6 @@ void rd7i_init_theme() {
|
||||
}
|
||||
}
|
||||
|
||||
RenderD7::R2Base::Ref RenderD7::R2() {
|
||||
if (!rd7i_render2) {
|
||||
RenderD7::Error("Render2 Was Called before being Init!");
|
||||
// return schould not be reached then
|
||||
}
|
||||
return rd7i_render2;
|
||||
}
|
||||
|
||||
RenderD7::LoggerBase::Ref RenderD7::Logger() {
|
||||
if (!rd7i_glogger) {
|
||||
RenderD7::Error("Logger Was Called before being Init!");
|
||||
@ -327,7 +318,7 @@ void RenderD7::Init::Graphics() {
|
||||
rd7i_text_buffer = C2D_TextBufNew(4096);
|
||||
rd7i_d2_dimbuf = C2D_TextBufNew(4096);
|
||||
rd7i_base_font = C2D_FontLoadSystem(CFG_REGION_USA);
|
||||
rd7i_render2 = R2Base::New();
|
||||
R2::Init();
|
||||
}
|
||||
|
||||
Result RenderD7::Init::Main(std::string app_name) {
|
||||
@ -387,7 +378,7 @@ Result RenderD7::Init::Main(std::string app_name) {
|
||||
rd7i_text_buffer = C2D_TextBufNew(4096);
|
||||
rd7i_d2_dimbuf = C2D_TextBufNew(4096);
|
||||
rd7i_base_font = C2D_FontLoadSystem(CFG_REGION_USA);
|
||||
rd7i_render2 = R2Base::New();
|
||||
R2::Init();
|
||||
|
||||
rd7i_graphics_on = true;
|
||||
rd7i_last_tm = svcGetSystemTick();
|
||||
@ -449,7 +440,7 @@ Result RenderD7::Init::Minimal(std::string app_name) {
|
||||
rd7i_text_buffer = C2D_TextBufNew(4096);
|
||||
rd7i_d2_dimbuf = C2D_TextBufNew(4096);
|
||||
rd7i_base_font = C2D_FontLoadSystem(CFG_REGION_USA);
|
||||
rd7i_render2 = R2Base::New();
|
||||
R2::Init();
|
||||
|
||||
rd7i_graphics_on = true;
|
||||
if (rd7i_do_splash) PushSplash();
|
||||
@ -470,7 +461,6 @@ Result RenderD7::Init::Minimal(std::string app_name) {
|
||||
Result RenderD7::Init::Reload() {
|
||||
rd7i_graphics_on = false;
|
||||
C2D_TextBufDelete(rd7i_text_buffer);
|
||||
rd7i_render2 = nullptr; // Delete Render2
|
||||
C2D_Fini();
|
||||
C3D_Fini();
|
||||
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
|
||||
@ -481,7 +471,7 @@ Result RenderD7::Init::Reload() {
|
||||
rd7_bottom = C2D_CreateScreenTarget(GFX_BOTTOM, GFX_LEFT);
|
||||
rd7i_text_buffer = C2D_TextBufNew(4096);
|
||||
rd7i_base_font = C2D_FontLoadSystem(CFG_REGION_USA);
|
||||
rd7i_render2 = R2Base::New();
|
||||
R2::Init();
|
||||
rd7i_graphics_on = true;
|
||||
|
||||
return 0;
|
||||
@ -532,16 +522,16 @@ void RenderD7::FrameEnd() {
|
||||
RenderD7::ProcessMessages();
|
||||
OvlHandler();
|
||||
Npifade();
|
||||
R2()->Process();
|
||||
R2::Process();
|
||||
C3D_FrameEnd(0);
|
||||
}
|
||||
|
||||
RenderD7::RSettings::RSettings() {
|
||||
// RenderD7 Settings is designed for
|
||||
// System Font
|
||||
R2()->DefaultFont();
|
||||
tmp_txt = R2()->GetTextSize();
|
||||
R2()->DefaultTextSize();
|
||||
R2::DefaultFont();
|
||||
tmp_txt = R2::GetTextSize();
|
||||
R2::DefaultTextSize();
|
||||
RenderD7::FadeIn();
|
||||
std::fstream cfg_ldr(rd7i_config_path + "/config.rc7", std::ios::in);
|
||||
cfg_ldr >> rd7i_config;
|
||||
@ -551,7 +541,7 @@ RenderD7::RSettings::RSettings() {
|
||||
stateftold = rd7i_ftraced;
|
||||
}
|
||||
|
||||
RenderD7::RSettings::~RSettings() { R2()->SetTextSize(tmp_txt); }
|
||||
RenderD7::RSettings::~RSettings() { R2::SetTextSize(tmp_txt); }
|
||||
|
||||
std::vector<std::string> StrHelper(std::string input) {
|
||||
std::string ss(input);
|
||||
@ -565,7 +555,7 @@ std::vector<std::string> StrHelper(std::string input) {
|
||||
|
||||
void RenderD7::RSettings::Draw(void) const {
|
||||
if (m_state == RSETTINGS) {
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
if (UI7::BeginMenu("RenderD7 -> Settings")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RENDERD7VSTRING, RD7TextFlags_AlignRight);
|
||||
@ -580,7 +570,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::Label("Kbd test: " + kbd_test);
|
||||
UI7::EndMenu();
|
||||
}
|
||||
RenderD7::R2()->OnScreen(R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(R2Screen_Bottom);
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!")) {
|
||||
if (UI7::Button("FTrace")) {
|
||||
shared_request[0x00000001] = RFTRACE;
|
||||
@ -612,7 +602,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
}
|
||||
|
||||
} else if (m_state == RIDB) {
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
if (UI7::BeginMenu("RenderD7 -> Debugger")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RENDERD7VSTRING, RD7TextFlags_AlignRight);
|
||||
@ -621,7 +611,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
std::string(rd7i_idb_running ? "true" : "false"));
|
||||
UI7::EndMenu();
|
||||
}
|
||||
RenderD7::R2()->OnScreen(R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(R2Screen_Bottom);
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!")) {
|
||||
if (UI7::Button("Start Server")) {
|
||||
RenderD7::IDB::Start();
|
||||
@ -639,7 +629,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
}
|
||||
|
||||
} else if (m_state == RFTRACE) {
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
// Draw Top Screen Into Background DrawList
|
||||
UI7::GetBackgroundList()->AddRectangle(R7Vec2(0, 0), R7Vec2(400, 240),
|
||||
RD7Color_Background);
|
||||
@ -711,7 +701,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
|
||||
RenderD7::Ftrace::End("rd7ft", "display_traces");
|
||||
|
||||
RenderD7::R2()->OnScreen(R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(R2Screen_Bottom);
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!")) {
|
||||
auto jt = RenderD7::Ftrace::rd7_traces.begin();
|
||||
std::advance(jt, ftrace_index);
|
||||
@ -726,7 +716,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
} else if (m_state == RUI7) {
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
if (UI7::BeginMenu("RenderD7 -> UI7")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RENDERD7VSTRING, RD7TextFlags_AlignRight);
|
||||
@ -750,7 +740,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
|
||||
RenderD7::R2()->OnScreen(R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(R2Screen_Bottom);
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!", R7Vec2(),
|
||||
UI7MenuFlags_Scrolling)) {
|
||||
if (UI7::Button("Go back")) {
|
||||
@ -762,7 +752,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
} else if (m_state == ROVERLAYS) {
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
if (UI7::BeginMenu("RenderD7 -> Overlays")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RENDERD7VSTRING, RD7TextFlags_AlignRight);
|
||||
@ -772,7 +762,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
|
||||
RenderD7::R2()->OnScreen(R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(R2Screen_Bottom);
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!")) {
|
||||
UI7::Label("Metrik:");
|
||||
UI7::Checkbox("Enable Overlay", rd7i_metrikd);
|
||||
@ -787,7 +777,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
} else if (m_state == RLOGS) {
|
||||
RenderD7::R2()->OnScreen(R2Screen_Top);
|
||||
RenderD7::R2::OnScreen(R2Screen_Top);
|
||||
if (UI7::BeginMenu("RenderD7 -> Logs")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RENDERD7VSTRING, RD7TextFlags_AlignRight);
|
||||
@ -795,7 +785,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
|
||||
RenderD7::R2()->OnScreen(R2Screen_Bottom);
|
||||
RenderD7::R2::OnScreen(R2Screen_Bottom);
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!", R7Vec2(),
|
||||
UI7MenuFlags_Scrolling)) {
|
||||
for (auto &it : rd7i_logger->Lines()) UI7::Label(it, RD7TextFlags_Wrap);
|
||||
|
Loading…
Reference in New Issue
Block a user