Lisp HUG Maillist Archive

How to apply transforms to pinboard layouts

Hopefully a stupid question: How does one apply a transform (translation plus 
scale) to a pinboard layout?  Does capi:pinboard-object-at-position, etc. 
continue to work correctly in presence of scaling?

pt


Re: How to apply transforms to pinboard layouts

> Hopefully a stupid question: How does one apply a transform (translation plus 
> scale) to a pinboard layout?  Does capi:pinboard-object-at-position, etc. 
> continue to work correctly in presence of scaling?

It is awkward because a pinboard object is comprised of two parts - its 
graphical display and its objectness represented by its bounds (and 
reflected by the use of the two packages gp and capi). The transform 
needs to be made to apply to both aspects.

When drawing a pinboard-object, it can be accommodated by drawing the 
object using the gp functions apply-translation, apply-scale, 
with-graphics-transform, etc.

But the object bounds also need to be transformed in order to get the 
object to behave as an object - so that pinboard-object-at-position 
works, for example.  In order to do this, you could transform the object 
bounds, if you are using a default rectangular boundary or you can 
override over-pinboard-object-p to incorporate your transform.

Mitch


Updated at: 2020-12-10 08:44 UTC