If you take a quick look at GSTheme.h in gui you'll see a lot of classes to
which we delegate the drawing.   I believe what you should do is create a
similar class for GSStandardDecorationView that can be used to do the
drawing for that class.  This way the class implemented in GSTheme.h will
be the default that is used unless a theme is loaded.


On Thu, Dec 16, 2021 at 2:25 AM Riccardo Canalicchio <
riccardo.canalicc...@gmail.com> wrote:

> Hello,
> I am in the process of cleaning-up / refactoring the wayland backend
> cursor handling and I am stuck on the window-resize and window-move logic.
> The wayland implementations requires the window move and resize to be
> handled by the compositors which means that in the cursor button handler
> there should be the knowledge of the window decorations to understand if
> the click is in the titlebar or resizebar to then trigger the appropriate
> callbacks in the compositor.
>
> The current implementation that "works" has replicated the same logic
> present in libs-gui GSStandardDecorationView, my concern is that this is
> coupling the backend to a specific theme implementation which is not ideal:
>
> https://github.com/gnustep/libs-back/blob/master/Source/wayland/WaylandServer%2BCursor.m#L213
>
> Best would be if the theme is exposing some methods like: pointInTitleBar
> or pointInResizeBar but I see that the base
> interface GSWindowDecorationView doesn't have knowledge of titleBar or
> resizeBar.
>
> How do you suggest to proceed?
>
> best,
> Riccardo
>


-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron
https://gf.me/u/x8m3sx - My GNUstep GoFundMe
https://teespring.com/stores/gnustep - Store

Reply via email to