mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 04:18:12 +00:00
LibGfx: Move StandardCursor enum to LibGfx
This enum existed both in LibGUI and WindowServer which was silly and error-prone.
This commit is contained in:
parent
c063a02979
commit
0f9be82826
23 changed files with 127 additions and 111 deletions
|
@ -274,12 +274,12 @@ void HexEditor::mousemove_event(GUI::MouseEvent& event)
|
|||
auto text_end_x = text_start_x + (bytes_per_row() * character_width());
|
||||
auto text_end_y = text_start_y + 5 + (total_rows() * line_height());
|
||||
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
if ((absolute_x >= hex_start_x && absolute_x <= hex_end_x
|
||||
&& absolute_y >= hex_start_y && absolute_y <= hex_end_y)
|
||||
|| (absolute_x >= text_start_x && absolute_x <= text_end_x
|
||||
&& absolute_y >= text_start_y && absolute_y <= text_end_y)) {
|
||||
window()->set_override_cursor(GUI::StandardCursor::IBeam);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::IBeam);
|
||||
}
|
||||
|
||||
if (m_in_drag_select) {
|
||||
|
@ -585,5 +585,5 @@ void HexEditor::paint_event(GUI::PaintEvent& event)
|
|||
void HexEditor::leave_event(Core::Event&)
|
||||
{
|
||||
ASSERT(window());
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
}
|
||||
|
|
|
@ -81,16 +81,16 @@ void KeyButton::mousemove_event(GUI::MouseEvent& event)
|
|||
Gfx::IntRect c = { rect().x() + 7, rect().y() + 4, rect().width() - 14, rect().height() - 14 };
|
||||
|
||||
if (c.contains(event.position())) {
|
||||
window()->set_override_cursor(GUI::StandardCursor::Hand);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Hand);
|
||||
return;
|
||||
}
|
||||
window()->set_override_cursor(GUI::StandardCursor::Arrow);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Arrow);
|
||||
|
||||
AbstractButton::mousemove_event(event);
|
||||
}
|
||||
|
||||
void KeyButton::leave_event(Core::Event& event)
|
||||
{
|
||||
window()->set_override_cursor(GUI::StandardCursor::Arrow);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Arrow);
|
||||
AbstractButton::leave_event(event);
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ void MoveTool::on_mousedown(Layer& layer, GUI::MouseEvent& event, GUI::MouseEven
|
|||
m_layer_being_moved = layer;
|
||||
m_event_origin = image_event.position();
|
||||
m_layer_origin = layer.location();
|
||||
m_editor->window()->set_override_cursor(GUI::StandardCursor::Move);
|
||||
m_editor->window()->set_override_cursor(Gfx::StandardCursor::Move);
|
||||
}
|
||||
|
||||
void MoveTool::on_mousemove(Layer&, GUI::MouseEvent&, GUI::MouseEvent& image_event)
|
||||
|
@ -69,7 +69,7 @@ void MoveTool::on_mouseup(Layer&, GUI::MouseEvent& event, GUI::MouseEvent&)
|
|||
if (event.button() != GUI::MouseButton::Left)
|
||||
return;
|
||||
m_layer_being_moved = nullptr;
|
||||
m_editor->window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
m_editor->window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
}
|
||||
|
||||
void MoveTool::on_keydown(GUI::KeyEvent& event)
|
||||
|
|
|
@ -515,59 +515,59 @@ int main(int argc, char** argv)
|
|||
auto& radio_cursor_none = cursor_group_box.add<GUI::RadioButton>("None");
|
||||
radio_cursor_none.set_checked(true);
|
||||
radio_cursor_none.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::None);
|
||||
window->set_override_cursor(Gfx::StandardCursor::None);
|
||||
};
|
||||
auto& radio_cursor_arrow = cursor_group_box.add<GUI::RadioButton>("Arrow");
|
||||
radio_cursor_arrow.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::Arrow);
|
||||
window->set_override_cursor(Gfx::StandardCursor::Arrow);
|
||||
};
|
||||
auto& radio_cursor_i_beam = cursor_group_box.add<GUI::RadioButton>("IBeam");
|
||||
radio_cursor_i_beam.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::IBeam);
|
||||
window->set_override_cursor(Gfx::StandardCursor::IBeam);
|
||||
};
|
||||
auto& radio_cursor_resize_horizontal = cursor_group_box.add<GUI::RadioButton>("ResizeHorizontal");
|
||||
radio_cursor_resize_horizontal.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::ResizeHorizontal);
|
||||
window->set_override_cursor(Gfx::StandardCursor::ResizeHorizontal);
|
||||
};
|
||||
auto& radio_cursor_resize_vertical = cursor_group_box.add<GUI::RadioButton>("ResizeVertical");
|
||||
radio_cursor_resize_vertical.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::ResizeVertical);
|
||||
window->set_override_cursor(Gfx::StandardCursor::ResizeVertical);
|
||||
};
|
||||
auto& radio_cursor_resize_diagonal_tlbr = cursor_group_box.add<GUI::RadioButton>("ResizeDiagonalTLBR");
|
||||
radio_cursor_resize_diagonal_tlbr.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::ResizeDiagonalTLBR);
|
||||
window->set_override_cursor(Gfx::StandardCursor::ResizeDiagonalTLBR);
|
||||
};
|
||||
auto& radio_cursor_resize_diagonal_bltr = cursor_group_box.add<GUI::RadioButton>("ResizeDiagonalBLTR");
|
||||
radio_cursor_resize_diagonal_bltr.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::ResizeDiagonalBLTR);
|
||||
window->set_override_cursor(Gfx::StandardCursor::ResizeDiagonalBLTR);
|
||||
};
|
||||
auto& radio_cursor_resize_column = cursor_group_box.add<GUI::RadioButton>("ResizeColumn");
|
||||
radio_cursor_resize_column.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::ResizeColumn);
|
||||
window->set_override_cursor(Gfx::StandardCursor::ResizeColumn);
|
||||
};
|
||||
auto& radio_cursor_resize_row = cursor_group_box.add<GUI::RadioButton>("ResizeRow");
|
||||
radio_cursor_resize_row.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::ResizeRow);
|
||||
window->set_override_cursor(Gfx::StandardCursor::ResizeRow);
|
||||
};
|
||||
auto& radio_cursor_hand = cursor_group_box.add<GUI::RadioButton>("Hand");
|
||||
radio_cursor_hand.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::Hand);
|
||||
window->set_override_cursor(Gfx::StandardCursor::Hand);
|
||||
};
|
||||
auto& radio_cursor_help = cursor_group_box.add<GUI::RadioButton>("Help");
|
||||
radio_cursor_help.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::Help);
|
||||
window->set_override_cursor(Gfx::StandardCursor::Help);
|
||||
};
|
||||
auto& radio_cursor_drag = cursor_group_box.add<GUI::RadioButton>("Drag");
|
||||
radio_cursor_drag.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::Drag);
|
||||
window->set_override_cursor(Gfx::StandardCursor::Drag);
|
||||
};
|
||||
auto& radio_cursor_move = cursor_group_box.add<GUI::RadioButton>("Move");
|
||||
radio_cursor_move.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::Move);
|
||||
window->set_override_cursor(Gfx::StandardCursor::Move);
|
||||
};
|
||||
auto& radio_cursor_wait = cursor_group_box.add<GUI::RadioButton>("Wait");
|
||||
radio_cursor_wait.on_checked = [&](bool) {
|
||||
window->set_override_cursor(GUI::StandardCursor::Wait);
|
||||
window->set_override_cursor(Gfx::StandardCursor::Wait);
|
||||
};
|
||||
|
||||
app->set_menubar(move(menubar));
|
||||
|
|
|
@ -209,9 +209,9 @@ void Editor::mousemove_event(GUI::MouseEvent& event)
|
|||
auto ruler_line_rect = ruler_content_rect(text_position.line());
|
||||
auto hovering_lines_ruler = (event.position().x() < ruler_line_rect.width());
|
||||
if (hovering_lines_ruler && !is_in_drag_select())
|
||||
window()->set_override_cursor(GUI::StandardCursor::Arrow);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Arrow);
|
||||
else if (m_hovering_editor)
|
||||
window()->set_override_cursor(m_hovering_link && m_holding_ctrl ? GUI::StandardCursor::Hand : GUI::StandardCursor::IBeam);
|
||||
window()->set_override_cursor(m_hovering_link && m_holding_ctrl ? Gfx::StandardCursor::Hand : Gfx::StandardCursor::IBeam);
|
||||
|
||||
for (auto& span : document().spans()) {
|
||||
if (span.range.contains(m_previous_text_position) && !span.range.contains(text_position)) {
|
||||
|
|
|
@ -497,22 +497,22 @@ void VBForm::set_cursor_type_from_grabber(Direction grabber)
|
|||
switch (grabber) {
|
||||
case Direction::Up:
|
||||
case Direction::Down:
|
||||
window()->set_override_cursor(GUI::StandardCursor::ResizeVertical);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::ResizeVertical);
|
||||
break;
|
||||
case Direction::Left:
|
||||
case Direction::Right:
|
||||
window()->set_override_cursor(GUI::StandardCursor::ResizeHorizontal);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::ResizeHorizontal);
|
||||
break;
|
||||
case Direction::UpLeft:
|
||||
case Direction::DownRight:
|
||||
window()->set_override_cursor(GUI::StandardCursor::ResizeDiagonalTLBR);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::ResizeDiagonalTLBR);
|
||||
break;
|
||||
case Direction::UpRight:
|
||||
case Direction::DownLeft:
|
||||
window()->set_override_cursor(GUI::StandardCursor::ResizeDiagonalBLTR);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::ResizeDiagonalBLTR);
|
||||
break;
|
||||
case Direction::None:
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -100,11 +100,11 @@ void ColorInput::mouseup_event(MouseEvent& event)
|
|||
void ColorInput::mousemove_event(MouseEvent& event)
|
||||
{
|
||||
if (color_rect().contains(event.position())) {
|
||||
window()->set_override_cursor(StandardCursor::Hand);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Hand);
|
||||
event.accept();
|
||||
return;
|
||||
} else {
|
||||
window()->set_override_cursor(StandardCursor::IBeam);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::IBeam);
|
||||
}
|
||||
|
||||
TextEditor::mousemove_event(event);
|
||||
|
|
|
@ -180,7 +180,7 @@ void HeaderView::mousemove_event(MouseEvent& event)
|
|||
bool found_hovered_header = false;
|
||||
for (int i = 0; i < section_count; ++i) {
|
||||
if (section_resize_grabbable_rect(i).contains(event.position())) {
|
||||
window()->set_override_cursor(StandardCursor::ResizeColumn);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::ResizeColumn);
|
||||
set_hovered_section(-1);
|
||||
return;
|
||||
}
|
||||
|
@ -192,7 +192,7 @@ void HeaderView::mousemove_event(MouseEvent& event)
|
|||
if (!found_hovered_header)
|
||||
set_hovered_section(-1);
|
||||
}
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
}
|
||||
|
||||
void HeaderView::mouseup_event(MouseEvent& event)
|
||||
|
@ -200,7 +200,7 @@ void HeaderView::mouseup_event(MouseEvent& event)
|
|||
if (event.button() == MouseButton::Left) {
|
||||
if (m_in_section_resize) {
|
||||
if (!section_resize_grabbable_rect(m_resizing_section).contains(event.position()))
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
m_in_section_resize = false;
|
||||
return;
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ void HeaderView::leave_event(Core::Event& event)
|
|||
{
|
||||
Widget::leave_event(event);
|
||||
set_hovered_section(-1);
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
}
|
||||
|
||||
Gfx::TextAlignment HeaderView::section_alignment(int section) const
|
||||
|
|
|
@ -112,13 +112,13 @@ void ResizeCorner::mousedown_event(MouseEvent& event)
|
|||
|
||||
void ResizeCorner::enter_event(Core::Event& event)
|
||||
{
|
||||
window()->set_override_cursor(StandardCursor::ResizeDiagonalTLBR);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::ResizeDiagonalTLBR);
|
||||
Widget::enter_event(event);
|
||||
}
|
||||
|
||||
void ResizeCorner::leave_event(Core::Event& event)
|
||||
{
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
Widget::leave_event(event);
|
||||
}
|
||||
|
||||
|
|
|
@ -62,12 +62,12 @@ void Splitter::override_cursor(bool do_override)
|
|||
{
|
||||
if (do_override) {
|
||||
if (!m_overriding_cursor) {
|
||||
window()->set_override_cursor(m_orientation == Orientation::Horizontal ? StandardCursor::ResizeColumn : StandardCursor::ResizeRow);
|
||||
window()->set_override_cursor(m_orientation == Orientation::Horizontal ? Gfx::StandardCursor::ResizeColumn : Gfx::StandardCursor::ResizeRow);
|
||||
m_overriding_cursor = true;
|
||||
}
|
||||
} else {
|
||||
if (m_overriding_cursor) {
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
m_overriding_cursor = false;
|
||||
}
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ void Splitter::mouseup_event(MouseEvent& event)
|
|||
m_first_resizee = nullptr;
|
||||
m_second_resizee = nullptr;
|
||||
if (!rect().contains(event.position()))
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1343,7 +1343,7 @@ void TextEditor::enter_event(Core::Event&)
|
|||
{
|
||||
ASSERT(window());
|
||||
if (!is_displayonly())
|
||||
window()->set_override_cursor(StandardCursor::IBeam);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::IBeam);
|
||||
|
||||
m_automatic_selection_scroll_timer->stop();
|
||||
}
|
||||
|
@ -1351,7 +1351,7 @@ void TextEditor::enter_event(Core::Event&)
|
|||
void TextEditor::leave_event(Core::Event&)
|
||||
{
|
||||
ASSERT(window());
|
||||
window()->set_override_cursor(StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
|
||||
if (m_in_drag_select)
|
||||
m_automatic_selection_scroll_timer->start();
|
||||
|
|
|
@ -93,7 +93,7 @@ void Window::show()
|
|||
|
||||
auto* parent_window = find_parent_window();
|
||||
|
||||
m_override_cursor = StandardCursor::None;
|
||||
m_override_cursor = Gfx::StandardCursor::None;
|
||||
auto response = WindowServerConnection::the().send_sync<Messages::WindowServer::CreateWindow>(
|
||||
m_rect_when_windowless,
|
||||
!m_moved_by_client,
|
||||
|
@ -138,7 +138,7 @@ void Window::server_did_destroy()
|
|||
m_pending_paint_event_rects.clear();
|
||||
m_back_bitmap = nullptr;
|
||||
m_front_bitmap = nullptr;
|
||||
m_override_cursor = StandardCursor::None;
|
||||
m_override_cursor = Gfx::StandardCursor::None;
|
||||
}
|
||||
|
||||
void Window::hide()
|
||||
|
@ -226,7 +226,7 @@ void Window::set_window_type(WindowType window_type)
|
|||
m_window_type = window_type;
|
||||
}
|
||||
|
||||
void Window::set_override_cursor(StandardCursor cursor)
|
||||
void Window::set_override_cursor(Gfx::StandardCursor cursor)
|
||||
{
|
||||
if (!is_visible())
|
||||
return;
|
||||
|
|
|
@ -36,26 +36,10 @@
|
|||
#include <LibGfx/Color.h>
|
||||
#include <LibGfx/Forward.h>
|
||||
#include <LibGfx/Rect.h>
|
||||
#include <LibGfx/StandardCursor.h>
|
||||
|
||||
namespace GUI {
|
||||
|
||||
enum class StandardCursor {
|
||||
None = 0,
|
||||
Arrow,
|
||||
IBeam,
|
||||
ResizeHorizontal,
|
||||
ResizeVertical,
|
||||
ResizeDiagonalTLBR,
|
||||
ResizeDiagonalBLTR,
|
||||
ResizeColumn,
|
||||
ResizeRow,
|
||||
Hand,
|
||||
Help,
|
||||
Drag,
|
||||
Move,
|
||||
Wait,
|
||||
};
|
||||
|
||||
class Window : public Core::Object {
|
||||
C_OBJECT(Window)
|
||||
public:
|
||||
|
@ -184,7 +168,7 @@ public:
|
|||
void set_no_resize_aspect_ratio() { set_resize_aspect_ratio({}); }
|
||||
void set_resize_aspect_ratio(const Optional<Gfx::IntSize>& ratio);
|
||||
|
||||
void set_override_cursor(StandardCursor);
|
||||
void set_override_cursor(Gfx::StandardCursor);
|
||||
void set_override_cursor(const Gfx::Bitmap&);
|
||||
|
||||
void set_icon(const Gfx::Bitmap*);
|
||||
|
@ -257,7 +241,7 @@ private:
|
|||
Gfx::IntSize m_base_size;
|
||||
Color m_background_color { Color::WarmGray };
|
||||
WindowType m_window_type { WindowType::Normal };
|
||||
StandardCursor m_override_cursor { StandardCursor::None };
|
||||
Gfx::StandardCursor m_override_cursor { Gfx::StandardCursor::None };
|
||||
bool m_is_active { false };
|
||||
bool m_is_active_input { false };
|
||||
bool m_has_alpha_channel { false };
|
||||
|
|
48
Libraries/LibGfx/StandardCursor.h
Normal file
48
Libraries/LibGfx/StandardCursor.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace Gfx {
|
||||
|
||||
enum class StandardCursor {
|
||||
None = 0,
|
||||
Arrow,
|
||||
IBeam,
|
||||
ResizeHorizontal,
|
||||
ResizeVertical,
|
||||
ResizeDiagonalTLBR,
|
||||
ResizeDiagonalBLTR,
|
||||
ResizeColumn,
|
||||
ResizeRow,
|
||||
Hand,
|
||||
Help,
|
||||
Drag,
|
||||
Move,
|
||||
Wait,
|
||||
};
|
||||
|
||||
}
|
|
@ -629,9 +629,9 @@ void TerminalWidget::mousemove_event(GUI::MouseEvent& event)
|
|||
m_hovered_href = {};
|
||||
}
|
||||
if (!m_hovered_href.is_empty())
|
||||
window()->set_override_cursor(GUI::StandardCursor::Hand);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Hand);
|
||||
else
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
update();
|
||||
}
|
||||
|
||||
|
@ -667,7 +667,7 @@ void TerminalWidget::mousemove_event(GUI::MouseEvent& event)
|
|||
|
||||
void TerminalWidget::leave_event(Core::Event&)
|
||||
{
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
bool should_update = !m_hovered_href.is_empty();
|
||||
m_hovered_href = {};
|
||||
m_hovered_href_id = {};
|
||||
|
|
|
@ -150,7 +150,7 @@ void InProcessWebView::page_did_change_selection()
|
|||
update();
|
||||
}
|
||||
|
||||
void InProcessWebView::page_did_request_cursor_change(GUI::StandardCursor cursor)
|
||||
void InProcessWebView::page_did_request_cursor_change(Gfx::StandardCursor cursor)
|
||||
{
|
||||
if (window())
|
||||
window()->set_override_cursor(cursor);
|
||||
|
@ -358,7 +358,7 @@ void InProcessWebView::load_html(const StringView& html, const URL& url)
|
|||
bool InProcessWebView::load(const URL& url)
|
||||
{
|
||||
if (window())
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
|
||||
return page().main_frame().loader().load(url, FrameLoader::Type::Navigation);
|
||||
}
|
||||
|
@ -378,7 +378,7 @@ LayoutDocument* InProcessWebView::layout_root()
|
|||
void InProcessWebView::page_did_request_scroll_into_view(const Gfx::IntRect& rect)
|
||||
{
|
||||
scroll_into_view(rect, true, true);
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
}
|
||||
|
||||
void InProcessWebView::load_empty_document()
|
||||
|
|
|
@ -91,7 +91,7 @@ private:
|
|||
virtual void page_did_set_document_in_main_frame(DOM::Document*) override;
|
||||
virtual void page_did_start_loading(const URL&) override;
|
||||
virtual void page_did_change_selection() override;
|
||||
virtual void page_did_request_cursor_change(GUI::StandardCursor) override;
|
||||
virtual void page_did_request_cursor_change(Gfx::StandardCursor) override;
|
||||
virtual void page_did_request_context_menu(const Gfx::IntPoint&) override;
|
||||
virtual void page_did_request_link_context_menu(const Gfx::IntPoint&, const URL&, const String& target, unsigned modifiers) override;
|
||||
virtual void page_did_click_link(const URL&, const String& target, unsigned modifiers) override;
|
||||
|
|
|
@ -138,7 +138,7 @@ void OutOfProcessWebView::notify_server_did_request_scroll_into_view(Badge<WebCo
|
|||
void OutOfProcessWebView::notify_server_did_hover_link(Badge<WebContentClient>, const URL& url)
|
||||
{
|
||||
if (window())
|
||||
window()->set_override_cursor(GUI::StandardCursor::Hand);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::Hand);
|
||||
if (on_link_hover)
|
||||
on_link_hover(url);
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ void OutOfProcessWebView::notify_server_did_hover_link(Badge<WebContentClient>,
|
|||
void OutOfProcessWebView::notify_server_did_unhover_link(Badge<WebContentClient>)
|
||||
{
|
||||
if (window())
|
||||
window()->set_override_cursor(GUI::StandardCursor::None);
|
||||
window()->set_override_cursor(Gfx::StandardCursor::None);
|
||||
if (on_link_hover)
|
||||
on_link_hover({});
|
||||
}
|
||||
|
|
|
@ -216,11 +216,11 @@ bool EventHandler::handle_mousemove(const Gfx::IntPoint& position, unsigned butt
|
|||
}
|
||||
|
||||
if (is_hovering_link)
|
||||
page_client.page_did_request_cursor_change(GUI::StandardCursor::Hand);
|
||||
page_client.page_did_request_cursor_change(Gfx::StandardCursor::Hand);
|
||||
else if (is_hovering_text)
|
||||
page_client.page_did_request_cursor_change(GUI::StandardCursor::IBeam);
|
||||
page_client.page_did_request_cursor_change(Gfx::StandardCursor::IBeam);
|
||||
else
|
||||
page_client.page_did_request_cursor_change(GUI::StandardCursor::None);
|
||||
page_client.page_did_request_cursor_change(Gfx::StandardCursor::None);
|
||||
|
||||
if (hovered_node_changed) {
|
||||
RefPtr<HTML::HTMLElement> hovered_html_element = document.hovered_node() ? document.hovered_node()->enclosing_html_element() : nullptr;
|
||||
|
|
|
@ -82,7 +82,7 @@ public:
|
|||
virtual void page_did_change_title(const String&) { }
|
||||
virtual void page_did_start_loading(const URL&) { }
|
||||
virtual void page_did_change_selection() { }
|
||||
virtual void page_did_request_cursor_change(GUI::StandardCursor) { }
|
||||
virtual void page_did_request_cursor_change(Gfx::StandardCursor) { }
|
||||
virtual void page_did_request_context_menu(const Gfx::IntPoint&) { }
|
||||
virtual void page_did_request_link_context_menu(const Gfx::IntPoint&, const URL&, [[maybe_unused]] const String& target, [[maybe_unused]] unsigned modifiers) { }
|
||||
virtual void page_did_click_link(const URL&, [[maybe_unused]] const String& target, [[maybe_unused]] unsigned modifiers) { }
|
||||
|
|
|
@ -610,7 +610,7 @@ OwnPtr<Messages::WindowServer::SetWindowOverrideCursorResponse> ClientConnection
|
|||
return nullptr;
|
||||
}
|
||||
auto& window = *(*it).value;
|
||||
window.set_override_cursor(Cursor::create((StandardCursor)message.cursor_type()));
|
||||
window.set_override_cursor(Cursor::create((Gfx::StandardCursor)message.cursor_type()));
|
||||
Compositor::the().invalidate_cursor();
|
||||
return make<Messages::WindowServer::SetWindowOverrideCursorResponse>();
|
||||
}
|
||||
|
|
|
@ -49,36 +49,36 @@ NonnullRefPtr<Cursor> Cursor::create(NonnullRefPtr<Gfx::Bitmap>&& bitmap, const
|
|||
return adopt(*new Cursor(move(bitmap), hotspot));
|
||||
}
|
||||
|
||||
RefPtr<Cursor> Cursor::create(StandardCursor standard_cursor)
|
||||
RefPtr<Cursor> Cursor::create(Gfx::StandardCursor standard_cursor)
|
||||
{
|
||||
switch (standard_cursor) {
|
||||
case StandardCursor::None:
|
||||
case Gfx::StandardCursor::None:
|
||||
return nullptr;
|
||||
case StandardCursor::Arrow:
|
||||
case Gfx::StandardCursor::Arrow:
|
||||
return WindowManager::the().arrow_cursor();
|
||||
case StandardCursor::IBeam:
|
||||
case Gfx::StandardCursor::IBeam:
|
||||
return WindowManager::the().i_beam_cursor();
|
||||
case StandardCursor::ResizeHorizontal:
|
||||
case Gfx::StandardCursor::ResizeHorizontal:
|
||||
return WindowManager::the().resize_horizontally_cursor();
|
||||
case StandardCursor::ResizeVertical:
|
||||
case Gfx::StandardCursor::ResizeVertical:
|
||||
return WindowManager::the().resize_vertically_cursor();
|
||||
case StandardCursor::ResizeDiagonalTLBR:
|
||||
case Gfx::StandardCursor::ResizeDiagonalTLBR:
|
||||
return WindowManager::the().resize_diagonally_tlbr_cursor();
|
||||
case StandardCursor::ResizeDiagonalBLTR:
|
||||
case Gfx::StandardCursor::ResizeDiagonalBLTR:
|
||||
return WindowManager::the().resize_diagonally_bltr_cursor();
|
||||
case StandardCursor::ResizeColumn:
|
||||
case Gfx::StandardCursor::ResizeColumn:
|
||||
return WindowManager::the().resize_column_cursor();
|
||||
case StandardCursor::ResizeRow:
|
||||
case Gfx::StandardCursor::ResizeRow:
|
||||
return WindowManager::the().resize_row_cursor();
|
||||
case StandardCursor::Hand:
|
||||
case Gfx::StandardCursor::Hand:
|
||||
return WindowManager::the().hand_cursor();
|
||||
case StandardCursor::Help:
|
||||
case Gfx::StandardCursor::Help:
|
||||
return WindowManager::the().help_cursor();
|
||||
case StandardCursor::Drag:
|
||||
case Gfx::StandardCursor::Drag:
|
||||
return WindowManager::the().drag_cursor();
|
||||
case StandardCursor::Move:
|
||||
case Gfx::StandardCursor::Move:
|
||||
return WindowManager::the().move_cursor();
|
||||
case StandardCursor::Wait:
|
||||
case Gfx::StandardCursor::Wait:
|
||||
return WindowManager::the().wait_cursor();
|
||||
}
|
||||
ASSERT_NOT_REACHED();
|
||||
|
|
|
@ -27,31 +27,15 @@
|
|||
#pragma once
|
||||
|
||||
#include <LibGfx/Bitmap.h>
|
||||
#include <LibGfx/StandardCursor.h>
|
||||
|
||||
namespace WindowServer {
|
||||
|
||||
enum class StandardCursor {
|
||||
None = 0,
|
||||
Arrow,
|
||||
IBeam,
|
||||
ResizeHorizontal,
|
||||
ResizeVertical,
|
||||
ResizeDiagonalTLBR,
|
||||
ResizeDiagonalBLTR,
|
||||
ResizeColumn,
|
||||
ResizeRow,
|
||||
Hand,
|
||||
Help,
|
||||
Drag,
|
||||
Move,
|
||||
Wait,
|
||||
};
|
||||
|
||||
class Cursor : public RefCounted<Cursor> {
|
||||
public:
|
||||
static NonnullRefPtr<Cursor> create(NonnullRefPtr<Gfx::Bitmap>&&, const Gfx::IntPoint& hotspot);
|
||||
static NonnullRefPtr<Cursor> create(NonnullRefPtr<Gfx::Bitmap>&&);
|
||||
static RefPtr<Cursor> create(StandardCursor);
|
||||
static RefPtr<Cursor> create(Gfx::StandardCursor);
|
||||
~Cursor();
|
||||
|
||||
Gfx::IntPoint hotspot() const { return m_hotspot; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue