[squeak-dev] Rendering a text along an arc

Chris Cunningham cunningham.cb at gmail.com
Mon Dec 31 19:20:58 UTC 2018


On Mon, Dec 31, 2018, 10:56 tim Rowledge <tim at rowledge.org wrote:

> Neat stuff, but I do so hate to see #isKindOf:.
>
>
> > On 2018-12-31, at 3:29 AM, karl ramberg <karlramberg at gmail.com> wrote:
> >
> > TextMorph>>createParagraph
> >
> >     self setProperty: #CreatingParagraph toValue: true.
> >
> >     [
> >         self setDefaultContentsIfNil.
> >
> >         "...Code here to recreate the paragraph..."
> >         paragraph := (self paragraphClass new textOwner: self owner).
> >         paragraph wantsColumnBreaks: successor notNil.
> >         paragraph
> >             compose: text
> >             style: textStyle copy
> >             from: self startingIndex
> >             in: self container.
> >         (paragraph isKindOf: TextOnCurve)
> >         ifTrue:[
> >                 paragraph focused: (self currentHand keyboardFocus ==
> self).
> >                 self fit.
> >                 self removeProperty: #CreatingParagraph.
> >                       ^ paragraph].
> >         wrapFlag ifFalse:
> >             ["Was given huge container at first... now adjust"
> >             paragraph adjustRightX].
> >         paragraph focused: (self currentHand keyboardFocus == self).
> >
> >         self fit.
> >     ] ensure: [self removeProperty: #CreatingParagraph].
> >
> >     ^ paragraph
>
> That 'isKindOf: TextOnCurve' seems like it ought to be redundant. Both
> branches send #fit, focused; & removeProperty (in fact the ensure will make
> sure it happens twice for TextOnCurve instances) so it's hard to see what
> the intent is here.
>
> What the intent looks like is to avoid the #adjustRightX if the wrapFlag
is not set - which is causing the error(s), at least when I tried it.

Another alternative might be to implement TextOnCurve>>adjustRightX to be a
no-op (with a suitable comment) so that it didn't do anything in this case.
Then the isKindOf: could go away.

And, Karl, thank you for tracking this down!

-cbc

> what is
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Did you hear about Christopher Robin Hood? He stole from the rich to give
> to the Pooh
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20181231/ca901524/attachment.html>


More information about the Squeak-dev mailing list