On Thu, Apr 20, 2017 at 11:29 PM, Chris Cunningham <cunningham.cb@gmail.com> wrote:

On Thu, Apr 20, 2017 at 9:32 AM, Bert Freudenberg <bert@freudenbergs.de> wrote:
<snip/>
Yeah, isn't it fun to untangle a monolithic system? ;)
Not bad if you don't try and change things... 
 
<snip/> 
Anything else lying around?

There is also the stuff with hasNonStandardPalette and convertARGB etc which is only used if there are external forms, but that seems a bit harder to remove because the hooks need to be there. I think it's fine to leave that as it is, unless you notice something that's easily removable.

There is a new version in the inbox with those 4 method moved.
The rest are doable.  THe right way to do them, I think, is to remove most of these methods completely from Form. Then, adjust the methods that call them (in Form) to do the standard form code; and have override varients in ExternalForm (and/or ExternalScreen) that does the very specific alternates - or delegates to Form if it should.  Those dependant methods seem to have a lot of assumptions about what the other variants might be.

I might get to this next week at some point, but I won't promise anything.

I think we should leave this as is. The hooks need to stay in place if we still want to support external forms.

We might want to amend the comment in #hasNonStandardPalette with some mention of the new external graphics package.

 - Bert -