Re: getBBox() returns null

jonathan wood <[email protected]>
Newsgroups gmane.text.xml.batik.user
Message-ID <CAKiJDQQvCzAhrS1p5+Zk5bOZcUw0Q15yqyqoc4itV9J7p-_MDw@mail.gmail.com>
I'd also advise the changes be made in a single runnable as Thomas
suggested.  If you want a proof of concept for that, I'd point to some
rather old, but potentially useful code I wrote awhile ago...seems to be
doing something similar to what you want...look towards the end of the
conversation for the inlined example:

http://batik.2283329.n4.nabble.com/Status-of-FlowRoot-Overflow-Detection-td2979431.html


On Thu, Sep 27, 2012 at 6:04 PM, DeWeese Thomas <[email protected]>wrote:

> Hi fireball,
>         I suggest that you add the content and then set the properties.
>
>         Otherwise the result of getBBox may well be wrong. There are many
> properties that affect how text is rendered that will be inherited where
> the element is inserted in the document, so any calculation you make
> outside of it's final place in the document has a decent chance of being
> wrong.
>         If you add it and set the properties in one Runnable (sent to the
> UpdateManager's RunnableQueue) then it won't be rendered until your
> runnable exits.
>
>         If you really need to do this outside of the document (and I
> strong recommend against it in general) you can check out the link Jonathan
> gave for booting the SVG & CSS Dom.  However once again I must point out
> that for that to give you useful results the CSS context must be the same
> as where it will eventually be inserted into the document.
>
>         Thomas
>
> On Sep 27, 2012, at 10:16 AM, fireball <[email protected]> wrote:
>
> > I think I might know what is happening. Correct me if I am wrong.
> >
> > The BBox is computed after the text is rendered. And my understanding of
> > rendering is that it happens when the text element is added to the
> canvas.
> >
> > What I am trying to do here is load an SVG file into a document, set some
> > properties and then add it into the canvas. Since I am trying to set
> > properties before adding to canvas, BBox is not computed yet.
> >
> > Is there a way to do that before adding to canvas?
> >
> >
> >
> > --
> > View this message in context:
> http://batik.2283329.n4.nabble.com/getBBox-returns-null-tp4655273p4655276.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]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.