2015-09-02 17:42 GMT+02:00 Sean P. DeNigris <[email protected]>: > Can anyone explain the purpose of sending #detentBy:atMultiplesOf:snap: in > the method below? The problem is that, if you resize programatically below > a > factor of 0.1, you enter a black hole from which many scale attempts become > effectively ignored. If the send is removed, everything works for my use > case, but I don't understand its purpose and so don't know if it's a bug or > feature! > TransformationMorph>>#extent: newExtent > self adjustAfter: > [ | scaleFactor |scaleFactor := (self scale * newExtent r > / self > fullBounds extent r) max: 0.1. > self scale: (scaleFactor detentBy: 0.1 atMultiplesOf: 1.0 > snap: false)] > > > Maybe it is not needed for the #extent method.
It is used for rotation and scaling with the halos. For example, if you remove that call in #scaleToMatch:, it may be difficult (or impossible, due to rounding errors) to scale a Morph back to scale factor 1.0. But I think it is enough to use this in #scaleToMatch: , no need to have it in #extent: too. > > > > ----- > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/To-Detent-Or-Not-To-Detent-tp4847682.html > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > >
