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

Reply via email to