[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Art backend Was: Package building
From: |
Sergii Stoian |
Subject: |
Re: Art backend Was: Package building |
Date: |
Sun, 8 Dec 2019 04:07:57 +0200 |
Hi Fred,
> On 6 Dec 2019, at 17:31, Fred Kiefer <fredkiefer@gmx.de> wrote:
>
> HI Sergii,
>
>> Am 03.12.2019 um 14:39 schrieb Sergii Stoian <stoyan255@gmail.com>:
>> On Sun, Nov 24, 2019 at 11:34 AM Fred Kiefer <fredkiefer@gmx.de> wrote:
>>> Am 23.11.2019 um 23:33 schrieb Sergii Stoian <stoyan255@gmail.com>:
>>>
>>>> I havent tried in the last weeks/months, but the last release worked. Of
>>>> course, it has all specific "issues" of art which where never solved. But
>>>> it is faster for certain operations and curves and anti-aliasing are
>>>> exquisite. Using Graphos on art is a delight.
>>>>
>>> What do you mean by “worked”? I observed incomplete words in menus and
>>> popup buttons. Incorrect alignment of items in popup buttons - I suppose
>>> it’s due to incorrect lengthOfString results. Also I suppose I’ve found
>>> cause of a problem - NSStringDrawing caching methods rewrite by Fred. But I
>>> can’t understand what changes must be applied to ART backend to adopt new
>>> caching algorithm.
>>
>> I am willing to help here if you could pinpoint the issue a bit down. Which
>> commit are you talking about and in which situations does it show? The last
>> time I used the art backend I did not see any issues. But I must confess I
>> only checked with Ink.
>>
>> I've made some screenshots with 0.27 version of GUI and Back (please see
>> attachments) to illustrate some inconsistencies.
>> FontPreferencesPopUp and LocalizationPreferences-* illustrate NSPopUpButton
>> text drawing.
>> WorkspaceMenu+HelpPanel illustrates - i guess - related problem: "Workspace"
>> menu lacks border at the right side.
>> The other problem is with my custom HelpPanel that contains NSMatrix with
>> index list (note selection offset).
>> Plus (it's hard to make screenshot of insertion point) in NXTHelpPanel's
>> NSTextField insertion point drawn shifted at 20-30 pixels to the right until
>> there's no entered text.
>>
>> Now I'm using 0.25 version of GUI and Back - all works correcly.
>> Somewhere between 0.25 and 0.25.1 of GUI NSStringDrawing was massively
>> changed by you. Do you know what is the cause of these inconsistencies?
>
> With the recent mail flood on the GNUstep mailing lists I require some more
> background to be sure we talk about the same thing here.
>
> The screenshots you made were for the art backend?
Exactly.
> Could you please explain in more detail what is wrong with each specific
> screen shot? I can see that some entries in the popup list are shortened.
> What else is wrong?
Application menu (Workspace) lacks border at the right side. I placed app menu
above the window to see absent menu border.
> The GNUstep guy release 0.25.0 was in June 2016 and the following 0.25.1
> release almost a year later. There have been plenty of relevant changes in
> the string drawing during that time. The most important probably was to usage
> of cached glyph advancements, but also the change in the string drawing cache
> handling you mention. Could you try to pin down the commit that broke things
> for you?
I’ve tracked down to suspicious commit -
31cb9914d166defcad9862eaed09c28be359ccbe.
Before this commit everything looks fine.
> The art backend is no longer actively maintained. I understand that you and
> Riccardo still prefer it. Here it would help if you could provide patches to
> get it working again. I am not very familiar with the art text handling code.
I suppose it’s not direct art problem. Perhaps art should be adopted to
NSStringDrawing changed caching, I don’t know until I understand string drawing
change. What was the idea of that rewrite? Commit message doesn’t explain why
that change was made. For me, It doesn’t look as “cleanup”. That’s why I asked
you as author of that change.
> If you want to debug the popup button issue you should start off with the
> NSMenuItemCell drawing methods, here drawTitleXXX is the most likely starting
> point.
I’ve done it once I found inconsistency. NSMenu* code simply makes call to
string drawing methods.
>
> Cheers,
> Fred
Sergii