[squeak-dev] Morph corner radius set to 8 does surprising things
arning315 at comcast.net
Tue Dec 6 14:37:23 UTC 2016
It's not too unusual -- just old. There was, 15 years ago, some related
code in HandMorph>>fullDrawOn: and your rounded-corner morph was
correctly drawn, regardless of whether cachedCanvasHasHoles was set to
true or false. Since that time, the drawing of rounded corners (and drop
shadows as well, I guess) has changed a bit and now the value of
cachedCanvasHasHoles does matter -- it needs to be true for
rounded-corner things to draw correctly.
On 12/6/16 12:26 AM, tim Rowledge wrote:
>> On 05-12-2016, at 6:57 PM, Bob Arning <arning315 at comcast.net> wrote:
>> This method in HandMorph seems to have a view of corner rounding that depends on a particular corner geometry.
> Thanks; that seems to be the responsible method. I’m quite at a loss to explain what was being thought of for the hack. Most … unusual.
>> You might try changing the highlighted code to
>> nPix := cacheCanvas form tallyPixelValues first.
>> "--> begin rounded corners hack <---"
>> cachedCanvasHasHoles := true "(nPix = 48
>> and: [submorphs size = 1 and: [submorphs first wantsRoundedCorners]])
>> ifTrue: [false]
>> ifFalse: [nPix > 0]".
>> "--> end rounded corners hack <—"
> Instead of simply forcing cachedCanvasHasHoles to be true, it seems to work cleanly with
> cachedCanvasHasHoles := nPix >0.
> which at least makes use of the tallyPixelValues first - which is quite a bit of work.
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Useful random insult:- Wasn't fully debugged before being released.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev