A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2005 Kevin Ferrare
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#ifndef _GUI_SCROLLBAR_H_
23#define _GUI_SCROLLBAR_H_
24#include "screen_access.h"
25
26enum orientation {
27 VERTICAL = 0x0000, /* Vertical orientation */
28 HORIZONTAL = 0x0001, /* Horizontal orientation */
29 INVERTFILL = 0x0002, /* Invert the fill direction */
30 INNER_NOFILL = 0x0004, /* Do not fill inner part */
31 BORDER_NOFILL = 0x0008, /* Do not fill border part */
32#ifdef HAVE_LCD_COLOR
33 FOREGROUND = 0x0020, /* Do not clear background pixels */
34 INNER_FILL = 0x0040, /* Fill inner part even if FOREGROUND */
35 INNER_BGFILL = 0x0080, /* Fill inner part with background
36 color even if FOREGROUND */
37 INNER_FILL_MASK = 0x00c0,
38#endif
39 DONT_CLEAR_EXCESS = 0x0100, /* Don't clear the entire bar area */
40};
41
42/*
43 * Draws a scrollbar on the given screen
44 * - screen : the screen to put the scrollbar on
45 * - x : x start position of the scrollbar
46 * - y : y start position of the scrollbar
47 * - width : you won't guess =(^o^)=
48 * - height : I won't tell you either !
49 * - items : total number of items on the screen
50 * - min_shown : index of the starting item on the screen
51 * - max_shown : index of the last item on the screen
52 * - orientation : either VERTICAL or HORIZONTAL
53 */
54extern void gui_scrollbar_draw(struct screen * screen, int x, int y,
55 int width, int height, int items,
56 int min_shown, int max_shown,
57 unsigned flags);
58extern void gui_bitmap_scrollbar_draw(struct screen * screen, struct bitmap *bm,
59 int x, int y,
60 int width, int height, int items,
61 int min_shown, int max_shown,
62 unsigned flags);
63extern void show_busy_slider(struct screen *s, int x, int y,
64 int width, int height);
65#endif /* _GUI_SCROLLBAR_H_ */