[#77] LibartDevice.PushTrafo has no effect with translations

Date:
2006-04-10 14:37
Priority:
3
State:
Open
Submitted by:
Valentin Ungureanu (vung)
Assigned to:
Nobody (None)
Category:
none
Version:
none
Resolution:
none
Summary:
LibartDevice.PushTrafo has no effect with translations

Detailed description

Using LibartDevice.PushTrafo with a translation still draws objects at the old place.

When drawing an object, LibartDevice.get_svps gets called.
It checks if the object is in a cache and if libart_matrix is the same as the cached value then it uses the cache.

Since adding a translation to trafo_stack doesn't alter libart_matrix get_svps will return the cached values (as a side note, it also seems to put them back into the cache).

There is no code in Skencil that would exhibit this bug.
Attached is a patch to test/test_libartdevice.py with a new test case for this (no fix, though).

The code that compares the images is copied from the test case found in the same file. Note that when checking the rendered images I had to increase a lot that max_ratio parameter to make the tests pass for scaling and rotation. I don't know if this is bad, but the images still look very much the same, unlike those from the translation test.

No comments have been posted

No related tasks

Attachments:
Size Name Date By Download
3 KiBtest_libartdevice.diff2006-04-10 14:37Valentin Ungureanutest_libartdevice.diff
Field Old Value Date By
File Added8: test_libartdevice.diff2006-04-10 14:37Valentin Ungureanu