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]
> 

Reply via email to