[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cross Platform GNUStep GUI with Native Look-And-Feel
From: |
Richard Frith-Macdonald |
Subject: |
Re: Cross Platform GNUStep GUI with Native Look-And-Feel |
Date: |
Mon, 27 Jun 2011 09:27:37 +0100 |
On 27 Jun 2011, at 08:57, Riccardo Mottola wrote:
> Hi,
>
> On 06/27/11 03:01, Gregory Casamento wrote:
>> Riccardo,
>>
>>
>> 1) Cleanly switching from theme to theme when in-window menus are involved.
> Yes, this is especially noticeable when native in-windows menus are used, but
> that goes along with 3)
>> 2) Unloading theme images between themes. When theme A loaded if
>> theme B doesn't have images for some of the widgets then theme A's
>> images are used instead of the default theme's images as may have been
>> intended.
> Afaik, unloading was implemented by Richard, but somehow it doesn't work
> (anymore).
Yes ... eighteen months ago IIRC, but there have probably been a lot of changes
in theming that I haven't been involved with since then...
The basic principle was simple.
When you load a theme, all the images for that theme are installed.
When you unload a theme, all the images for the default theme are installed
(which means all system images)
When you change themes, you have a sequence of unloading the old theme (which
cleans out its images) and loading the new.
Now, it's possible to have glitches with this caused by code outside the
theming system ... if code makes a *copy* of a system image (rather than
retaining it), and caches and re-uses that copy. There may be some such bugs
in odd apps or even odd places in the gui library. If so, they should either:
1. not copy the system images, just use them as required .... the best option
unless we *know* there is a performance issue.
2. where they must do something like keeping a scaled or otherwise modified
copy of a system image for performance, they should have the code observe theme
loading notifications and regenerate their cache when a new theme is loaded ...
this is a general principle of theme aware software, without which no theming
system can work properly.
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, (continued)
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/26
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Gregory Casamento, 2011/06/26
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/26
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Gregory Casamento, 2011/06/26
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/26
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Gregory Casamento, 2011/06/26
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/27
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel,
Richard Frith-Macdonald <=
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, aditya siram, 2011/06/29
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/30
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, aditya siram, 2011/06/30
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/30
- Re: Cross Platform GNUStep GUI with Native Look-And-Feel, Riccardo Mottola, 2011/06/30