~goleo/wio

ref: 7635da68170ff55e52fd608988eb3585ccef6410 wio/include/view.h -rw-r--r-- 1.1 KiB
Resize like in Rio

Summary:
* remove duplicate code;
* resize views when dragging corner borders;
* width and height never become negative to avoid rendering bugs while reflecting,
  also recently wlroots crashes when width/height is <= 0;
* reflection behaves like in Rio;
* minimal size is enforced on red box like in Rio;
* change cursor for New and Resize;
* New and Resize do nothing if size is less than minimal like in Rio;
* New and Resize draw a grey surface in red box like in Rio;
* it's not accurate because it assumes scale is always 1.
Bug-Fix: Can no longer select borders hidden under views

This fixes the bug where clicking on a border would enable border
dragging even if the border was hidden under a view.

Letting wio_view_at() report where the given coordinates are on a view
enables us to check for views and borders of views in the same loop,
easily solving this problem.

Additionally this makes the border dragging code cleaner and enables
other functions as well to see where on a view was clicked.
"Add" "HiDPI" "support"
Pass pointer events through to clients
Focus views on map
Receive & render new XDG surfaces