mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-10-10 08:03:04 -04:00
Fixes possible crash in case of pathological UI vp dimensions, when attempting to clear a QS item's vp. E.g. https://github.com/federicoplg/musicOS (commit c5e8570) configures a 1x1 UI viewport at x=319 y=239, resulting in left/right item viewports that have negative width or height. Minor additional simplifications with no effect on behavior: - Combine actions requiring cleanup in a setup function. Put it below the existing cleanup function - Rename quick_screen_quick to quickscreen_show, and quickscreen_run to quickscreen_main - Iterate over items using FOR_QS_ITEMS macro - Remove quickscreen_draw_item's int_value - quickscreen_update: immediately continue if qs skinned - Remove some obsolete #includes Change-Id: I49aea3be837b861bdcd5132e84fef858df72327b
52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
/***************************************************************************
|
|
* __________ __ ___.
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
* \/ \/ \/ \/ \/
|
|
*
|
|
* Copyright (C) 2005 by Kevin Ferrare
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
****************************************************************************/
|
|
#include "button.h"
|
|
#include "config.h"
|
|
|
|
#ifdef HAVE_QUICKSCREEN
|
|
|
|
#ifndef _GUI_QUICKSCREEN_H_
|
|
#define _GUI_QUICKSCREEN_H_
|
|
|
|
#include "screen_access.h"
|
|
|
|
struct settings_list;
|
|
|
|
enum quickscreen_item {
|
|
QUICKSCREEN_TOP = 0,
|
|
QUICKSCREEN_LEFT,
|
|
QUICKSCREEN_RIGHT,
|
|
QUICKSCREEN_BOTTOM,
|
|
QUICKSCREEN_ITEM_COUNT,
|
|
};
|
|
|
|
enum quickscreen_return {
|
|
QUICKSCREEN_OK = 0,
|
|
QUICKSCREEN_IN_USB = 0x1,
|
|
QUICKSCREEN_GOTO_SHORTCUTS_MENU = 0x2,
|
|
QUICKSCREEN_CHANGED = 0x4,
|
|
};
|
|
|
|
int quickscreen_show(int button_enter);
|
|
void quickscreen_set_skinned(enum screen_type screen, bool skinned);
|
|
bool is_setting_quickscreenable(const struct settings_list *setting);
|
|
|
|
#endif /*_GUI_QUICK_SCREEN_H_*/
|
|
#endif /* HAVE_QUICKSCREEN */
|