More on invisible icons bug in 32-bit depth
Ned Konz
ned at bike-nomad.com
Thu Feb 27 20:27:39 UTC 2003
I've tracked it down into the drawing of the SketchMorph that's in the
IconicButtons.
The stack at this point looks like this:
FormCanvas(Canvas)>>translucentImage:at:sourceRect:
FormCanvas(Canvas)>>translucentImage:at:
SketchMorph>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in SketchMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
SketchMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in SketchMorph(Morph)>>imageForm:forRectangle:
FormCanvas>>translateBy:during:
SketchMorph(Morph)>>imageForm:forRectangle:
SketchMorph(Morph)>>imageFormForRectangle:
SketchMorph(Morph)>>imageForm
The problem is that after
FormCanvas(Canvas)>>translucentImage:at:sourceRect: the form in the
canvas has a transparent icon.
If I go:
aForm copy openAsMorph
that is, take the form that's being drawn to the canvas and open it, I
can see it fine.
If I then do the same with the canvas' form at the end of the method,
it's transparent.
The code in Canvas>>translucentImage:at:sourceRect: is doing this:
self image: aForm
at: aPoint
sourceRect: sourceRect
rule: Form blend
Why would this result in part of the image (the part that holds the
thumbnail of the tool) being transparent?
Is it maybe that we can't render smoothed forms as translucent in 32
bits? The thumbnail has smoothing turned on:
self form: (f magnify: f boundingBox by: (scaleX @ scaleY) smoothing:
2).
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
More information about the Squeak-dev
mailing list
|