#pragma once #include #include #include #include namespace hex::plugin::builtin { class ViewAbout : public View::Modal { public: ViewAbout(); void drawContent() override; [[nodiscard]] bool shouldDraw() const override { return true; } [[nodiscard]] bool hasViewMenuItemEntry() const override { return false; } [[nodiscard]] ImGuiWindowFlags getWindowFlags() const override { return ImGuiWindowFlags_AlwaysAutoResize; } ImVec2 getMinSize() const override { return scaled({ 700, 450 }); } ImVec2 getMaxSize() const override { return scaled({ 700, 450 }); } private: void drawAboutPopup(); void drawAboutMainPage(); void drawContributorPage(); void drawLibraryCreditsPage(); void drawLoadedPlugins(); void drawPathsPage(); void drawReleaseNotesPage(); void drawCommitHistoryPage(); void drawLicensePage(); ImGuiExt::Texture m_logoTexture; std::future> m_releaseNoteRequest, m_commitHistoryRequest; u32 m_clickCount = 0; }; }