mirror of
https://repo.dec05eba.com/gpu-screen-recorder-ui
synced 2026-05-07 07:16:23 +09:00
Nicer close window button
This commit is contained in:
@@ -273,7 +273,7 @@ namespace gsr {
|
|||||||
top_bar_background = mgl::Rectangle(mgl::vec2f(get_theme().window_width, get_theme().window_height*0.06f).floor());
|
top_bar_background = mgl::Rectangle(mgl::vec2f(get_theme().window_width, get_theme().window_height*0.06f).floor());
|
||||||
top_bar_text = mgl::Text("GPU Screen Recorder", get_theme().top_bar_font);
|
top_bar_text = mgl::Text("GPU Screen Recorder", get_theme().top_bar_font);
|
||||||
logo_sprite = mgl::Sprite(&get_theme().logo_texture);
|
logo_sprite = mgl::Sprite(&get_theme().logo_texture);
|
||||||
close_button_widget.set_size(mgl::vec2f(top_bar_background.get_size().y * 0.3f, top_bar_background.get_size().y * 0.3f).floor());
|
close_button_widget.set_size(mgl::vec2f(top_bar_background.get_size().y * 0.35f, top_bar_background.get_size().y * 0.35f).floor());
|
||||||
|
|
||||||
bg_screenshot_overlay.set_color(bg_color);
|
bg_screenshot_overlay.set_color(bg_color);
|
||||||
top_bar_background.set_color(mgl::Color(0, 0, 0, 180));
|
top_bar_background.set_color(mgl::Color(0, 0, 0, 180));
|
||||||
@@ -434,15 +434,15 @@ namespace gsr {
|
|||||||
front_page_ptr->add_widget(std::move(main_buttons_list));
|
front_page_ptr->add_widget(std::move(main_buttons_list));
|
||||||
|
|
||||||
close_button_widget.draw_handler = [&](mgl::Window &window, mgl::vec2f pos, mgl::vec2f size) {
|
close_button_widget.draw_handler = [&](mgl::Window &window, mgl::vec2f pos, mgl::vec2f size) {
|
||||||
if(mgl::FloatRect(pos, size).contains(window.get_mouse_position().to_vec2f())) {
|
const int border_size = std::max(1.0f, 0.0015f * get_theme().window_height);
|
||||||
const float border_scale = 0.0015f;
|
const float padding_size = std::max(1.0f, 0.003f * get_theme().window_height);
|
||||||
const int border_size = std::max(1.0f, border_scale * get_theme().window_height);
|
const mgl::vec2f padding(padding_size, padding_size);
|
||||||
draw_rectangle_outline(window, pos, size, get_theme().tint_color, border_size);
|
if(mgl::FloatRect(pos, size).contains(window.get_mouse_position().to_vec2f()))
|
||||||
}
|
draw_rectangle_outline(window, pos.floor(), size.floor(), get_theme().tint_color, border_size);
|
||||||
|
|
||||||
mgl::Sprite close_sprite(&get_theme().close_texture);
|
mgl::Sprite close_sprite(&get_theme().close_texture);
|
||||||
close_sprite.set_position(pos);
|
close_sprite.set_position(pos + padding);
|
||||||
close_sprite.set_size(size);
|
close_sprite.set_size(size - padding * 2.0f);
|
||||||
window.draw(close_sprite);
|
window.draw(close_sprite);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ namespace gsr {
|
|||||||
apply_animation();
|
apply_animation();
|
||||||
|
|
||||||
const mgl::Color background_color_unchecked(0, 0, 0, 120);
|
const mgl::Color background_color_unchecked(0, 0, 0, 120);
|
||||||
const mgl::Color background_color_checked = color_multiply(get_theme().tint_color, 0.7f);
|
const mgl::Color background_color_checked = color_multiply(get_theme().tint_color, 0.6f);
|
||||||
background_sprite.set_color(interpolate_color(background_color_unchecked, background_color_checked, checked ? 1.0f : 0.0f));
|
background_sprite.set_color(interpolate_color(background_color_unchecked, background_color_checked, toggle_animation_value));
|
||||||
background_sprite.set_position(draw_pos.floor());
|
background_sprite.set_position(draw_pos.floor());
|
||||||
window.draw(background_sprite);
|
window.draw(background_sprite);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user