This might be considered off-topic, but this is the closest I could
think of. I need help trying to track down a bug.

I have an application I'm working called cropper. (Screenshot:
<http://imgur.com/iIUCu> Source:
<https://github.com/astronouth7303/cropper>) It's basically a tool
that lets you crop an image in multiple ways at once.

It's currently suffering from a number of major bugs, but the big one
that's really bothering me atm is zooming.

The "workspace" is a single custom widget (ImageSpace, in
imagespace.py) wrapped in a ScrolledWindow. It has the ability to zoom
in and out on the content (by setting the zoom property, 1.0 is
normal, 2.0 is twice as big, 0.5 is half as big). The problem is that
when zoom != 1.0, it doesn't transform coordinates between the image
space and widget space correctly.

For calculations and such, I define two methods (img2widgetcoords and
widget2imgcoords) for this transformation. (The image is always
centered in the widget.) But for drawing, I'm using cairo's
transformation methods.

As far as I can tell, these two methods should produce the same
results. But somehow, something's wrong. It's exhibited when creating
new boxes, in the calculation cache system, and looking at output I
made specifically for debug (the spot that widget2imgcoords calls
(0,0) isn't where the upper-right corner of the image).

Does anyone have any experience they can offer on this? Is this just a
disconnect between cairo's methods and mine? Am I just doing something
wrong?

Thank you,
Jamie
_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to