Re: baseline-shift property

2004-03-16 Thread Simon Pepping
You are looking at the code that initialized the property subsystem at
startup. BaselineShiftMaker and all other makers play a role in this
part of the process.

All properties are stored in the FO tree. This happens during parsing
of the FO document; you do not have to do anything here. During layout
(area tree building) you can access them with fobj.getProperty(int
propId), where propId = Constants.PR_BASELINE_SHIFT, and fobj is the
node in the FO tree. See org.apache.fop.fo.FObj.java. You can also use
propertyList.get(int propId), where propertyList is the PropertyList
object of the FO node. See org.apache.fop.fo.PropertyList.java. The
return value is a LengthProperty, a subclass of Property. If I am not
mistaken, the keywords sub, super, baseline have been resolved to a
length value.

Note that you seem to be using the HEAD version from CVS, which is
still under development and is not guaranteed to be complete.

On Tue, Mar 16, 2004 at 03:04:40PM +0100, Søren Christiansen wrote:
> Hi,
> Im currently planing to use FOP as a PDF render for our XML documents
> (transformed (XSLT) to the FO syntax). Everything seems to work fine but I
> need the render to support the baseline-shift property  -which currently
> isnt supported by the release version of FOP. Therefore I want to add this
> to the PDF render, but I after ive been studying the source and the
> development articles in 2 days I still cant figure out how to do it. It
> seems like the baseline-shift property is recognized as a implemented
> Lengthproperty in 
> 
> 
>   private void createAreaAlignmentProperties()
>   ...
>   // baseline-shift
> m  = new LengthProperty.Maker(PR_BASELINE_SHIFT);
> m.setInherited(false);
> m.addEnum("baseline", makeEnumProperty(BASELINE));
> m.addEnum("sub", makeEnumProperty(SUB));
> m.addEnum("super", makeEnumProperty(SUPER));
> m.setDefault("baseline");
> addPropertyMaker("baseline-shift", m);
>   ...
> But how do I access the values (sub,super,baseline) of the property in a
> parsed fo:inline block in the PDF renderer(RenderText)?. Im unable to access
> it through getTrait() - Im rather uncertain whether this property is stored
> in the FO tree or not?  and if not how do I store this in the FO tree?
> I came across a subclass Class BaselineShiftMaker in the API doc but its not
> distributed with the snapshot of the source !?
> 
> Ive problary been misunderstanding a great deal here - but I hope you  can
> help me anyway ...

Regards,
Simon Pepping

-- 
Simon Pepping
home page: http://www.leverkruid.nl



Re: baseline-shift property

2004-03-16 Thread J.Pietschmann
Søren Christiansen wrote:
Therefore I want 
to add this to the PDF render, but I after ive been studying the source 
and the development articles in 2 days I still cant figure out how to do 
it.
Don't bother. It is already implemented in the new code. If you want to
work at HEAD, you are welcome.
I came across a subclass*** Class BaselineShiftMaker* in the API doc but 
its not distributed with the snapshot of the source !?
It's code generated during the build.

J.Pietschmann