gabm / Satty

Satty - Modern Screenshot Annotation. A tool inspired by Swappy and Flameshot.
Mozilla Public License 2.0
385 stars 18 forks source link

[feature] Allow for pan and zoom with the mouse/trackpad to move the (infinite) canvas around #93

Open mattrobineau opened 2 weeks ago

mattrobineau commented 2 weeks ago

I was going to ask to have zooming added because it's hard to annotate accurately when you have a huge screenshot (like 2 screens in my case) and I found this was already discussed. The issue where it is mentioned (#49) is for something else and I would prefer this feature (pan/zoom) doesn't get lost.

The cool thing would be that it brings a ton of improvements

  • if something is hidden behind the toolbars, you can just move until its visible
  • you can draw in and outside the image (infinite canvas)
  • you can zoom in to work on a very small part of the image
  • you annotate very small or very big stuff
gabm commented 2 weeks ago

I think you are right with this. That would be great! The technical foundation is there but my time is limited atm..

I can provide guidance though

mattrobineau commented 2 weeks ago

@gabm I should have some time in the upcoming days. My rust skills are likely good enough to help however I've never wrote anything for GTK before or I guess relm in this case.

gabm commented 2 weeks ago

great, i can help to give you a headstart.. you can contact me on matrix: @gabm:matrix.org.

The tech stack is:

You will want to work on the renderer - a femtovg-backed struct and manipulate the transform (translation, zoom) there...