summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/gray_parm.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-08-07 01:46:42 +0000
committerJens Arnold <amiconn@rockbox.org>2006-08-07 01:46:42 +0000
commitc214e7bb0c3e97d22ecedb1c62f193e19a1d4818 (patch)
tree6d8b18694076dcf1d0fa2f02f558f78e572327b4 /apps/plugins/lib/gray_parm.c
parent5375e26e51e9c6eaded4f733bf60cc8bbf662a8a (diff)
downloadrockbox-c214e7bb0c3e97d22ecedb1c62f193e19a1d4818.tar.gz
rockbox-c214e7bb0c3e97d22ecedb1c62f193e19a1d4818.zip
Grayscale library ported to the grayscale iPods, first version. Added C reference versions of gray_update_rect() for both horizontal and vertical pixel packing. gray_update_rect() and gray_ub_gray_bitmap_part() not yet assembler optimised. Grayscale screendump doesn't work yet. * Fixed button assignments for iPod in grayscale.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10468 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib/gray_parm.c')
-rw-r--r--apps/plugins/lib/gray_parm.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/apps/plugins/lib/gray_parm.c b/apps/plugins/lib/gray_parm.c
index a6064e3ad3..ea39eadc66 100644
--- a/apps/plugins/lib/gray_parm.c
+++ b/apps/plugins/lib/gray_parm.c
@@ -11,7 +11,8 @@
11* Parameter handling 11* Parameter handling
12* 12*
13* This is a generic framework to display up to 33 shades of grey 13* This is a generic framework to display up to 33 shades of grey
14* on low-depth bitmap LCDs (Archos b&w, Iriver 4-grey) within plugins. 14* on low-depth bitmap LCDs (Archos b&w, Iriver 4-grey, iPod 4-grey)
15* within plugins.
15* 16*
16* Copyright (C) 2004-2006 Jens Arnold 17* Copyright (C) 2004-2006 Jens Arnold
17* 18*
@@ -29,11 +30,19 @@
29#include "gray.h" 30#include "gray.h"
30 31
31/* Set position of the top left corner of the greyscale overlay 32/* Set position of the top left corner of the greyscale overlay
32 Note that by is in pixel-block units (8 pixels) */ 33 Note that depending on the target LCD, either x or y gets rounded
33void gray_set_position(int x, int by) 34 to the nearest multiple of 8 */
35void gray_set_position(int x, int y)
34{ 36{
37#if LCD_PIXELFORMAT == HORIZONTAL_PACKING
38 _gray_info.bx = (x + 3) / 8;
39 x = 8 * _gray_info.bx;
40#else
41 _gray_info.by = (y + 3) / 8;
42 y = 8 * _gray_info.by;
43#endif
35 _gray_info.x = x; 44 _gray_info.x = x;
36 _gray_info.by = by; 45 _gray_info.y = y;
37 46
38 if (_gray_info.flags & _GRAY_RUNNING) 47 if (_gray_info.flags & _GRAY_RUNNING)
39 { 48 {