So for the WaylandServer+Cursor.m code you might be able to do something similar. GC
On Thu, Dec 16, 2021 at 8:04 AM Gregory Casamento <greg.casame...@gmail.com> wrote: > > Please let me know if you have any questions. Actually, allow me to > correct myself. GSTheme is a class (a base class) that has methods to draw > for other widgets. The way this works is that when a subclass of GSTheme > is loaded as a theme, these methods can be overridden. This allows the > theme to change the drawing. This is no different. > > > On Thu, Dec 16, 2021 at 7:45 AM Gregory Casamento < > greg.casame...@gmail.com> wrote: > >> >> 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 >> > > > -- > 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 > -- 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