summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/puzzles/rockbox.c63
1 files changed, 24 insertions, 39 deletions
diff --git a/apps/plugins/puzzles/rockbox.c b/apps/plugins/puzzles/rockbox.c
index 9865407..b3a225a 100644
--- a/apps/plugins/puzzles/rockbox.c
+++ b/apps/plugins/puzzles/rockbox.c
@@ -532,50 +532,35 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype,
int fontsize, int align, int color, const char *text)
{
(void) fontsize;
- if(!zoom_enabled)
- {
- LOGF("rb_draw_text(%d %d %s)", x, y, text);
- offset_coords(&x, &y);
+ rb_color(color);
+ rb_setfont(fonttype, fontsize); /* size will be clamped if too large */
- rb_setfont(fonttype, fontsize);
+ int w, h;
+ rb->lcd_getstringsize(text, &w, &h);
- int w, h;
- rb->lcd_getstringsize(text, &w, &h);
+ if(align & ALIGN_VNORMAL)
+ y -= h;
+ else if(align & ALIGN_VCENTRE)
+ y -= h / 2;
- if(align & ALIGN_VNORMAL)
- y -= h;
- else if(align & ALIGN_VCENTRE)
- y -= h / 2;
+ if(align & ALIGN_HCENTRE)
+ x -= w / 2;
+ else if(align & ALIGN_HRIGHT)
+ x -= w;
- if(align & ALIGN_HCENTRE)
- x -= w / 2;
- else if(align & ALIGN_HRIGHT)
- x -= w;
+ if(!zoom_enabled)
+ {
+ LOGF("rb_draw_text(%d %d %s)", x, y, text);
+
+ offset_coords(&x, &y);
- rb_color(color);
rb->lcd_set_drawmode(DRMODE_FG);
rb->lcd_putsxy(x, y, text);
rb->lcd_set_drawmode(DRMODE_SOLID);
}
else
{
- rb_color(color);
- rb_setfont(fonttype, fontsize); /* size will be clamped if too large */
-
- int w, h;
- rb->lcd_getstringsize(text, &w, &h);
-
- if(align & ALIGN_VNORMAL)
- y -= h;
- else if(align & ALIGN_VCENTRE)
- y -= h / 2;
-
- if(align & ALIGN_HCENTRE)
- x -= w / 2;
- else if(align & ALIGN_HRIGHT)
- x -= w;
-
/* we need to access the font bitmap directly */
struct font *pf = rb->font_get(cur_font);
@@ -606,17 +591,16 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype,
static void rb_draw_rect(void *handle, int x, int y, int w, int h, int color)
{
+ rb_color(color);
if(!zoom_enabled)
{
LOGF("rb_draw_rect(%d, %d, %d, %d, %d)", x, y, w, h, color);
- rb_color(color);
offset_coords(&x, &y);
rb->lcd_fillrect(x, y, w, h);
}
else
{
/* TODO: clipping */
- rb_color(color);
for(int i = y; i < y + h; ++i)
{
zoom_hline(x, x + w, i);
@@ -748,10 +732,12 @@ static void draw_antialiased_line(fb_data *fb, int w, int h, int x0, int y0, int
static void rb_draw_line(void *handle, int x1, int y1, int x2, int y2,
int color)
{
+ rb_color(color);
+
if(!zoom_enabled)
{
LOGF("rb_draw_line(%d, %d, %d, %d, %d)", x1, y1, x2, y2, color);
- rb_color(color);
+#if defined(FOR_REAL) && defined(DEBUG_MENU)
if(debug_settings.no_aa)
{
offset_coords(&x1, &y1);
@@ -759,13 +745,13 @@ static void rb_draw_line(void *handle, int x1, int y1, int x2, int y2,
rb->lcd_drawline(x1, y1, x2, y2);
}
else
+#endif
draw_antialiased_line(rb->lcd_framebuffer, LCD_WIDTH, LCD_HEIGHT, x1, y1, x2, y2);
}
else
{
/* draw_antialiased_line uses rb->lcd_get_foreground() to get
* the color */
- rb_color(color);
draw_antialiased_line(zoom_fb, zoom_w, zoom_h, x1, y1, x2, y2);
}
@@ -1917,7 +1903,7 @@ static void zoom(void)
zoom_fb = smalloc(zoom_w * zoom_h * sizeof(fb_data));
if(!zoom_fb)
{
- rb->splashf(HZ * 2, "Not enough memory to allocate %d KB framebuffer!", zoom_w * zoom_h * sizeof(fb_data) / 1024);
+ rb->splash(HZ, "OOM");
return;
}
@@ -2270,7 +2256,6 @@ static bool config_menu(void)
if(!config)
{
- rb->splash(HZ, "Nothing to configure.");
goto done;
}
@@ -3181,7 +3166,7 @@ static bool load_game(void)
/* success */
return true;
}
- rb->splashf(HZ, "Failed loading save for %s!", game);
+ rb->splash(HZ, "Load failed.");
/* clean up, even on failure */
rb->close(fd);