Adds bevel to preview panel
This commit is contained in:
parent
fe5fccbd02
commit
177933878b
2 changed files with 18 additions and 6 deletions
|
|
@ -360,7 +360,7 @@ static const GuideTheme GUIDE_THEMES[GUIDE_THEME_COUNT] = {
|
||||||
.block_active_mid = {0x33,0xff,0x00,0xff},
|
.block_active_mid = {0x33,0xff,0x00,0xff},
|
||||||
.block_active_bottom = {0x15,0x6e,0x15,0xff},
|
.block_active_bottom = {0x15,0x6e,0x15,0xff},
|
||||||
.block_text = {0x33,0xff,0x00,0xff},
|
.block_text = {0x33,0xff,0x00,0xff},
|
||||||
.block_active_text = {0xf5,0xf5,0xf0,0xff},
|
.block_active_text = {0x00,0x00,0x00,0xff},
|
||||||
.block_border = {0x4a,0x8a,0x4a,0xff},
|
.block_border = {0x4a,0x8a,0x4a,0xff},
|
||||||
.block_active_border = {0x6a,0xff,0x4a,0xff},
|
.block_active_border = {0x6a,0xff,0x4a,0xff},
|
||||||
.selection_edge = {0x33,0xff,0x00,0xff},
|
.selection_edge = {0x33,0xff,0x00,0xff},
|
||||||
|
|
|
||||||
22
src/ui.c
22
src/ui.c
|
|
@ -195,13 +195,21 @@ static void draw_gloss_line(SDL_Renderer *renderer, const SDL_Rect *rect, SDL_Co
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_panel_bevel(SDL_Renderer *renderer, const SDL_Rect *rect, SDL_Color gloss_color) {
|
static void draw_panel_bevel(SDL_Renderer *renderer, const SDL_Rect *rect, SDL_Color gloss_color) {
|
||||||
SDL_Rect top_white = {rect->x + 8, rect->y, SDL_max(rect->w - 16, 0), 1};
|
SDL_Rect top_highlight = {rect->x + 4, rect->y + 1, SDL_max(rect->w - 8, 0), 2};
|
||||||
SDL_Rect top_black = {rect->x + 8, rect->y + 1, SDL_max(rect->w - 16, 0), 1};
|
SDL_Rect left_highlight = {rect->x + 1, rect->y + 4, 2, SDL_max(rect->h - 8, 0)};
|
||||||
|
SDL_Rect inner_shadow_top = {rect->x + 4, rect->y + 3, SDL_max(rect->w - 8, 0), 1};
|
||||||
|
SDL_Rect right_shadow = {rect->x + rect->w - 3, rect->y + 3, 2, SDL_max(rect->h - 6, 0)};
|
||||||
|
SDL_Rect bottom_shadow = {rect->x + 3, rect->y + rect->h - 3, SDL_max(rect->w - 6, 0), 2};
|
||||||
|
|
||||||
if (top_white.w > 0) {
|
if (!rect || rect->w <= 6 || rect->h <= 6) {
|
||||||
fill_rect_alpha(renderer, &top_white, color_with_alpha(gloss_color, 72));
|
return;
|
||||||
fill_rect_alpha(renderer, &top_black, (SDL_Color){0, 0, 0, 28});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fill_rect_alpha(renderer, &top_highlight, color_with_alpha(gloss_color, 96));
|
||||||
|
fill_rect_alpha(renderer, &left_highlight, color_with_alpha(gloss_color, 64));
|
||||||
|
fill_rect_alpha(renderer, &inner_shadow_top, (SDL_Color){0, 0, 0, 34});
|
||||||
|
fill_rect_alpha(renderer, &right_shadow, (SDL_Color){0, 0, 0, 56});
|
||||||
|
fill_rect_alpha(renderer, &bottom_shadow, (SDL_Color){0, 0, 0, 64});
|
||||||
}
|
}
|
||||||
|
|
||||||
static void stroke_rect_alpha(SDL_Renderer *renderer, const SDL_Rect *rect, SDL_Color color) {
|
static void stroke_rect_alpha(SDL_Renderer *renderer, const SDL_Rect *rect, SDL_Color color) {
|
||||||
|
|
@ -524,6 +532,7 @@ static void draw_mini_status_bar(SDL_Renderer *renderer,
|
||||||
theme->status_mid,
|
theme->status_mid,
|
||||||
blend_color(theme->status_bottom, theme->status_mid, 220));
|
blend_color(theme->status_bottom, theme->status_mid, 220));
|
||||||
stroke_rect(renderer, rect, theme->panel_border);
|
stroke_rect(renderer, rect, theme->panel_border);
|
||||||
|
draw_panel_bevel(renderer, rect, theme->gloss);
|
||||||
|
|
||||||
format_time_compact(clock_text, sizeof(clock_text), now_wall);
|
format_time_compact(clock_text, sizeof(clock_text), now_wall);
|
||||||
if (TTF_SizeUTF8(font, clock_text, &time_width, NULL) != 0) {
|
if (TTF_SizeUTF8(font, clock_text, &time_width, NULL) != 0) {
|
||||||
|
|
@ -578,6 +587,7 @@ static void draw_info_panel(SDL_Renderer *renderer,
|
||||||
|
|
||||||
fill_rect(renderer, rect, theme->panel_fill);
|
fill_rect(renderer, rect, theme->panel_fill);
|
||||||
stroke_rect(renderer, rect, theme->panel_border);
|
stroke_rect(renderer, rect, theme->panel_border);
|
||||||
|
draw_panel_bevel(renderer, rect, theme->gloss);
|
||||||
accent = (SDL_Rect){rect->x + 1, rect->y + 1, rect->w - 2, 36};
|
accent = (SDL_Rect){rect->x + 1, rect->y + 1, rect->w - 2, 36};
|
||||||
fill_rect(renderer, &accent, blend_color(theme->panel_fill, theme->ribbon_mid, 40));
|
fill_rect(renderer, &accent, blend_color(theme->panel_fill, theme->ribbon_mid, 40));
|
||||||
|
|
||||||
|
|
@ -973,6 +983,8 @@ void ui_render_guide(SDL_Renderer *renderer,
|
||||||
draw_info_panel(renderer, fonts, theme, selected_channel_ptr, &info_panel, app_start_time, guide_focus_time);
|
draw_info_panel(renderer, fonts, theme, selected_channel_ptr, &info_panel, app_start_time, guide_focus_time);
|
||||||
draw_panel_shadow(renderer, &preview);
|
draw_panel_shadow(renderer, &preview);
|
||||||
fill_rect(renderer, &preview, COLOR_BLACK);
|
fill_rect(renderer, &preview, COLOR_BLACK);
|
||||||
|
stroke_rect(renderer, &preview, theme->panel_border);
|
||||||
|
draw_panel_bevel(renderer, &preview, theme->gloss);
|
||||||
draw_video(renderer, video_texture, texture_width, texture_height, preview);
|
draw_video(renderer, video_texture, texture_width, texture_height, preview);
|
||||||
draw_mini_status_bar(renderer, fonts->small, theme, selected_channel_ptr, &mini_status_bar, now_wall);
|
draw_mini_status_bar(renderer, fonts->small, theme, selected_channel_ptr, &mini_status_bar, now_wall);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue