![](https://secure.gravatar.com/avatar/e731f55e2e1cd6a1dd1f4f1e71035fea.jpg?s=120&d=mm&r=g)
Hey Paul ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Monday, March 22, 2021 9:02 PM, Paul Werkowski <pw@snoopy.qozzy.com> wrote:
A recent change in master branch seems to have reversed the argument order in the subject definitions. I've only checked compose-scaling-with-transformation which is again wrong causing my graphics to be written way off screen.
Indeed we had problems with transformations, but the issue was fixed; maybe your code depended on invalid behavior? compose-scaling-with-transformation is defined to first apply scaling, then transformation (http://bauhh.dyndns.org:8000/clim-spec/5-3.html#_208) (c:transform-position (c:compose-scaling-with-transformation (c:make-translation-transformation -100 -100) 100 100) 1 1) ;-> (values 0 0) (c:transform-position (c:make-scaling-transformation 100 100) 1 1) ;-> (values 100 100) (c:transform-position (c:make-translation-transformation -100 -100) 100 100) ; -> (values 0 0) Seems correct. The reverse order would give: (c:transform-position (c:make-translation-transformation -100 -100) 1 1) ;-> (values -99 -99) (c:transform-position (c:make-scaling-transformation 100 100) -99 -99) ;-> (values -9900 -9900) Evaluating the former in clim-tos confirms that. IMO it is quite counterintuitive, because: (compose-transformations A B) first applies B, then A (compose-X-with-transformation T ,@X-parameters) first applies X then T (compose-transformation-with-X T ,@X-parameters) first applies T then X Do you agree?
Paul
Best regards, Daniel -- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi