very very nice! Kudos to you. Zooming is now a lot more intuitive.
At some points I still need to get a little bit more familiar with all the handling and possibilities. But it is definitely a milestone in figure creation tools.
I currently would still have one point from good scientific practice view: If an inset is made bigger (or an image smaller) its resolution in terms of amount of pixels should optimally not change. This is optically obviously only possible in vector graphics. If more pixels are added during size increase and then bilinear or bicubic interpolation is used, a higher artificial resolution impression is imposed in the image also leading to loss in detail and increased blurring and smudging effects.
First, if interpolation is used, I think bicubic should be preferred over bilinear one. As I read from the user guide QF is currently using bilinear. This should be easily adaptable or addable by creating a method for bicubic interpolation while scaling.
Original image in QF:
Inset with size increase (bilinear line artifacts are visible and blurring/smudging ocurrs):
Second, best would be no interpolation and just increasing the size of the square representing the original pixel. I assume the images on the figure panel are treated as vector graphic. If this is the case, avoiding interpolation is perfectly applicable. If my assumptions are correct it would be cool to have an option switching between “no” and “bicubic” interpolation and “no interpolation” being the default. But I don’t know if and how simple that would be to implement.
If the images are size increased by using the ImageJ intrinsic image scaling, then such an implementation will only be possible when inset resizing is locked to integer factor values (which is mostly not desired by the user)
I am happy to elaborate more on this, if my upper explanations were somewhat cryptic.
I will also have a look into the code these days and see if I can assist.
EDIT: here again in comparison (created in Inkscape):