mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 16:57:46 +00:00
WindowServer+LibGUI: Shrink window edge resize hot-spots
The hot-spots for resizing a window by dragging its corner are now limited to a small area around the actual corner instead of an area with 1/3rd the length or width of the window. The hot-spots to resize a window while holding a modifier key and the right mouse button are unchanged.
This commit is contained in:
parent
eb9db167da
commit
8202beeb2b
15 changed files with 107 additions and 62 deletions
|
@ -76,7 +76,7 @@ void ResizeCorner::paint_event(PaintEvent& event)
|
|||
void ResizeCorner::mousedown_event(MouseEvent& event)
|
||||
{
|
||||
if (event.button() == MouseButton::Primary)
|
||||
window()->start_interactive_resize();
|
||||
window()->start_interactive_resize(ResizeDirection::DownRight);
|
||||
Widget::mousedown_event(event);
|
||||
}
|
||||
|
||||
|
|
15
Userland/Libraries/LibGUI/ResizeDirection.h
Normal file
15
Userland/Libraries/LibGUI/ResizeDirection.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Mart G <martg_@hotmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Services/WindowServer/ResizeDirection.h>
|
||||
|
||||
namespace GUI {
|
||||
|
||||
using ResizeDirection = WindowServer::ResizeDirection;
|
||||
|
||||
}
|
|
@ -938,9 +938,9 @@ void Window::apply_icon()
|
|||
ConnectionToWindowServer::the().async_set_window_icon_bitmap(m_window_id, m_icon->to_shareable_bitmap());
|
||||
}
|
||||
|
||||
void Window::start_interactive_resize()
|
||||
void Window::start_interactive_resize(ResizeDirection resize_direction)
|
||||
{
|
||||
ConnectionToWindowServer::the().async_start_window_resize(m_window_id);
|
||||
ConnectionToWindowServer::the().async_start_window_resize(m_window_id, (i32)resize_direction);
|
||||
}
|
||||
|
||||
Vector<Widget&> Window::focusable_widgets(FocusSource source) const
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <LibCore/Object.h>
|
||||
#include <LibGUI/FocusSource.h>
|
||||
#include <LibGUI/Forward.h>
|
||||
#include <LibGUI/ResizeDirection.h>
|
||||
#include <LibGUI/WindowMode.h>
|
||||
#include <LibGUI/WindowType.h>
|
||||
#include <LibGfx/Forward.h>
|
||||
|
@ -131,7 +132,7 @@ public:
|
|||
virtual void close();
|
||||
void move_to_front();
|
||||
|
||||
void start_interactive_resize();
|
||||
void start_interactive_resize(ResizeDirection resize_direction);
|
||||
|
||||
Widget* main_widget() { return m_main_widget; }
|
||||
Widget const* main_widget() const { return m_main_widget; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue