Hi Luc,
Luc_B <[email protected]> wrote on 06/30/2009 03:43:57 PM:
> I got it working except for one thing which is major for me. Let me
explain.
> All transformations such as zoom and pan are working fine with the
history
> now.
>
> My only problem is views. Whenever I set a new view via
> canvas.setFragmentIdentifier("MyView");
>
> It will be stored into the history but when I hit back it brings me back
but
> not at the same zoom level I was prior to calling setFragmentIdentifier.
This is because setting the fragment identifier clears the rendering
transform (this is done because in general the fragment identifier
specifies
a viewbox). You may need to provide your own version of the
setFragmentIdent
that incorporates the renderingTransform you want - in particular replace
the call to computeRenderingTransform such that initalTransform is
replaced
with your desired history transform.
> I suspect I need in this case to store the ViewBoxTransform in history
> instead of the RederingTransform
I don't think this is needed, you just need to install both.
>
> But if so how can I distinguish between a regular interaction(zoom, pan)
> and a setFragmentIdentifier call?
>
> Thanks again,
> Luc
>
> thomas.deweese wrote:
> >
> > Hi Luc,
> >
> > Luc_B <[email protected]> wrote on 06/29/2009 04:03:39 PM:
> >
> >> So I did my test by choosing the "Transform..." menu item. I did a
bunch
> > of
> >> transforms and the next and previous menu item would never become
> > enabled...
> >>
> >> This did not work until I clicked on the Stop button that I noticed
was
> >> enabled. Then all my transformations would trigger the
> > gvtRenderingCompleted
> >> event and therefor update the transformHistory object...
> >
> > Ok, I see the problem. It used to be that all rendering transform
> > changes caused a gvtRenderingComplete, that is no longer the case for
> > 'interactive' documents - i.e. ones with script and/or animation. So
> > the right thing to do now is to register a JGVTComponentListener with
> > the canvas to catch componentTransformChanged events instead.
> >
> >> thomas.deweese wrote:
> >> >
> >> > Hi Luc,
> >> >
> >> >> Luc_B wrote:
> >> >> >
> >> >> > I am trying to implement a back / forward history in the svg
> > whenever
> >> > a
> >> >> > user has panned or zoomed.
> >> >> >
> >> >> > I have tried to reuse the TransformHistory class from the
> > SVGBrowser
> >> > but
> >> >> > they seem to only store the RenderingTransform at load. I need
more
> >
> >> > than
> >> >> > that.
> >> >
> >> > In my tests it records all my pan and zoom actions. Are you
> > including
> >> > the code from the JSVGViewerFrame that notifies the history class
of
> >> > transform changes?
> >> >
> >> >> > I want to know what AffineTransform should I store so when the
user
> >
> >> > hits
> >> >> > back in order to show him where he was before.
> >> >
> >> > 'canvas.getRenderingTransform()'.
> >> >
> >> >> > I am also wondering how to restore the svg view to that specific
> >> > point...
> >> >
> >> > 'canvas.setRenderingTransform( affine );'
> >> >
> >> > This is all in the JSVGViewerFrame class already. Just look
for
> > all
> >> > the lines with 'transformHistory'.
> >> >
> >> >
> >>
> >> --
> >> View this message in context: http://www.nabble.com/Pan-and-zoom-
> >> navigation-history-tp24074338p24260583.html
> >> Sent from the Batik - Users mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail:
[email protected]
> >> For additional commands, e-mail:
[email protected]
> >>
> >
> >
>
> --
> View this message in context: http://www.nabble.com/Pan-and-zoom-
> navigation-history-tp24074338p24277832.html
> Sent from the Batik - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>