graphx icon indicating copy to clipboard operation
graphx copied to clipboard

Does it support zoom and pan?

Open shujaatak opened this issue 4 years ago • 10 comments

shujaatak avatar Mar 21 '21 12:03 shujaatak

No multipointer/gestures support inside graphx, only the basic mouse interactions. All GDisplayObjects have onMouseDown,onMouseUp, etc. So pan can be easily approached manually inside graphx (or use startDrag(),stopDrag()) but for gestures and multitouch you need a GestureDetector wrapping the SceneBuilderWidget and emitting events to be captured inside graphx code.

roipeker avatar Mar 21 '21 14:03 roipeker

Is support for gestures planned? If not can this be added to the docs? I am sure this will be frequently asked question :o

JulianBissekkou avatar Apr 19 '21 20:04 JulianBissekkou

No plans for now, is totally doable but is just a layer on top of gesture detector. If u put a GestureDetector on top of the SceneBuilderWidget coordinates will match the stage, and you can emit signals to your Graphx scene to use the data.

roipeker avatar Apr 19 '21 20:04 roipeker

@JulianBissekkou if you are working on it, please update any solutions. I also want them. thank you!

imiskolee avatar Jun 04 '21 11:06 imiskolee

@imiskolee I am not working on it, but I am sure that there is an example where you can check the code. Am i right @roipeker ? I saw a map example a few months ago on twitter. Can you publish that?

JulianBissekkou avatar Jun 04 '21 11:06 JulianBissekkou

I can't publish the map example, but i can add a simple demo that shows pan and zoom.

is just a matter of notify the gesture detector widget callbacks into the Graphx scene

roipeker avatar Jun 04 '21 13:06 roipeker

@roipeker it's also very helpful for US! please a GIST!

imiskolee avatar Jun 04 '21 13:06 imiskolee

Live demo

Complete gist.

Just made a full sample, might look overcomplicated, but covers Image shader fill (graphics.beginBitmapFill with Matrix transforms), mouse / touch input, and easing.

Hope it makes sense...

roipeker avatar Jun 04 '21 16:06 roipeker

Live demo

Complete gist.

Just made a full sample, might look overcomplicated, but covers Image shader fill (graphics.beginBitmapFill with Matrix transforms), mouse / touch input, and easing.

Hope it makes sense...

Sorry, I should have provided a simpler sample. Here's another gists with much less code. live demo .

Let me know if the example is clear enough, so i can close this issue.

roipeker avatar Jun 04 '21 19:06 roipeker

@roipeker Can you please add these gists as examples in the repository? It would really help new comers as they would find the examples in one place rather than scattered around in gists.

@roipeker GraphX is extremely useful library. Thank you so much for the precious countless hours and neurons you have spent on making this library possible.

shujaatak avatar Jun 08 '21 10:06 shujaatak

Fixed in https://github.com/roipeker/graphx/tree/dedf6cc8f455e4c6213e62731879b8d1aab381d3

roipeker avatar Nov 20 '22 06:11 roipeker