Update widgets module. Raster example initial.
This commit is contained in:
parent
9e339defd6
commit
9cfae3fe3e
48 changed files with 1169 additions and 530 deletions
|
|
@ -18,7 +18,8 @@ using namespace tp;
|
|||
|
||||
class LibraryViewer : public Application {
|
||||
public:
|
||||
LibraryViewer() : gui(&library, &player) {
|
||||
LibraryViewer() :
|
||||
gui(&library, &player) {
|
||||
library.loadJson(getHome() + "Library.json");
|
||||
library.checkExisting();
|
||||
|
||||
|
|
@ -27,22 +28,22 @@ public:
|
|||
|
||||
void processFrame(EventHandler* eventHandler) override {
|
||||
auto rec = RectF{ { 0, 0 }, mWindow->getSize() };
|
||||
|
||||
gui.updateConfigCache(mWidgetManager);
|
||||
gui.proc(*eventHandler, rec, rec);
|
||||
}
|
||||
|
||||
void drawFrame(Canvas* canvas) override {
|
||||
gui.draw(*canvas);
|
||||
}
|
||||
void drawFrame(Canvas* canvas) override { gui.draw(*canvas); }
|
||||
|
||||
private:
|
||||
Player player;
|
||||
Library library;
|
||||
|
||||
tp::WidgetManager mWidgetManager;
|
||||
LibraryWidget<EventHandler, Canvas> gui;
|
||||
};
|
||||
|
||||
int main() {
|
||||
tp::GlobalGUIConfig config;
|
||||
tp::gGlobalGUIConfig = &config;
|
||||
|
||||
LibraryViewer lib;
|
||||
lib.run();
|
||||
|
|
|
|||
|
|
@ -18,15 +18,10 @@ namespace tp {
|
|||
col.mColor.setNoTransition({ 0.15f, 0.15f, 0.15f, 0.f });
|
||||
};
|
||||
|
||||
void proc(const Events& events, const RectF& areaParent, const RectF& area) override {
|
||||
void procBody(const Events& events) override {
|
||||
mSelected = false;
|
||||
this->mArea = area;
|
||||
this->mVisible = area.isOverlap(areaParent);
|
||||
if (!this->mVisible) return;
|
||||
|
||||
if (!mTrack) return;
|
||||
if (!areaParent.isOverlap(area)) return;
|
||||
if (area.isInside(events.getPointer())) {
|
||||
if (this->mArea.isInside(events.getPointer())) {
|
||||
col.set({ 0.15f, 0.15f, 0.15f, 1.f });
|
||||
mSelected = events.isReleased(InputID::MOUSE1);
|
||||
} else {
|
||||
|
|
@ -34,8 +29,7 @@ namespace tp {
|
|||
}
|
||||
}
|
||||
|
||||
void draw(Canvas& canvas) override {
|
||||
if (!this->mVisible) return;
|
||||
void drawBody(Canvas& canvas) override {
|
||||
if (!mTrack) return;
|
||||
|
||||
canvas.rect(this->mArea, col.get(), 4.f);
|
||||
|
|
@ -82,16 +76,7 @@ namespace tp {
|
|||
items.append({ "Date Last Played" });
|
||||
}
|
||||
|
||||
void proc(const Events&, const RectF& areaParent, const RectF& area) override {
|
||||
this->mArea = area;
|
||||
this->mVisible = area.isOverlap(areaParent);
|
||||
if (!this->mVisible) return;
|
||||
if (!mTrack) return;
|
||||
// renderUI();
|
||||
}
|
||||
|
||||
void draw(Canvas&) override {
|
||||
if (!this->mVisible) return;
|
||||
void drawBody(Canvas&) override {
|
||||
if (!mTrack) return;
|
||||
// canvas.rect(this->mArea, { 0.13f, 0.13f, 0.13f, 1.f }, 4.f);
|
||||
renderUI();
|
||||
|
|
@ -220,11 +205,7 @@ namespace tp {
|
|||
}
|
||||
}
|
||||
|
||||
void proc(const Events& events, const RectF& areaParent, const RectF& aArea) override {
|
||||
this->mArea = aArea;
|
||||
this->mVisible = this->mArea.isOverlap(areaParent);
|
||||
if (!this->mVisible) return;
|
||||
|
||||
void procBody(const Events& events) override {
|
||||
filter();
|
||||
|
||||
mSplitView.proc(events, this->mArea, this->mArea);
|
||||
|
|
@ -242,9 +223,7 @@ namespace tp {
|
|||
// mCurrentTrack.proc(events, this->mArea, mSplitView.getFirst());
|
||||
}
|
||||
|
||||
void draw(Canvas& canvas) override {
|
||||
if (!this->mVisible) return;
|
||||
|
||||
void drawBody(Canvas& canvas) override {
|
||||
canvas.rect(this->mArea, { 0.1f, 0.1f, 0.1f, 1.f });
|
||||
|
||||
mSplitView.draw(canvas);
|
||||
|
|
@ -283,6 +262,14 @@ namespace tp {
|
|||
mCurrentTrackInfo.isSongFilterChanged = false;
|
||||
}
|
||||
|
||||
void updateConfigCache(WidgetManager& wm) override {
|
||||
wm.setActiveId("LibraryWidget");
|
||||
mSplitView.updateConfigCache(wm);
|
||||
mCurrentTrack.updateConfigCache(wm);
|
||||
mCurrentTrackInfo.updateConfigCache(wm);
|
||||
mSongList.updateConfigCache(wm);
|
||||
}
|
||||
|
||||
private:
|
||||
Library* mLibrary = nullptr;
|
||||
Player* mPlayer = nullptr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue