Hide statusbar during update slideshow, updated asset.

This commit is contained in:
Andrea Santaniello
2026-03-12 13:26:15 +01:00
parent 03897a406e
commit 43b86fc17b
6 changed files with 27 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
#include <storage/storage.h>
#include <gui/gui.h>
#include "../desktop_i.h"
#include "../views/desktop_view_slideshow.h"
@@ -14,6 +15,7 @@ void desktop_scene_slideshow_on_enter(void* context) {
Desktop* desktop = (Desktop*)context;
DesktopSlideshowView* slideshow_view = desktop->slideshow_view;
gui_set_hide_status_bar(desktop->gui, true);
desktop_view_slideshow_set_callback(slideshow_view, desktop_scene_slideshow_callback, desktop);
view_dispatcher_switch_to_view(desktop->view_dispatcher, DesktopViewIdSlideshow);
@@ -46,5 +48,6 @@ bool desktop_scene_slideshow_on_event(void* context, SceneManagerEvent event) {
void desktop_scene_slideshow_on_exit(void* context) {
Desktop* desktop = context;
gui_set_hide_status_bar(desktop->gui, false);
storage_common_remove(desktop->storage, SLIDESHOW_FS_PATH);
}

View File

@@ -260,7 +260,9 @@ static void gui_redraw(Gui* gui) {
if(!gui_redraw_window(gui)) {
gui_redraw_desktop(gui);
}
gui_redraw_status_bar(gui, false);
if(!gui->hide_status_bar) {
gui_redraw_status_bar(gui, false);
}
}
}
@@ -512,6 +514,16 @@ bool gui_is_lockdown(const Gui* gui) {
return gui->lockdown && !gui->lockdown_inhibit;
}
void gui_set_hide_status_bar(Gui* gui, bool hide) {
furi_check(gui);
gui_lock(gui);
gui->hide_status_bar = hide;
gui_unlock(gui);
gui_update(gui);
}
Canvas* gui_direct_draw_acquire(Gui* gui) {
furi_check(gui);

View File

@@ -127,6 +127,16 @@ void gui_set_lockdown_inhibit(Gui* gui, bool inhibit);
*/
bool gui_is_lockdown(const Gui* gui);
/** Set hide status bar mode
*
* When enabled, the status bar is not drawn on top of the desktop layer.
* Used by the slideshow to show fullscreen content without the status bar overlay.
*
* @param gui Gui instance
* @param hide bool, true to hide status bar
*/
void gui_set_hide_status_bar(Gui* gui, bool hide);
/** Acquire Direct Draw lock and get Canvas instance
*
* This method return Canvas instance for use in monopoly mode. Direct draw lock

View File

@@ -53,6 +53,7 @@ struct Gui {
bool lockdown;
bool lockdown_inhibit;
bool direct_draw;
bool hide_status_bar;
ViewPortArray_t layers[GuiLayerMAX];
Canvas* canvas;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB