forked from len0rd/rockbox
Mosaique now working on the player, using the player graphics library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5918 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
d352b2d2bc
commit
b021f78eca
2 changed files with 50 additions and 17 deletions
|
|
@ -6,6 +6,7 @@ favorites.c
|
||||||
firmware_flash.c
|
firmware_flash.c
|
||||||
helloworld.c
|
helloworld.c
|
||||||
metronome.c
|
metronome.c
|
||||||
|
mosaique.c
|
||||||
rockbox_flash.c
|
rockbox_flash.c
|
||||||
search.c
|
search.c
|
||||||
sort.c
|
sort.c
|
||||||
|
|
@ -22,7 +23,6 @@ grayscale.c
|
||||||
jpeg.c
|
jpeg.c
|
||||||
mandelbrot.c
|
mandelbrot.c
|
||||||
minesweeper.c
|
minesweeper.c
|
||||||
mosaique.c
|
|
||||||
oscillograph.c
|
oscillograph.c
|
||||||
oscilloscope.c
|
oscilloscope.c
|
||||||
pong.c
|
pong.c
|
||||||
|
|
@ -57,7 +57,7 @@ wormlet.c
|
||||||
#ifdef HAVE_LCD_CHARCELLS /* Player model only */
|
#ifdef HAVE_LCD_CHARCELLS /* Player model only */
|
||||||
euroconverter.c
|
euroconverter.c
|
||||||
jackpot.c
|
jackpot.c
|
||||||
nim.c
|
nim.c
|
||||||
#endif /* #ifdef HAVE_LCD_CHARCELLS */
|
#endif /* #ifdef HAVE_LCD_CHARCELLS */
|
||||||
|
|
||||||
#ifndef HAVE_MMC
|
#ifndef HAVE_MMC
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,15 @@
|
||||||
*
|
*
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
|
#include "playergfx.h"
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
|
||||||
#define LARGE ((LCD_WIDTH - 2) / 2)
|
#define LARGE ((LCD_WIDTH - 2) / 2)
|
||||||
#define HAUT ((LCD_HEIGHT - 2) / 2)
|
#define HAUT ((LCD_HEIGHT - 2) / 2)
|
||||||
|
#else
|
||||||
|
#define LARGE 9
|
||||||
|
#define HAUT 6
|
||||||
|
#endif
|
||||||
|
|
||||||
/* variable button definitions */
|
/* variable button definitions */
|
||||||
#if CONFIG_KEYPAD == RECORDER_PAD
|
#if CONFIG_KEYPAD == RECORDER_PAD
|
||||||
|
|
@ -29,11 +33,15 @@
|
||||||
#define MOSAIQUE_SPEED BUTTON_F1
|
#define MOSAIQUE_SPEED BUTTON_F1
|
||||||
#define MOSAIQUE_RESTART BUTTON_PLAY
|
#define MOSAIQUE_RESTART BUTTON_PLAY
|
||||||
|
|
||||||
|
#elif CONFIG_KEYPAD == PLAYER_PAD
|
||||||
|
#define MOSAIQUE_QUIT BUTTON_STOP
|
||||||
|
#define MOSAIQUE_SPEED BUTTON_MENU
|
||||||
|
#define MOSAIQUE_RESTART BUTTON_PLAY
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == ONDIO_PAD
|
#elif CONFIG_KEYPAD == ONDIO_PAD
|
||||||
#define MOSAIQUE_QUIT BUTTON_OFF
|
#define MOSAIQUE_QUIT BUTTON_OFF
|
||||||
#define MOSAIQUE_SPEED BUTTON_LEFT
|
#define MOSAIQUE_SPEED BUTTON_MENU
|
||||||
#define MOSAIQUE_SPEED2 BUTTON_RIGHT
|
#define MOSAIQUE_RESTART BUTTON_RIGHT
|
||||||
#define MOSAIQUE_RESTART BUTTON_MENU
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == IRIVER_H100_PAD
|
#elif CONFIG_KEYPAD == IRIVER_H100_PAD
|
||||||
#define MOSAIQUE_QUIT BUTTON_OFF
|
#define MOSAIQUE_QUIT BUTTON_OFF
|
||||||
|
|
@ -53,7 +61,17 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
||||||
TEST_PLUGIN_API(api);
|
TEST_PLUGIN_API(api);
|
||||||
(void)parameter;
|
(void)parameter;
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
rb->lcd_clear_display();
|
rb->lcd_clear_display();
|
||||||
|
#else
|
||||||
|
if (!pgfx_init(rb, 4, 2))
|
||||||
|
{
|
||||||
|
rb->splash(HZ*2, true, "Old LCD :(");
|
||||||
|
return PLUGIN_OK;
|
||||||
|
}
|
||||||
|
pgfx_display(3, 0);
|
||||||
|
pgfx_clear_display();
|
||||||
|
#endif
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
x+=sx;
|
x+=sx;
|
||||||
|
|
@ -81,26 +99,33 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
||||||
y = -y;
|
y = -y;
|
||||||
sy = -sy;
|
sy = -sy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
rb->lcd_invertrect(LARGE-x, HAUT-y, 2*x+1, 1);
|
rb->lcd_invertrect(LARGE-x, HAUT-y, 2*x+1, 1);
|
||||||
rb->lcd_invertrect(LARGE-x, HAUT+y, 2*x+1, 1);
|
rb->lcd_invertrect(LARGE-x, HAUT+y, 2*x+1, 1);
|
||||||
rb->lcd_invertrect(LARGE-x, HAUT-y+1, 1, 2*y-1);
|
rb->lcd_invertrect(LARGE-x, HAUT-y+1, 1, 2*y-1);
|
||||||
rb->lcd_invertrect(LARGE+x, HAUT-y+1, 1, 2*y-1);
|
rb->lcd_invertrect(LARGE+x, HAUT-y+1, 1, 2*y-1);
|
||||||
|
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
|
#else
|
||||||
|
pgfx_invertrect(LARGE-x, HAUT-y, 2*x+1, 1);
|
||||||
|
pgfx_invertrect(LARGE-x, HAUT+y, 2*x+1, 1);
|
||||||
|
pgfx_invertrect(LARGE-x, HAUT-y+1, 1, 2*y-1);
|
||||||
|
pgfx_invertrect(LARGE+x, HAUT-y+1, 1, 2*y-1);
|
||||||
|
pgfx_update();
|
||||||
|
#endif
|
||||||
|
|
||||||
rb->sleep(HZ/timer);
|
rb->sleep(HZ/timer);
|
||||||
|
|
||||||
button = rb->button_get(false);
|
button = rb->button_get(false);
|
||||||
switch (button)
|
switch (button)
|
||||||
{
|
{
|
||||||
case MOSAIQUE_QUIT:
|
case MOSAIQUE_QUIT:
|
||||||
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
return PLUGIN_OK;
|
pgfx_release();
|
||||||
|
|
||||||
case MOSAIQUE_SPEED:
|
|
||||||
#ifdef MOSAIQUE_SPEED2
|
|
||||||
case MOSAIQUE_SPEED2:
|
|
||||||
#endif
|
#endif
|
||||||
|
return PLUGIN_OK;
|
||||||
|
|
||||||
|
case MOSAIQUE_SPEED:
|
||||||
timer = timer+5;
|
timer = timer+5;
|
||||||
if (timer>20)
|
if (timer>20)
|
||||||
timer=5;
|
timer=5;
|
||||||
|
|
@ -108,20 +133,28 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
||||||
|
|
||||||
case MOSAIQUE_RESTART:
|
case MOSAIQUE_RESTART:
|
||||||
|
|
||||||
sx = rb->rand()%20+1;
|
sx = rb->rand() % (HAUT/2) + 1;
|
||||||
sy = rb->rand()%20+1;
|
sy = rb->rand() % (HAUT/2) + 1;
|
||||||
x=0;
|
x=0;
|
||||||
y=0;
|
y=0;
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
rb->lcd_clear_display();
|
rb->lcd_clear_display();
|
||||||
|
#else
|
||||||
|
pgfx_clear_display();
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (rb->default_event_handler(button) == SYS_USB_CONNECTED)
|
if (rb->default_event_handler(button) == SYS_USB_CONNECTED)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
|
pgfx_release();
|
||||||
|
#endif
|
||||||
return PLUGIN_USB_CONNECTED;
|
return PLUGIN_USB_CONNECTED;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue