Modern welcome screen with project grid and quick actions. More...
#include <welcome_screen.h>

Classes | |
| struct | Particle |
Public Member Functions | |
| WelcomeScreen () | |
| bool | Show (bool *p_open) |
| Show the welcome screen. | |
| void | SetOpenRomCallback (std::function< void()> callback) |
| Set callback for opening ROM. | |
| void | SetNewProjectCallback (std::function< void()> callback) |
| Set callback for creating new project. | |
| void | SetNewProjectWithTemplateCallback (std::function< void(const std::string &)> callback) |
| Set callback for creating project with template. | |
| void | SetOpenProjectCallback (std::function< void(const std::string &)> callback) |
| Set callback for opening project. | |
| void | SetOpenAgentCallback (std::function< void()> callback) |
| Set callback for opening AI Agent. | |
| void | SetOpenProjectDialogCallback (std::function< void()> callback) |
| Set callback for opening the project file dialog. | |
| void | SetOpenProjectManagementCallback (std::function< void()> callback) |
| Set callback for showing project management. | |
| void | SetOpenProjectFileEditorCallback (std::function< void()> callback) |
| Set callback for showing the project file editor. | |
| void | RefreshRecentProjects () |
| Refresh recent projects list from the project manager. | |
| void | UpdateAnimations () |
| Update animation time for dynamic effects. | |
| bool | ShouldShow () const |
| Check if screen should be shown. | |
| void | MarkManuallyClosed () |
| Mark as manually closed (don't show again this session) | |
| void | ResetFirstShow () |
| Reset first show flag (for testing/forcing display) | |
| void | SetLayoutOffsets (float left, float right) |
| Set layout offsets for sidebar awareness. | |
| void | SetContextState (bool has_rom, bool has_project) |
| Set context state for gating actions. | |
Private Member Functions | |
| void | DrawHeader () |
| void | DrawQuickActions () |
| void | DrawRecentProjects () |
| void | DrawProjectPanel (const RecentProject &project, int index, const ImVec2 &card_size) |
| void | DrawTemplatesSection () |
| void | DrawTipsSection () |
| void | DrawWhatsNew () |
Static Private Attributes | |
| static constexpr int | kMaxRecentProjects = 6 |
| static constexpr float | kEntryAnimDuration = 0.4f |
| static constexpr float | kEntryStaggerDelay = 0.08f |
| static constexpr int | kNumTriforces = 6 |
| static constexpr int | kMaxParticles = 50 |
Modern welcome screen with project grid and quick actions.
Definition at line 34 of file welcome_screen.h.
| yaze::editor::WelcomeScreen::WelcomeScreen | ( | ) |
Definition at line 497 of file welcome_screen.cc.
References RefreshRecentProjects().

| bool yaze::editor::WelcomeScreen::Show | ( | bool * | p_open | ) |
Show the welcome screen.
| p_open | Pointer to open state |
Definition at line 515 of file welcome_screen.cc.
References active_particle_count_, yaze::editor::WelcomeScreen::Particle::alpha, animation_time_, DrawHeader(), DrawQuickActions(), DrawRecentProjects(), DrawTipsSection(), DrawWhatsNew(), entry_animations_started_, entry_time_, first_show_attempt_, yaze::TimingManager::Get(), yaze::TimingManager::GetDeltaTime(), kMaxParticles, kNumTriforces, left_offset_, yaze::editor::WelcomeScreen::Particle::lifetime, M_PI, yaze::editor::WelcomeScreen::Particle::max_lifetime, particle_spawn_rate_, particles_, particles_enabled_, yaze::editor::WelcomeScreen::Particle::position, right_offset_, yaze::editor::WelcomeScreen::Particle::size, triforce_alpha_multiplier_, triforce_base_positions_, triforce_mouse_repel_enabled_, triforce_positions_, triforce_positions_initialized_, triforce_size_multiplier_, triforce_speed_multiplier_, UpdateAnimations(), and yaze::editor::WelcomeScreen::Particle::velocity.
|
inline |
Set callback for opening ROM.
Definition at line 48 of file welcome_screen.h.
References open_rom_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for creating new project.
Definition at line 55 of file welcome_screen.h.
References new_project_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for creating project with template.
Definition at line 62 of file welcome_screen.h.
References new_project_with_template_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for opening project.
Definition at line 70 of file welcome_screen.h.
References open_project_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for opening AI Agent.
Definition at line 78 of file welcome_screen.h.
References open_agent_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for opening the project file dialog.
Definition at line 85 of file welcome_screen.h.
References open_project_dialog_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for showing project management.
Definition at line 92 of file welcome_screen.h.
References open_project_management_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
|
inline |
Set callback for showing the project file editor.
Definition at line 99 of file welcome_screen.h.
References open_project_file_editor_callback_.
Referenced by yaze::editor::EditorManager::SetupWelcomeScreenCallbacks().
| void yaze::editor::WelcomeScreen::RefreshRecentProjects | ( | ) |
Refresh recent projects list from the project manager.
Definition at line 861 of file welcome_screen.cc.
References yaze::editor::RecentProject::filepath, yaze::project::RecentFilesManager::GetInstance(), ICON_MD_FOLDER_SPECIAL, ICON_MD_INSERT_DRIVE_FILE, ICON_MD_MEMORY, ICON_MD_WARNING, yaze::editor::RecentProject::item_icon, yaze::editor::RecentProject::item_type, kMaxRecentProjects, yaze::editor::RecentProject::last_modified, yaze::editor::RecentProject::metadata_summary, yaze::editor::RecentProject::name, recent_projects_, yaze::editor::RecentProject::rom_title, and yaze::editor::RecentProject::unavailable.
Referenced by WelcomeScreen().

| void yaze::editor::WelcomeScreen::UpdateAnimations | ( | ) |
Update animation time for dynamic effects.
Definition at line 847 of file welcome_screen.cc.
References animation_time_, card_hover_scale_, and hovered_card_.
Referenced by Show().
|
inline |
Check if screen should be shown.
Definition at line 116 of file welcome_screen.h.
References manually_closed_.
|
inline |
Mark as manually closed (don't show again this session)
Definition at line 121 of file welcome_screen.h.
References manually_closed_.
|
inline |
Reset first show flag (for testing/forcing display)
Definition at line 126 of file welcome_screen.h.
References first_show_attempt_.
|
inline |
Set layout offsets for sidebar awareness.
| left | Left sidebar width (0 if hidden) |
| right | Right panel width (0 if hidden) |
Definition at line 133 of file welcome_screen.h.
References left_offset_, and right_offset_.
|
inline |
Set context state for gating actions.
Definition at line 141 of file welcome_screen.h.
References has_project_, and has_rom_.
|
private |
Definition at line 981 of file welcome_screen.cc.
References entry_time_, yaze::editor::GetStaggeredEntryProgress(), yaze::gui::GetTextDisabledVec4(), yaze::gui::GetTextSecondaryVec4(), ICON_MD_CASTLE, kEntryAnimDuration, kEntryStaggerDelay, and YAZE_VERSION_STRING.
Referenced by Show().

|
private |
Definition at line 1068 of file welcome_screen.cc.
References entry_time_, yaze::editor::RecentProject::filepath, yaze::editor::GetStaggeredEntryProgress(), yaze::gui::GetTextSecondaryVec4(), ICON_MD_BOLT, ICON_MD_FOLDER_OPEN, ICON_MD_INFO, ICON_MD_PLAY_ARROW, yaze::editor::RecentProject::item_type, kEntryAnimDuration, kEntryStaggerDelay, yaze::editor::RecentProject::name, open_project_callback_, open_rom_callback_, and recent_projects_.
Referenced by Show().

|
private |
Definition at line 1215 of file welcome_screen.cc.
References yaze::project::RecentFilesManager::GetInstance(), yaze::editor::GetStaggeredEntryProgress(), yaze::gui::GetTextSecondaryVec4(), ICON_MD_DELETE_SWEEP, ICON_MD_EXPLORE, ICON_MD_FOLDER_SPECIAL, and ICON_MD_HISTORY.
Referenced by Show().

|
private |
Definition at line 1342 of file welcome_screen.cc.
References yaze::gui::ColoredText(), yaze::gui::ColoredTextF(), yaze::editor::RecentProject::filepath, yaze::project::RecentFilesManager::GetInstance(), yaze::gui::GetOnSurfaceVec4(), yaze::gui::GetSurfaceVariantVec4(), yaze::gui::GetSurfaceVec4(), yaze::gui::GetTextDisabledVec4(), yaze::gui::GetTextSecondaryVec4(), ICON_MD_CONTENT_COPY, ICON_MD_DELETE_SWEEP, ICON_MD_INFO, ICON_MD_INSERT_DRIVE_FILE, ICON_MD_OPEN_IN_NEW, ICON_MD_TOUCH_APP, yaze::editor::RecentProject::item_icon, yaze::editor::RecentProject::item_type, yaze::editor::RecentProject::last_modified, yaze::editor::RecentProject::metadata_summary, yaze::editor::RecentProject::name, yaze::editor::RecentProject::rom_title, and yaze::editor::RecentProject::unavailable.
|
private |
Definition at line 1539 of file welcome_screen.cc.
References yaze::editor::GetStaggeredEntryProgress(), yaze::gui::GetTextSecondaryVec4(), ICON_MD_AUTO_AWESOME, ICON_MD_AUTO_FIX_HIGH, ICON_MD_CHECK_CIRCLE, ICON_MD_CLOSE, ICON_MD_COTTAGE, ICON_MD_INFO, ICON_MD_LAYERS, ICON_MD_MAP, ICON_MD_MOUSE, ICON_MD_OPACITY, ICON_MD_REFRESH, ICON_MD_ROCKET_LAUNCH, ICON_MD_SHUFFLE, ICON_MD_SPEED, ICON_MD_TERRAIN, and ICON_MD_TUNE.

|
private |
Definition at line 1778 of file welcome_screen.cc.
References yaze::editor::GetStaggeredEntryProgress(), ICON_MD_CLOSE, and ICON_MD_LIGHTBULB.
Referenced by Show().

|
private |
Definition at line 1818 of file welcome_screen.cc.
References yaze::editor::GetStaggeredEntryProgress(), yaze::gui::GetTextSecondaryVec4(), ICON_MD_ACCOUNT_TREE, ICON_MD_ARCHIVE, ICON_MD_AUTO_AWESOME, ICON_MD_BUG_REPORT, ICON_MD_BUILD, ICON_MD_COLOR_LENS, ICON_MD_DASHBOARD, ICON_MD_FACT_CHECK, ICON_MD_GRID_VIEW, ICON_MD_NEW_RELEASES, ICON_MD_OPEN_IN_NEW, ICON_MD_PALETTE, ICON_MD_PUBLIC, ICON_MD_ROCKET_LAUNCH, ICON_MD_RULE, ICON_MD_SHIELD, ICON_MD_SYNC, ICON_MD_TABLET, ICON_MD_TERMINAL, ICON_MD_TRAM, ICON_MD_TUNE, ICON_MD_UNDO, ICON_MD_VERIFIED, ICON_MD_VISIBILITY, and YAZE_VERSION_STRING.
Referenced by Show().

|
private |
Definition at line 156 of file welcome_screen.h.
Referenced by DrawQuickActions(), and RefreshRecentProjects().
|
private |
Definition at line 157 of file welcome_screen.h.
Referenced by MarkManuallyClosed(), and ShouldShow().
|
private |
Definition at line 158 of file welcome_screen.h.
Referenced by ResetFirstShow(), and Show().
|
private |
Definition at line 161 of file welcome_screen.h.
Referenced by DrawQuickActions(), and SetOpenRomCallback().
|
private |
Definition at line 162 of file welcome_screen.h.
Referenced by SetNewProjectCallback().
|
private |
Definition at line 163 of file welcome_screen.h.
Referenced by DrawQuickActions(), and SetOpenProjectCallback().
|
private |
Definition at line 164 of file welcome_screen.h.
Referenced by SetNewProjectWithTemplateCallback().
|
private |
Definition at line 165 of file welcome_screen.h.
Referenced by SetOpenAgentCallback().
|
private |
Definition at line 166 of file welcome_screen.h.
Referenced by SetOpenProjectDialogCallback().
|
private |
Definition at line 167 of file welcome_screen.h.
Referenced by SetOpenProjectManagementCallback().
|
private |
Definition at line 168 of file welcome_screen.h.
Referenced by SetOpenProjectFileEditorCallback().
|
private |
Definition at line 171 of file welcome_screen.h.
|
staticconstexprprivate |
Definition at line 172 of file welcome_screen.h.
Referenced by RefreshRecentProjects().
|
private |
Definition at line 175 of file welcome_screen.h.
Referenced by Show(), and UpdateAnimations().
|
private |
Definition at line 176 of file welcome_screen.h.
Referenced by UpdateAnimations().
|
private |
Definition at line 177 of file welcome_screen.h.
Referenced by UpdateAnimations().
|
private |
Definition at line 180 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 181 of file welcome_screen.h.
Referenced by DrawHeader(), DrawQuickActions(), and Show().
|
staticconstexprprivate |
Definition at line 182 of file welcome_screen.h.
Referenced by DrawHeader(), and DrawQuickActions().
|
staticconstexprprivate |
Definition at line 183 of file welcome_screen.h.
Referenced by DrawHeader(), and DrawQuickActions().
|
staticconstexprprivate |
Definition at line 186 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 187 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 188 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 189 of file welcome_screen.h.
Referenced by Show().
|
staticconstexprprivate |
Definition at line 192 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 201 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 202 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 205 of file welcome_screen.h.
|
private |
Definition at line 206 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 207 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 208 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 209 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 210 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 211 of file welcome_screen.h.
Referenced by Show().
|
private |
Definition at line 214 of file welcome_screen.h.
Referenced by SetLayoutOffsets(), and Show().
|
private |
Definition at line 215 of file welcome_screen.h.
Referenced by SetLayoutOffsets(), and Show().
|
private |
Definition at line 218 of file welcome_screen.h.
Referenced by SetContextState().
|
private |
Definition at line 219 of file welcome_screen.h.
Referenced by SetContextState().
|
private |
Definition at line 222 of file welcome_screen.h.