diff options
author | Thomas Martitz <kugel@rockbox.org> | 2012-03-20 22:39:48 +0100 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2012-03-20 22:42:31 +0100 |
commit | bae247075868986910dd426909370f2230b9331d (patch) | |
tree | 34b5741fcd39638baad8cf9ae26e3457abd10d6d /firmware/drivers/lcd-16bit-vert.c | |
parent | 94139ac0bd3e1ca5d384ac8ac5ad2a915d633a82 (diff) | |
download | rockbox-bae247075868986910dd426909370f2230b9331d.tar.gz rockbox-bae247075868986910dd426909370f2230b9331d.zip |
Refactor lcd_clear_viewport().
* Unify 16bit implementaitons (move to 16bit-common.c).
* Add viewport clipping (within #ifdef HAVE_VIEWPORT_CLIP) like other lcd_* functions have.
Change-Id: I4e96b2efdb94d2f7bc5bcdb710554117989579ec
Diffstat (limited to 'firmware/drivers/lcd-16bit-vert.c')
-rw-r--r-- | firmware/drivers/lcd-16bit-vert.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/firmware/drivers/lcd-16bit-vert.c b/firmware/drivers/lcd-16bit-vert.c index 6f59af9f70..2ebd6a366e 100644 --- a/firmware/drivers/lcd-16bit-vert.c +++ b/firmware/drivers/lcd-16bit-vert.c | |||
@@ -46,56 +46,6 @@ | |||
46 | 46 | ||
47 | /*** drawing functions ***/ | 47 | /*** drawing functions ***/ |
48 | 48 | ||
49 | /* Clear the current viewport */ | ||
50 | void lcd_clear_viewport(void) | ||
51 | { | ||
52 | fb_data *dst, *dst_end; | ||
53 | |||
54 | dst = FBADDR(current_vp->x, current_vp->y); | ||
55 | dst_end = dst + current_vp->width * LCD_HEIGHT; | ||
56 | |||
57 | if (current_vp->drawmode & DRMODE_INVERSEVID) | ||
58 | { | ||
59 | do | ||
60 | { | ||
61 | memset16(dst, current_vp->fg_pattern, current_vp->height); | ||
62 | dst += LCD_HEIGHT; | ||
63 | } | ||
64 | while (dst < dst_end); | ||
65 | } | ||
66 | else | ||
67 | { | ||
68 | if (!lcd_backdrop) | ||
69 | { | ||
70 | do | ||
71 | { | ||
72 | memset16(dst, current_vp->bg_pattern, current_vp->height); | ||
73 | dst += LCD_HEIGHT; | ||
74 | } | ||
75 | while (dst < dst_end); | ||
76 | } | ||
77 | else | ||
78 | { | ||
79 | do | ||
80 | { | ||
81 | memcpy(dst, (void *)((long)dst + lcd_backdrop_offset), | ||
82 | current_vp->height * sizeof(fb_data)); | ||
83 | dst += LCD_HEIGHT; | ||
84 | } | ||
85 | while (dst < dst_end); | ||
86 | } | ||
87 | } | ||
88 | |||
89 | if (current_vp == &default_vp) | ||
90 | { | ||
91 | lcd_scroll_info.lines = 0; | ||
92 | } | ||
93 | else | ||
94 | { | ||
95 | lcd_scroll_stop(current_vp); | ||
96 | } | ||
97 | } | ||
98 | |||
99 | /* Draw a horizontal line (optimised) */ | 49 | /* Draw a horizontal line (optimised) */ |
100 | void lcd_hline(int x1, int x2, int y) | 50 | void lcd_hline(int x1, int x2, int y) |
101 | { | 51 | { |