On Tue, Aug 18, 2009 at 1:31 PM, Thomas Holder<speleo3@...58...> wrote:
the 2geom function are correct. But that _current_relative_affine variable does not hold the current relative affine. In function Inkscape::SelTrans::transform it is set to the absolute affine matrix.
That's not quite it. For simple scaling, the difference between relative and absolute is just a translation. The only scale that isScale recognizes as such is scaling around 0,0, but at no point in seltrans do we have this value - it is always combined with some translation, be it "relative" or "absolute" in Inkscape::SelTrans::transform.
So, we need some way to recognize a combination of scale and translation as scale, of rotation and translation as rotation, etc. This used to work before 2geom conversion - the code was the same just calling libnr's is_scale() etc.