Gigabeat S: Do simple direct keypad scanning rather than triggering a separate scan...
[kugel-rb.git] / apps / gui / scrollbar.h
blob31f91a3eaadf7ad7cd58e705faa83cb9fc69e3b1
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2005 Kevin Ferrare
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.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef _GUI_SCROLLBAR_H_
23 #define _GUI_SCROLLBAR_H_
24 #include "screen_access.h"
26 #ifdef HAVE_LCD_BITMAP
28 enum orientation {
29 VERTICAL = 0x0000, /* Vertical orientation */
30 HORIZONTAL = 0x0001, /* Horizontal orientation */
31 INVERTFILL = 0x0002, /* Invert the fill direction */
32 INNER_NOFILL = 0x0004, /* Do not fill inner part */
33 #ifdef HAVE_LCD_COLOR
34 FOREGROUND = 0x0020, /* Do not clear background pixels */
35 INNER_FILL = 0x0040, /* Fill inner part even if FOREGROUND */
36 INNER_BGFILL = 0x0080, /* Fill inner part with background
37 color even if FOREGROUND */
38 INNER_FILL_MASK = 0x00c0,
39 #endif
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
54 extern 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);
58 extern 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);
63 extern void show_busy_slider(struct screen *s, int x, int y,
64 int width, int height);
65 #endif /* HAVE_LCD_BITMAP */
66 #endif /* _GUI_SCROLLBAR_H_ */