minui: visually separate display and unique name
This commit is contained in:
parent
116e994fbe
commit
896c13e9e0
1 changed files with 26 additions and 5 deletions
|
|
@ -1323,15 +1323,18 @@ int main (int argc, char *argv[]) {
|
|||
int selected_row = top->selected - top->start;
|
||||
for (int i=top->start,j=0; i<top->end; i++,j++) {
|
||||
Entry* entry = top->entries->items[i];
|
||||
char* entry_name = entry->unique ? entry->unique : entry->name;
|
||||
int max_width = SCREEN_WIDTH - SCALE1(PADDING * 2);
|
||||
if (i==top->start) max_width -= ow;
|
||||
char* entry_name = entry->name;
|
||||
char* entry_unique = entry->unique;
|
||||
int available_width = SCREEN_WIDTH - SCALE1(PADDING * 2);
|
||||
if (i==top->start) available_width -= ow;
|
||||
|
||||
SDL_Color text_color = COLOR_WHITE;
|
||||
|
||||
trimSortingMeta(&entry_name);
|
||||
|
||||
char display_name[256];
|
||||
int text_width = GFX_truncateText(font.large, entry_name, display_name, max_width);
|
||||
max_width = MIN(max_width, text_width);
|
||||
int text_width = GFX_truncateText(font.large, entry_unique ? entry_unique : entry_name, display_name, available_width);
|
||||
int max_width = MIN(available_width, text_width);
|
||||
if (j==selected_row) {
|
||||
GFX_blitPill(ASSET_WHITE_PILL, screen, &(SDL_Rect){
|
||||
SCALE1(PADDING),
|
||||
|
|
@ -1341,6 +1344,24 @@ int main (int argc, char *argv[]) {
|
|||
});
|
||||
text_color = COLOR_BLACK;
|
||||
}
|
||||
else if (entry->unique) {
|
||||
trimSortingMeta(&entry_unique);
|
||||
char unique_name[256];
|
||||
GFX_truncateText(font.large, entry_unique, unique_name, available_width);
|
||||
|
||||
SDL_Surface* text = TTF_RenderUTF8_Blended(font.large, unique_name, COLOR_DARK_TEXT);
|
||||
SDL_BlitSurface(text, &(SDL_Rect){
|
||||
0,
|
||||
0,
|
||||
max_width-SCALE1(BUTTON_PADDING*2),
|
||||
text->h
|
||||
}, screen, &(SDL_Rect){
|
||||
SCALE1(PADDING+BUTTON_PADDING),
|
||||
SCALE1(PADDING+(j*PILL_SIZE)+4)
|
||||
});
|
||||
|
||||
GFX_truncateText(font.large, entry_name, display_name, available_width);
|
||||
}
|
||||
SDL_Surface* text = TTF_RenderUTF8_Blended(font.large, display_name, text_color);
|
||||
SDL_BlitSurface(text, &(SDL_Rect){
|
||||
0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue