Well it seems to work.  I did a *tiny* bit of refactoring (I'm using
intellij) and renamed cRect currentRegion as well as the naming changes
you suggested.  

I tried to run the test targets but they all failed due to missing
classes, InternetAddress being one if I remember correctly.  Is this
normal?

How would you like me to send you the changes?


On Mon, 2002-11-18 at 23:25, Thomas E Deweese wrote:
> >>>>> "AP" == Andrew Pietsch <[EMAIL PROTECTED]> writes:
> 
> AP> I've managed to get the rendering working (for the simple cases of
> AP> top, bottom and middle), but I'm a little unsure how to package
> AP> the align attribute in SVGFlowTextElementBridge.  It seems to me
> AP> that the vertical-align attribute should belong to the
> AP> <batik:region> element, which is currently converted to a
> AP> Rectangle2D.
> 
>     Unfortunately, I can see arguments on both sides of this
> (horizontal alignment would then per-para but vertical alignment would
> be on regions), I tend to agree that vertical-align belongs on the
> region element (just be aware that in the end this is the sort of
> thing the SVG WG is likely to change).
> 
> AP> I'm guessing that the list of rectangles produced (by
> AP> SVGFlowTextElementBridge.gatherRects) eventually ends up as the
> AP> list of flowRects passed to GlyphLayout.textWrapTextChunk() and
> AP> that I should be passing a RegionInfo class that holds the
> AP> rectangle and the alignment instead.
> 
> AP> Sound ok?
> 
>     Sounds about right, BTW gatherRects is only called from one place
> which is where the rectangles are attached to the attributed string.
> So a simple change would be to change gatherRects to gatherRegionInfo,
> and have it return a list of RegionInfo objects.  Similar small
> parallel changes on the other side should finish the job!
> 
>     Thanks, for doing this.
> 
> AP> Cheers Andrew
> 
> AP> On Wed, 2002-11-13 at 09:29, Andrew Pietsch wrote:
> >> Thanks for that, I'll give it a go..  (c:
> >> 
> >> On Tue, 2002-11-12 at 00:33, Thomas E Deweese wrote: > >>>>> "AP"
> >> == Andrew Pietsch <[EMAIL PROTECTED]> writes:
> >> > 
> >> > AP> I've now decided I need this.. )c:
> >> > 
> >> > AP> I'm presuming the final implementation is still someway off,
> >> so is > AP> there any change of adding it (since you feel its easy)
> >> or > AP> pointing me in the right direction so I can implement it?
> >> > 
> >> > I'll gadly point you in the right direction ;)
> >> > 
> >> > All of text wrapping is done as a post-processing step in text >
> >> layout.  That post-processing step has two parts, first it figures
> >> out > what needs to be on each line, then it positions all the
> >> glyphs.
> >> > 
> >> > All this work is done in the two methods:
> >> > 
> >> > // Does the line break determination >
> >> batik.gvt.text.GlyphLayout.textWrapTextChunk(....)
> >> > 
> >> > // Does the glyph positioning >
> >> batik.gvt.text.GlyphLayout.layoutChunk(....)
> >> > 
> >> > As textWrapTextChunk does it's work it adde LineInfo object to a
> >> > list, one for each line of text.
> >> > 
> >> > What I would suggest is adding a vertical-align offset member to
> >> > the LineInfo class.  This should be a Point2D.float.  Use the
> >> same > Point2D.float for all lines in a single flowRect (the list
> >> of > flowRects is accessed from the 'flowRectsIter').  When we hit
> >> the end > of a flowRect (or of text), you can get the vertical size
> >> from 'dy' > (depending on the case you will need to figure in the
> >> current line's > size - search for 'bottomEdge') & the flow rect
> >> size from cRect.height > from this you can calculate the 'left
> >> over' space and put half of it > in the vertical-align Point2D's y
> >> value.
> >> > 
> >> > Then in the layoutChunk method just add the vertical-align offset
> >> > in when calculating the correct lineLoc for the current line.
> >> > 
> >> > ---
> >> > 
> >> > You will also need to pass this information to the text-wrap
> >> stuff > from the source SVG.  This is mostly done in the >
> >> batik.extension.svg.SVGFlowTextElementBridge class. You might look
> >> at > how the margin's are done (search for makeMarginInfo) or how
> >> the > FlowRegions are handleded (search for getRegions).
> >> > 
> >> > ---
> >> > 
> >> > Hope this helps, and good luck (if you get into it and have >
> >> specific questions feel free to post).
> >> > 
> >> > AP> Thanks Andrew
> >> > 
> >> > AP> On Wed, 2002-10-23 at 22:34, Thomas E Deweese wrote: > >>
> >> >>>>> "AP" == Andrew Pietsch <[EMAIL PROTECTED]> writes:
> >> > >> 
> >> > AP> Hi,I was wondering if the css vertical-align property is
> >> supported > AP> (or planned) when using the flow text extension
> >> (i've tried a few > AP> times and browsed the code so I'm guessing
> >> no).  > >> No, and eventually :)
> >> > >> 
> >> > >> This is on hold pending decisions in the SVG WG.  The > >>
> >> implementation was done to get experience to feed back to the SVG >
> >> >> WG.  The WG is tring to sort out the details of how text
> >> wrapping > >> will work - what features to support, what algs
> >> should be used, > >> etc.
> >> > >> 
> >> > AP> I'm using the cvs version (week or so old).  I have a single
> >> flow > AP> region and it would be nice (though not critical) to
> >> vertically > AP> centre the text.  > >> This wouldn't be hard to
> >> implement for this case (or actually even > >> for multiple flow
> >> regions), but I haven't bothered since everything > >> is about to
> >> change anyway.
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to