mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
LibWeb: Only paint focus outline when browser window has focus
This is communicated through the PaintContext::has_focus() flag.
This commit is contained in:
parent
c1e0047b48
commit
2614ef550c
Notes:
sideshowbarker
2024-07-19 03:38:04 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/2614ef550c7
3 changed files with 8 additions and 2 deletions
|
@ -105,7 +105,8 @@ void LayoutDocument::paint_all_phases(PaintContext& context)
|
|||
paint(context, PaintPhase::Background);
|
||||
paint(context, PaintPhase::Border);
|
||||
paint(context, PaintPhase::Foreground);
|
||||
paint(context, PaintPhase::FocusOutline);
|
||||
if (context.has_focus())
|
||||
paint(context, PaintPhase::FocusOutline);
|
||||
paint(context, PaintPhase::Overlay);
|
||||
}
|
||||
|
||||
|
|
|
@ -273,6 +273,7 @@ void PageView::paint_event(GUI::PaintEvent& event)
|
|||
PaintContext context(painter, palette(), { horizontal_scrollbar().value(), vertical_scrollbar().value() });
|
||||
context.set_should_show_line_box_borders(m_should_show_line_box_borders);
|
||||
context.set_viewport_rect(viewport_rect_in_content_coordinates());
|
||||
context.set_has_focus(is_focused());
|
||||
layout_root()->paint_all_phases(context);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <LibGfx/Forward.h>
|
||||
#include <LibGfx/Palette.h>
|
||||
#include <LibGfx/Rect.h>
|
||||
#include <LibGfx/Forward.h>
|
||||
|
||||
namespace Web {
|
||||
|
||||
|
@ -52,12 +52,16 @@ public:
|
|||
|
||||
const Gfx::IntPoint& scroll_offset() const { return m_scroll_offset; }
|
||||
|
||||
bool has_focus() const { return m_focus; }
|
||||
void set_has_focus(bool focus) { m_focus = focus; }
|
||||
|
||||
private:
|
||||
Gfx::Painter& m_painter;
|
||||
Palette m_palette;
|
||||
Gfx::IntRect m_viewport_rect;
|
||||
Gfx::IntPoint m_scroll_offset;
|
||||
bool m_should_show_line_box_borders { false };
|
||||
bool m_focus { false };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue