Added springy animation

This commit is contained in:
plutoo 2018-02-22 08:15:25 +01:00 committed by plutoo
parent 706b4f3b62
commit 70a3995081

View File

@ -30,11 +30,11 @@ static void drawImage(int x, int y, int width, int height, const uint8_t *image)
uint8_t *folder_icon_small; uint8_t *folder_icon_small;
uint8_t *switchicon_questionmark_small; uint8_t *switchicon_questionmark_small;
static void drawEntry(menuEntry_s* me, int n, int is_active) { static void drawEntry(menuEntry_s* me, int off_x, int is_active) {
int x, y; int x, y;
int start_y = 720 - 100 - 140;//*(n % 2); int start_y = 720 - 100 - 140;//*(n % 2);
int end_y = start_y + 140 + 32; int end_y = start_y + 140 + 32;
int start_x = 32 + (140 + 40) * n;//(n / 2); int start_x = off_x;//(n / 2);
int end_x = start_x + 140; int end_x = start_x + 140;
const uint8_t *smallimg = NULL; const uint8_t *smallimg = NULL;
const uint8_t *largeimg = NULL; const uint8_t *largeimg = NULL;
@ -239,15 +239,27 @@ void menuLoop() {
if (menu->nEntries==0) if (menu->nEntries==0)
{ {
DrawText(tahoma12, 64, 96 + 32, MakeColor(255, 255, 255, 255), textGetString(StrId_NoAppsFound_Msg)); DrawText(tahoma12, 64, 96 + 32, MakeColor(255, 255, 255, 255), textGetString(StrId_NoAppsFound_Msg));
} else }
else
{ {
static int x = 0;
static int v = 0;
int wanted_x = clamp(-menu->curEntry * (140 + 40), -(menu->nEntries - 7) * (140 + 40), 0);
x += v;
v += (wanted_x - x) / 3;
v /= 2;
// Draw menu entries // Draw menu entries
for (me = menu->firstEntry, i = 0; me; me = me->next, i ++) { for (me = menu->firstEntry, i = 0; me; me = me->next, i ++) {
if ((i < menu->curEntry && menu->curEntry-i < 7) || i>=menu->curEntry) { int entry_start_x = 32 + i * (140 + 40);
drawEntry(me, cnt, i==menu->curEntry); int entry_end_x = entry_start_x + 140;
cnt++;
if (cnt==7) break; int screen_width = 1280;
} if (entry_start_x >= (screen_width - x))
break;
drawEntry(me, entry_start_x + x, i==menu->curEntry);
} }
} }
} }