format documents
This commit is contained in:
@@ -51,7 +51,7 @@ PD_API void Button::Draw() {
|
||||
// io->Ren->OnScreen(screen);
|
||||
list->PathRect(FinalPos(), FinalPos() + size, io->FrameRounding);
|
||||
list->PathFill(io->Theme.Get(color));
|
||||
// list->LayerUp();
|
||||
// list->LayerUp();
|
||||
list->DrawText(FinalPos() + size * 0.5 - tdim * 0.5, label.c_str(),
|
||||
io->Theme.Get(UI7Color_Text));
|
||||
// list->LayerDown();
|
||||
|
||||
@@ -33,8 +33,7 @@ PD_API void ColorEdit::HandleInput() {
|
||||
}
|
||||
// Assert(screen.get(), "Screen is not set up!");
|
||||
// if (screen->ScreenType() == Screen::Bottom) {
|
||||
if (io->InputHandler.DragObject(this->GetID() + 2,
|
||||
fvec4(FinalPos(), size))) {
|
||||
if (io->InputHandler.DragObject(this->GetID() + 2, fvec4(FinalPos(), size))) {
|
||||
if (io->InputHandler.DragReleasedAW) {
|
||||
is_shown = !is_shown;
|
||||
}
|
||||
@@ -55,17 +54,16 @@ PD_API void ColorEdit::Draw() {
|
||||
}
|
||||
layout->SetPosition(FinalPos());
|
||||
layout->AddObjectEx(
|
||||
new DynObj(
|
||||
[=, this](UI7::IO* io, Li::Drawlist* l, Container* thiz) {
|
||||
thiz->SetSize(layout->GetSize());
|
||||
// l->Layer(30);
|
||||
l->PathRect(thiz->GetPos(), thiz->GetPos() + thiz->GetSize(),
|
||||
io->FrameRounding);
|
||||
l->PathFill(io->Theme.Get(UI7Color_FrameBackground));
|
||||
}),
|
||||
new DynObj([=, this](UI7::IO* io, Li::Drawlist* l, Container* thiz) {
|
||||
thiz->SetSize(layout->GetSize());
|
||||
// l->Layer(30);
|
||||
l->PathRect(thiz->GetPos(), thiz->GetPos() + thiz->GetSize(),
|
||||
io->FrameRounding);
|
||||
l->PathFill(io->Theme.Get(UI7Color_FrameBackground));
|
||||
}),
|
||||
UI7LytAdd_Front | UI7LytAdd_NoCursorUpdate | UI7LytAdd_NoScrollHandle);
|
||||
auto obj = new DynObj(
|
||||
[=, this](UI7::IO* io, Li::Drawlist* l, Container* thiz) {
|
||||
auto obj =
|
||||
new DynObj([=, this](UI7::IO* io, Li::Drawlist* l, Container* thiz) {
|
||||
l->PathRect(thiz->FinalPos(), thiz->FinalPos() + io->ItemRowHeight,
|
||||
io->FrameRounding);
|
||||
l->PathFill(*color_ref);
|
||||
|
||||
@@ -31,10 +31,10 @@ PD_API void Container::HandleScrolling(fvec2 scrolling, fvec4 viewport) {
|
||||
}
|
||||
last_use = PD::Os::GetTime();
|
||||
pos -= fvec2(0, scrolling.y);
|
||||
skippable = !Li::Math::InBounds(
|
||||
pos, size,
|
||||
fvec4(viewport.x, viewport.y, viewport.x + viewport.z,
|
||||
viewport.y + viewport.w));
|
||||
skippable =
|
||||
!Li::Math::InBounds(pos, size,
|
||||
fvec4(viewport.x, viewport.y, viewport.x + viewport.z,
|
||||
viewport.y + viewport.w));
|
||||
}
|
||||
|
||||
PD_API void Container::HandleInternalInput() {
|
||||
|
||||
@@ -21,10 +21,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
#include <pd/ui7/container/dragdata.hpp>
|
||||
#include <pd/ui7/container/label.hpp>
|
||||
#include <type_traits>
|
||||
#include <algorithm>
|
||||
|
||||
namespace PD {
|
||||
namespace UI7 {
|
||||
@@ -93,8 +93,8 @@ PD_API void DragData<T>::Draw() {
|
||||
// list->LayerDown();
|
||||
off_x += td.x + io->ItemSpace.x + io->FramePadding.x;
|
||||
}
|
||||
list->DrawText(FinalPos() + fvec2(off_x, io->FramePadding.y * 0.5), label.c_str(),
|
||||
io->Theme.Get(UI7Color_Text));
|
||||
list->DrawText(FinalPos() + fvec2(off_x, io->FramePadding.y * 0.5),
|
||||
label.c_str(), io->Theme.Get(UI7Color_Text));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
||||
@@ -33,7 +33,7 @@ PD_API void Image::Draw() {
|
||||
list->BindTexture(img);
|
||||
list->DrawRectFilled(FinalPos(), newsize, 0xffffffff);
|
||||
list->UnbindTexture();
|
||||
//list->LayerDown();
|
||||
// list->LayerDown();
|
||||
}
|
||||
} // namespace UI7
|
||||
} // namespace PD
|
||||
@@ -21,10 +21,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
#include <pd/ui7/container/label.hpp>
|
||||
#include <pd/ui7/container/slider.hpp>
|
||||
#include <type_traits>
|
||||
#include <algorithm>
|
||||
|
||||
namespace PD {
|
||||
namespace UI7 {
|
||||
@@ -57,9 +57,9 @@ PD_API void Slider<T>::HandleInput() {
|
||||
fvec4(FinalPos() + fvec2(2, 0), fvec2(width, GetSize().y)))) {
|
||||
if (!io->InputHandler.DragReleasedAW) {
|
||||
*data = std::clamp(
|
||||
T(max * (std::clamp(io->InputHandler.DragLastPosition.x - xps, 0.f,
|
||||
width) /
|
||||
width)),
|
||||
T(max *
|
||||
(std::clamp(io->InputHandler.DragLastPosition.x - xps, 0.f, width) /
|
||||
width)),
|
||||
this->min, this->max);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -22,8 +22,8 @@ SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <pd/core/core.hpp>
|
||||
#include <pd/ui7/io.hpp>
|
||||
#include <pd/drivers/drivers.hpp>
|
||||
#include <pd/ui7/io.hpp>
|
||||
|
||||
namespace PD {
|
||||
PD_API void UI7::IO::Update() {
|
||||
@@ -39,7 +39,7 @@ PD_API void UI7::IO::Update() {
|
||||
DrawlistRegestry.push_front(std::make_pair("CtxBackList", &Back));
|
||||
if (Font) ItemRowHeight = FontScale * Font->PixelHeight;
|
||||
// RegisterDrawList("CtxBackList", Back);
|
||||
NumIndices = 0;//FDL.pNumIndices;
|
||||
NumVertices = 0;//FDL.pNumVertices;
|
||||
NumIndices = 0; // FDL.pNumIndices;
|
||||
NumVertices = 0; // FDL.pNumVertices;
|
||||
}
|
||||
} // namespace PD
|
||||
+22
-23
@@ -21,9 +21,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
#include <pd/ui7/containers.hpp>
|
||||
#include <pd/ui7/menu.hpp>
|
||||
#include <algorithm>
|
||||
|
||||
namespace PD {
|
||||
namespace UI7 {
|
||||
@@ -84,8 +84,8 @@ PD_API void Menu::ColorEdit(const std::string& label, u32& clr) {
|
||||
|
||||
PD_API void Menu::Separator() {
|
||||
// Dynamic Objects are very simple...
|
||||
Container* r = new DynObj(
|
||||
[=, this](UI7::IO* io, Li::Drawlist* l, UI7::Container* self) {
|
||||
Container* r =
|
||||
new DynObj([=, this](UI7::IO* io, Li::Drawlist* l, UI7::Container* self) {
|
||||
l->DrawRectFilled(self->FinalPos(), self->GetSize(),
|
||||
pIO.Theme.Get(UI7Color_TextDead));
|
||||
});
|
||||
@@ -99,7 +99,7 @@ PD_API void Menu::Separator() {
|
||||
PD_API void Menu::SeparatorText(const std::string& label) {
|
||||
// Also note to use [=] instead of [&] to not undefined access label
|
||||
Container* r = new DynObj([=, this](UI7::IO* io, Li::Drawlist* l,
|
||||
UI7::Container* self) {
|
||||
UI7::Container* self) {
|
||||
fvec2 size = self->GetSize();
|
||||
fvec2 tdim = io->Font->GetTextBounds(label.c_str(), io->FontScale);
|
||||
fvec2 pos = self->FinalPos();
|
||||
@@ -135,7 +135,7 @@ PD_API void Menu::HandleFocus() {
|
||||
PD::Hid::IsEvent(Hid::Event::Down, Hid::Keyboard::MouseLeft)) &&
|
||||
Li::Math::InBounds(PD::Hid::MousePos(), newarea) &&
|
||||
!Li::Math::InBounds(PD::Hid::MousePos(),
|
||||
pIO.InputHandler.FocusedMenuRect)) {
|
||||
pIO.InputHandler.FocusedMenuRect)) {
|
||||
pIO.InputHandler.FocusedMenu = pID;
|
||||
}
|
||||
if (pIO.InputHandler.FocusedMenu == pID) {
|
||||
@@ -188,7 +188,7 @@ PD_API void Menu::HandleTitlebarActions() {
|
||||
vec2 cpos = pLayout.Pos + pIO.FramePadding;
|
||||
// clr_collapse_tri = UI7Color_FrameBackground;
|
||||
if (pIO.InputHandler.DragObject(UI7::ID(pID.GetName() + "clbse"),
|
||||
fvec4(cpos, fvec2(18, TitleBarHeight)))) {
|
||||
fvec4(cpos, fvec2(18, TitleBarHeight)))) {
|
||||
if (pIO.InputHandler.DragReleased) {
|
||||
pIsOpen = !pIsOpen;
|
||||
}
|
||||
@@ -204,7 +204,7 @@ PD_API void Menu::HandleTitlebarActions() {
|
||||
|
||||
// clr_close_btn = UI7Color_FrameBackground;
|
||||
if (pIO.InputHandler.DragObject(UI7::ID(pID.GetName() + "clse"),
|
||||
fvec4(cpos, size))) {
|
||||
fvec4(cpos, size))) {
|
||||
if (pIO.InputHandler.DragReleased) {
|
||||
*pIsShown = !(*pIsShown);
|
||||
}
|
||||
@@ -217,7 +217,7 @@ PD_API void Menu::HandleTitlebarActions() {
|
||||
|
||||
// clr_close_btn = UI7Color_FrameBackground;
|
||||
if (pIO.InputHandler.DragObject(UI7::ID(pID.GetName() + "rszs"),
|
||||
fvec4(cpos, fvec2(20)))) {
|
||||
fvec4(cpos, fvec2(20)))) {
|
||||
fvec2 szs = pLayout.Size + (pIO.InputHandler.DragPosition -
|
||||
pIO.InputHandler.DragLastPosition);
|
||||
if (szs.x < 30) szs.x = 30;
|
||||
@@ -268,8 +268,8 @@ PD_API void Menu::DrawBaseLayout() {
|
||||
|
||||
/** Background */
|
||||
Container* r = new DynObj([](IO* io, Li::Drawlist* l,
|
||||
UI7::Container* self) {
|
||||
//l->Layer(0);
|
||||
UI7::Container* self) {
|
||||
// l->Layer(0);
|
||||
l->PathRectEx(self->FinalPos(), self->FinalPos() + self->GetSize(), 10.f,
|
||||
LiPathRectFlags_KeepTop | LiPathRectFlags_KeepBot);
|
||||
l->PathFill(io->Theme.Get(UI7Color_Background));
|
||||
@@ -284,13 +284,13 @@ PD_API void Menu::DrawBaseLayout() {
|
||||
UI7LytAdd_Front);
|
||||
}
|
||||
if (!(Flags & UI7MenuFlags_NoTitlebar)) {
|
||||
Container* r = new DynObj(
|
||||
Container* r = new DynObj(
|
||||
[=, this](UI7::IO* io, Li::Drawlist* l, UI7::Container* self) {
|
||||
//l->Layer(20);
|
||||
// l->Layer(20);
|
||||
/** Header Bar */
|
||||
l->DrawRectFilled(self->FinalPos(), self->GetSize(),
|
||||
io->Theme.Get(UI7Color_Header));
|
||||
//l->Layer(21);
|
||||
// l->Layer(21);
|
||||
/** Inline if statement to shift the Text if collapse sym is shown */
|
||||
/** What the hell is this code btw (didn't found a better way) */
|
||||
l->DrawText(self->FinalPos() +
|
||||
@@ -308,9 +308,9 @@ PD_API void Menu::DrawBaseLayout() {
|
||||
/** Collapse Sym */
|
||||
if (!(Flags & UI7MenuFlags_NoCollapse)) {
|
||||
r = new DynObj([=, this](UI7::IO* io, Li::Drawlist* l,
|
||||
UI7::Container* self) {
|
||||
UI7::Container* self) {
|
||||
/** This sym actually requires layer 21 (i dont know why) */
|
||||
//l->Layer(21);
|
||||
// l->Layer(21);
|
||||
/**
|
||||
* Symbol (Position Swapping set by pIsOpen ? openpos : closepos;)
|
||||
*/
|
||||
@@ -339,10 +339,10 @@ PD_API void Menu::DrawBaseLayout() {
|
||||
fvec2(pLayout.Pos.x + pLayout.Size.x - size.x - pIO.FramePadding.x,
|
||||
pLayout.Pos.y + pIO.FramePadding.y);
|
||||
pLayout.DrawList.DrawLine(cpos, cpos + size,
|
||||
pIO.Theme.Get(UI7Color_FrameBackground), 2);
|
||||
pIO.Theme.Get(UI7Color_FrameBackground), 2);
|
||||
pLayout.DrawList.DrawLine(cpos + fvec2(0, size.y),
|
||||
cpos + fvec2(size.x, 0),
|
||||
pIO.Theme.Get(UI7Color_FrameBackground), 2);
|
||||
cpos + fvec2(size.x, 0),
|
||||
pIO.Theme.Get(UI7Color_FrameBackground), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -394,14 +394,13 @@ PD_API bool Menu::BeginTreeNode(const ID& id) {
|
||||
l->DrawTriangleFilled(ts, ts + pl[0], ts + pl[1],
|
||||
io->Theme.Get(UI7Color_FrameBackground));
|
||||
|
||||
l->DrawText(self->FinalPos() + fvec2(10 + io->ItemSpace.x, 0), id.GetName().c_str(),
|
||||
io->Theme.Get(UI7Color_Text));
|
||||
l->DrawText(self->FinalPos() + fvec2(10 + io->ItemSpace.x, 0),
|
||||
id.GetName().c_str(), io->Theme.Get(UI7Color_Text));
|
||||
});
|
||||
/** Yes this new function handler was created for tree nodes */
|
||||
r->AddInputHandler([=, this](IO* io, Container* self) {
|
||||
if (io->InputHandler.DragObject(
|
||||
ID(pID.GetName() + id.GetName()),
|
||||
fvec4(self->FinalPos(), self->GetSize()))) {
|
||||
if (io->InputHandler.DragObject(ID(pID.GetName() + id.GetName()),
|
||||
fvec4(self->FinalPos(), self->GetSize()))) {
|
||||
if (io->InputHandler.DragReleased) {
|
||||
n->second = !n->second;
|
||||
}
|
||||
|
||||
+16
-18
@@ -51,15 +51,14 @@ PD_API void Context::UseViewPort(const ID& id) {
|
||||
pIO.CurrentViewPort = pIO.ViewPorts[id.RawID()];
|
||||
}
|
||||
|
||||
PD_API Menu* Context::BeginMenu(const ID& id, UI7MenuFlags flags,
|
||||
bool* pShow) {
|
||||
PD_API Menu* Context::BeginMenu(const ID& id, UI7MenuFlags flags, bool* pShow) {
|
||||
if (pCurrent) {
|
||||
PDERR("UI7: You are already in {} Menu!", pCurrent->pID.GetName());
|
||||
return nullptr;
|
||||
}
|
||||
if (std::find(pCurrentMenus.begin(), pCurrentMenus.end(), (u32)id) !=
|
||||
pCurrentMenus.end()) {
|
||||
PDERR("UI7: Menu {} already exists!", id.GetName());
|
||||
PDERR("UI7: Menu {} already exists!", id.GetName());
|
||||
return nullptr;
|
||||
}
|
||||
pCurrent = pGetOrCreateMenu(id);
|
||||
@@ -208,18 +207,18 @@ PD_API void Context::MetricsMenu(bool* show) {
|
||||
m->Label("Renderer: {}", PD::Gfx::GetDriverName());
|
||||
if (m->BeginTreeNode(
|
||||
std::string(std::string("Input: ") + PD::Hid::GetDriverName()))) {
|
||||
/* if (pIO.pCtx.Hid()->Flags & PD::HidDriver::Flags_HasKeyboard) {
|
||||
m->Label("- Keyboard Supported");
|
||||
}
|
||||
if (pIO.pCtx.Hid()->Flags & PD::HidDriver::Flags_HasMouse) {
|
||||
m->Label("- Mouse Supported");
|
||||
}
|
||||
if (pIO.pCtx.Hid()->Flags & PD::HidDriver::Flags_HasTouch) {
|
||||
m->Label("- Touch Supported");
|
||||
}
|
||||
if (pIO.pCtx.Hid()->Flags & PD::HidDriver::FLags_HasGamepad) {
|
||||
m->Label("- Gamepad Supported");
|
||||
}*/
|
||||
/* if (pIO.pCtx.Hid()->Flags & PD::HidDriver::Flags_HasKeyboard) {
|
||||
m->Label("- Keyboard Supported");
|
||||
}
|
||||
if (pIO.pCtx.Hid()->Flags & PD::HidDriver::Flags_HasMouse) {
|
||||
m->Label("- Mouse Supported");
|
||||
}
|
||||
if (pIO.pCtx.Hid()->Flags & PD::HidDriver::Flags_HasTouch) {
|
||||
m->Label("- Touch Supported");
|
||||
}
|
||||
if (pIO.pCtx.Hid()->Flags & PD::HidDriver::FLags_HasGamepad) {
|
||||
m->Label("- Gamepad Supported");
|
||||
}*/
|
||||
m->EndTreeNode();
|
||||
}
|
||||
/** Section IO */
|
||||
@@ -256,8 +255,7 @@ PD_API void Context::MetricsMenu(bool* show) {
|
||||
m->Label(std::format("Cursor: {}", pMenus[it]->pLayout.Cursor));
|
||||
if (m->BeginTreeNode(
|
||||
"ID Objects (" +
|
||||
std::to_string(pMenus[it]->pLayout.IDObjects.size()) +
|
||||
")")) {
|
||||
std::to_string(pMenus[it]->pLayout.IDObjects.size()) + ")")) {
|
||||
for (auto& jt : pMenus[it]->pLayout.IDObjects) {
|
||||
m->Label(std::format("{:08X}", jt->GetID()));
|
||||
}
|
||||
@@ -321,7 +319,7 @@ PD_API void UI7::Context::StyleEditor(bool* show) {
|
||||
}
|
||||
/// Small trick to print without prefix
|
||||
#define ts(x) m->ColorEdit(std::string(#x).substr(9), pIO.Theme.GetRef(x));
|
||||
#define ts2(x) \
|
||||
#define ts2(x) \
|
||||
m->DragData(std::string(#x).substr(9), (u8*)&pIO.Theme.GetRef(x), 4, (u8)0, \
|
||||
(u8)255);
|
||||
ts(UI7Color_Background);
|
||||
|
||||
Reference in New Issue
Block a user