Skip to content

Commit

Permalink
add scene handlers declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
GLinnik21 committed Sep 1, 2023
1 parent b58b860 commit 75cbf40
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 1 deletion.
25 changes: 25 additions & 0 deletions scenes/mh_z19_scene.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include "mh_z19_scene.h"

// Array of on_enter handlers
AppSceneOnEnterCallback mh_z19_scene_on_enter_handlers[MhZ19AppSceneCount] = {
mh_z19_scene_setup_on_enter,
mh_z19_scene_main_on_enter,
mh_z19_scene_menu_on_enter};

// Array of on_event handlers
AppSceneOnEventCallback mh_z19_scene_on_event_handlers[MhZ19AppSceneCount] = {
mh_z19_scene_setup_on_event,
mh_z19_scene_main_on_event,
mh_z19_scene_menu_on_event};

// Array of on_exit handlers
AppSceneOnExitCallback mh_z19_scene_on_exit_handlers[MhZ19AppSceneCount] = {
mh_z19_scene_setup_on_exit,
mh_z19_scene_main_on_exit,
mh_z19_scene_menu_on_exit};

const SceneManagerHandlers mh_z19_scene_handlers = {
.on_enter_handlers = mh_z19_scene_on_enter_handlers,
.on_event_handlers = mh_z19_scene_on_event_handlers,
.on_exit_handlers = mh_z19_scene_on_exit_handlers,
.scene_num = MhZ19AppSceneCount};
21 changes: 20 additions & 1 deletion scenes/mh_z19_scene.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,27 @@
#pragma once

#include <gui/scene_manager.h>

extern const SceneManagerHandlers mh_z19_scene_handlers;

// For MhZ19AppSceneSetup
void mh_z19_scene_setup_on_enter(void* context);
bool mh_z19_scene_setup_on_event(void* context, SceneManagerEvent event);
void mh_z19_scene_setup_on_exit(void* context);

// For MhZ19AppSceneMain
void mh_z19_scene_main_on_enter(void* context);
bool mh_z19_scene_main_on_event(void* context, SceneManagerEvent event);
void mh_z19_scene_main_on_exit(void* context);

// For MhZ19AppSceneMenu
void mh_z19_scene_menu_on_enter(void* context);
bool mh_z19_scene_menu_on_event(void* context, SceneManagerEvent event);
void mh_z19_scene_menu_on_exit(void* context);

typedef enum MhZ19AppScene {
MhZ19AppSceneSetup,
MhZ19AppSceneMain,
MhZ19AppSceneMenu,
MhZ19AppSceneCount,
} MhZ19AppScene;
} MhZ19AppScene;

0 comments on commit 75cbf40

Please sign in to comment.