mirror of
https://github.com/DarkStore-3DS/DarkStore.git
synced 2026-07-07 16:59:08 +00:00
Simulate a progressbar. (For testing purpose) ( ͡° ͜ʖ ͡°)
Press Select in the MainMenu, to show the progressbar. This will get removed after the download progressbar is implemented.
This commit is contained in:
@@ -38,7 +38,14 @@ public:
|
||||
void Draw(void) const override;
|
||||
void Logic(u32 hDown, u32 hHeld, touchPosition touch) override;
|
||||
private:
|
||||
void DrawMainMenu(void) const;
|
||||
void DisplayTestbar(void) const;
|
||||
void ProgressBarLogic(u32 hDown, u32 hHeld);
|
||||
|
||||
int keyRepeatDelay = 3;
|
||||
int mode = 0;
|
||||
int Selection = 0;
|
||||
|
||||
std::vector<Structs::ButtonPos> mainButtons = {
|
||||
{10, 40, 140, 35, -1}, // Scriptlist.
|
||||
{170, 40, 140, 35, -1}, // ScriptBrowse.
|
||||
|
||||
@@ -40,10 +40,21 @@ extern bool exiting;
|
||||
extern bool touching(touchPosition touch, Structs::ButtonPos button);
|
||||
extern bool checkWifiStatus(void);
|
||||
|
||||
u64 current = 0;
|
||||
u64 total = 100;
|
||||
|
||||
// This is for the Script Creator, so no one can access it for now, until it is stable or so.
|
||||
bool isTesting = false;
|
||||
|
||||
void MainMenu::Draw(void) const {
|
||||
if (mode == 0) {
|
||||
DrawMainMenu();
|
||||
} else if (mode == 1) {
|
||||
DisplayTestbar();
|
||||
}
|
||||
}
|
||||
|
||||
void MainMenu::DrawMainMenu(void) const {
|
||||
Gui::DrawTop();
|
||||
Gui::DrawStringCentered(0, 2, 0.7f, Config::TxtColor, "Universal-Updater", 400);
|
||||
Gui::DrawString(397-Gui::GetStringWidth(0.5f, V_STRING), 237-Gui::GetStringHeight(0.5f, V_STRING), 0.5f, Config::TxtColor, V_STRING);
|
||||
@@ -65,7 +76,51 @@ void MainMenu::Draw(void) const {
|
||||
Gui::DrawString((320-Gui::GetStringWidth(0.6f, "FTP"))/2+150-70, mainButtons[5].y+10, 0.6f, Config::TxtColor, "FTP", 140);
|
||||
}
|
||||
|
||||
void MainMenu::DisplayTestbar(void) const {
|
||||
Gui::DrawTop();
|
||||
Gui::DrawStringCentered(0, 2, 0.7f, Config::TxtColor, "Downloading <Filename> . <Extension>...", 400);
|
||||
std::string progressDownload = std::to_string(current);
|
||||
progressDownload += " KB / ";
|
||||
progressDownload += std::to_string(total);
|
||||
progressDownload += " KB downloaded.";
|
||||
Gui::DrawStringCentered(0, 80, 0.6f, Config::TxtColor, progressDownload, 400);
|
||||
Gui::Draw_Rect(30, 120, 340, 30, BLACK);
|
||||
Gui::Draw_Rect(31, 121, (((double)current/(double)total) * 338.0), 28, WHITE);
|
||||
Gui::DrawBottom();
|
||||
}
|
||||
|
||||
void MainMenu::ProgressBarLogic(u32 hDown, u32 hHeld) {
|
||||
if (keyRepeatDelay) keyRepeatDelay--;
|
||||
if (hHeld & KEY_LEFT && !keyRepeatDelay) {
|
||||
if (current > 0) {
|
||||
current--;
|
||||
} else {
|
||||
current = total;
|
||||
}
|
||||
}
|
||||
|
||||
if (hHeld & KEY_RIGHT && !keyRepeatDelay) {
|
||||
if (current < total) {
|
||||
current++;
|
||||
} else {
|
||||
current = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (hDown & KEY_SELECT) {
|
||||
mode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainMenu::Logic(u32 hDown, u32 hHeld, touchPosition touch) {
|
||||
if (mode == 1) {
|
||||
ProgressBarLogic(hDown, hHeld);
|
||||
} else {
|
||||
if (hDown & KEY_SELECT) {
|
||||
mode = 1;
|
||||
}
|
||||
|
||||
if (hDown & KEY_START) {
|
||||
exiting = true;
|
||||
}
|
||||
@@ -160,3 +215,4 @@ void MainMenu::Logic(u32 hDown, u32 hHeld, touchPosition touch) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user