mirror of
https://gitee.com/anod/open_agb_firm.git
synced 2025-05-07 14:24:12 +08:00
换一个方式调整颜色
This commit is contained in:
parent
4dbab2c366
commit
6e113c7580
@ -120,7 +120,7 @@ scanEnd:
|
||||
return res;
|
||||
}
|
||||
|
||||
static void showDirList(const DirList *const dList, u32 start, u32 current)
|
||||
static void showDirList(const DirList *const dList, u32 start)
|
||||
{
|
||||
// Clear screen.
|
||||
ee_printf("\x1b[2J");
|
||||
@ -128,10 +128,10 @@ static void showDirList(const DirList *const dList, u32 start, u32 current)
|
||||
const u32 listLength = (dList->num - start > SCREEN_ROWS ? start + SCREEN_ROWS : dList->num);
|
||||
for(u32 i = start; i < listLength; i++)
|
||||
{
|
||||
const char *const printStr = "\x1b[%lu;H\x1b[%dm %.51s";
|
||||
bool isfile = *dList->ptrs[i] == ENT_TYPE_FILE;
|
||||
const char *const printStr =
|
||||
(*dList->ptrs[i] == ENT_TYPE_FILE ? "\x1b[%lu;H\x1b[37m %.51s" : "\x1b[%lu;H\x1b[36m %.51s");
|
||||
|
||||
ee_printf(printStr, i - start, i==current ? 33 : (isfile ? 37 : 36), &dList->ptrs[i][1]);
|
||||
ee_printf(printStr, i - start, &dList->ptrs[i][1]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -149,7 +149,7 @@ Result browseFiles(const char *const basePath, char selected[512])
|
||||
|
||||
Result res;
|
||||
if((res = scanDir(curDir, dList, ".gba")) != RES_OK) goto end;
|
||||
showDirList(dList, 0, 0);
|
||||
showDirList(dList, 0);
|
||||
|
||||
s32 cursorPos = 0; // Within the entire list.
|
||||
u32 windowPos = 0; // Window start position within the list.
|
||||
@ -157,7 +157,7 @@ Result browseFiles(const char *const basePath, char selected[512])
|
||||
while(1)
|
||||
{
|
||||
ee_printf("\x1b[%lu;H ", oldCursorPos - windowPos); // Clear old cursor.
|
||||
ee_printf("\x1b[%lu;H\x1b[37m>", cursorPos - windowPos); // Draw cursor.
|
||||
ee_printf("\x1b[%lu;H\x1b[33m> %.51s", cursorPos - windowPos, &dList->ptrs[cursorPos][1]); // Draw cursor.
|
||||
|
||||
u32 kDown;
|
||||
do
|
||||
@ -193,12 +193,12 @@ Result browseFiles(const char *const basePath, char selected[512])
|
||||
if((u32)cursorPos < windowPos)
|
||||
{
|
||||
windowPos = cursorPos;
|
||||
showDirList(dList, windowPos, (u32)cursorPos);
|
||||
showDirList(dList, windowPos);
|
||||
}
|
||||
if((u32)cursorPos >= windowPos + SCREEN_ROWS)
|
||||
{
|
||||
windowPos = cursorPos - (SCREEN_ROWS - 1);
|
||||
showDirList(dList, windowPos, (u32)cursorPos);
|
||||
showDirList(dList, windowPos);
|
||||
}
|
||||
|
||||
if(kDown & (KEY_A | KEY_B))
|
||||
@ -228,7 +228,7 @@ Result browseFiles(const char *const basePath, char selected[512])
|
||||
if((res = scanDir(curDir, dList, ".gba")) != RES_OK) break;
|
||||
cursorPos = 0;
|
||||
windowPos = 0;
|
||||
showDirList(dList, 0, 0);
|
||||
showDirList(dList, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user