palladium/source/overlays/settings.cpp
tobid7 cbdb15e0de # Stage 2
- reAdd Text Shorting
- make SpriteSheet part of SmartCtor
- Add Some Gaussian Blur func (not functional for now)
-  Add Image Indexing functions and Reverse32 for (RGBA -> ABGR)
- Add Transparency flag to Keyboard and Fix its Render Prder
- Add UI7 Alignment API
  - Incldes PushAlignment (One way Alignment, JoinAlign, etc)
- Make Setter for Scroll Offset public
- Make Getter for ScrollMod Public
- Add a Check if Menu is duing an animated scroll
- Add FindMenu to Context for Modifications after Context::EndMenu
- Fix Major Issue in Lithium InBox Function
- Fix TextAlignRight and Add PerLine Text Shorting
- Fix Screen being unused in Performance Overlay
- Add Beta Slider Dragging
- Dont Handle Inputs for Objects when scrolling
- Add a MainArea to Not Handle Inputs outside of it
- Simplefied some logic

- TODO:
  - Write TextWrap Function
  - Add PerLine text Align
  - Track and Fix a lot of UI7 Bugs such as Alignment Issues etc
2025-02-17 22:20:30 +01:00

39 lines
1.2 KiB
C++

#include <pd/overlays/settings.hpp>
namespace PD {
int SettingsMenu::too = 0;
void SettingsMenu::Update(float delta, LI::Renderer::Ref ren, Hid::Ref inp) {
if (!ctx) {
ctx = UI7::Context::New(ren, inp);
ctx->RootLayer(70);
}
flymgr.Update(delta);
if (rem && flymgr.IsFinished()) {
this->Kill();
}
ren->OnScreen(ren->GetScreen(false));
if (ctx->BeginMenu("Palladium - Settings", UI7MenuFlags_CenterTitle)) {
auto m = ctx->GetCurrentMenu();
m->SeparatorText("Library Info");
m->Label(LibInfo::CompiledWith());
m->AfterAlign(UI7Align_Center);
m->Label(LibInfo::CxxVersion());
m->AfterAlign(UI7Align_Center);
m->Label("Version: " + LibInfo::Version() + "[" + LibInfo::Commit() + "]");
m->AfterAlign(UI7Align_Center);
m->Label("Build Time: " + LibInfo::BuildTime());
m->AfterAlign(UI7Align_Center);
ctx->EndMenu();
}
ren->OnScreen(ren->GetScreen(true));
if (ctx->BeginMenu("pdovlssettings", UI7MenuFlags_NoTitlebar)) {
auto m = ctx->GetCurrentMenu();
m->SeparatorText("Settings");
if (m->Button("Exit")) {
this->Rem();
}
ctx->EndMenu();
}
ctx->Update(delta);
}
} // namespace PD