title: How to use Flutter's InteractiveViewer in a way that it doesn't hijack all the gesture input?
body: <p>I'm creating some kind of image editor (kinda like Canva). For zooming in, out, and panning, I use <code>InteractiveViewer</code>. But the thing is, once I start using <code>InteractiveViewer</code>, I noticed that my other gestures for the elements inside the canvas (e.g. tap and drag on an element should drag the element around) are not working. Tapping and dragging now become panning the whole canvas.</p>
  <p>This is still the case even if I turn off panning and scaling <code>(panEnabled: false, scaleEnabled: false)</code>. Thankfully single tap is still working because InteractiveViewer does not use that, but I need the entire gesture input when the user makes input that's not intended for the <code>InteractiveViewer</code>. For example, if the user taps on an element so it becomes selected, then all the gesture input should go to the tapped element instead of to <code>InteractiveViewer</code>.</p>
  <p>I once thought of a solution to just simply not using <code>InteractiveViewer</code> when there's an element selected, but that causes the user to immediately lose the zoom and pan previously set before. I need solution so that the InteractiveViewer can preserves the zoom and pan setting while letting all the gesture input goes through to the elements inside. How can I do that?</p>