Jeremias Maerki [Wed, 12 Jan 2005 12:03:00 +0000 (12:03 +0000)]
Removed the "inheritedStartIndent" hack again.
Switched to start|end-indent-oriented calculation.
Improved line painting in the PDFRenderer.
Some improvements in BlockContainerLayoutManager (but still WIP ATM).
Jeremias Maerki [Wed, 12 Jan 2005 11:36:30 +0000 (11:36 +0000)]
Fix for keyword substitutions for enum properties. Check came too late evaluating the substituted value to a string instead of an enum value. (I found the problem in writing-mode)
Glen Mazza [Tue, 11 Jan 2005 00:07:52 +0000 (00:07 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
1.) EnumProperty starting-state implemented.
2.) Switch from "makeEnumProperty" to slightly more intuitive "getEnumProperty" in FOPropertyMapping.
3.) Removed no longer used canHaveIds array in PropertySets.
Glen Mazza [Sun, 9 Jan 2005 12:47:40 +0000 (12:47 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
1.) New attributeWarning() method added to FONode (needs to be renamed somehow because can this method can also be used for formatting object warnings as well--e.g., unimplemented FO's)
2.) Switch from processNode() -> bind() method for fo:bookmark.
Jeremias Maerki [Fri, 7 Jan 2005 08:21:21 +0000 (08:21 +0000)]
Bugfix for start-indent calculation for nested blocks. The inherited start-indent wasn't taken into account as described in 5.3.2 of the spec.
Minor style and javadoc improvements on the way.
Jeremias Maerki [Thu, 6 Jan 2005 19:20:37 +0000 (19:20 +0000)]
Fork JUnit test in new VM. (Maybe this fixes classpath problems with commons-logging when Xalan compiles again).
Added layout engine tests specifying a default exclusion file.
To disable the exclusion file add the following line to your build-local.properties:
layoutengine.disabled=
Jeremias Maerki [Thu, 6 Jan 2005 19:17:51 +0000 (19:17 +0000)]
Add ability to optionally specify a simple textfile with a list of filenames of testcases to be disabled (one entry per line).
Specify a filename with that textfile in the system property "fop.layoutengine.disabled".
disabled-testcases.txt should serve as our default file for this purpose (ex. in Gump).
Jeremias Maerki [Thu, 6 Jan 2005 09:46:55 +0000 (09:46 +0000)]
Ability to restrict the testcases being processed to one for debugging. Just specify its filename as a system property "fop.layoutengine.single".
Example: -Dfop.layoutengine.single=padding2.xml
Jeremias Maerki [Wed, 5 Jan 2005 21:11:34 +0000 (21:11 +0000)]
Initial version of a layout engine testing subsystem.
Uses the area tree XML to check the output of the layout engine.
Provides a TestSuite for use with JUnit.
Individual test cases are defined in XML files.
Jeremias Maerki [Mon, 3 Jan 2005 13:06:27 +0000 (13:06 +0000)]
Access to intrinsic image size for eg/ifo through getLayoutDimension() instead of through separate interface.
Added a todo item about replacing the use of propertyList along with a reference to the related post on fop-dev.
Made the LayoutDimension keys a subclass of Avalon Framework's Enum to make the thing more debugger-friendly and more type-safe.
Glen Mazza [Sun, 2 Jan 2005 20:42:51 +0000 (20:42 +0000)]
Switched from fox:bookmarks to fo:bookmark-tree (of XSL 1.1 2WD). Two more
bookmark-related FO's (fox:outline and fox:label) need conversion and will
be done next.
Simon Pepping [Mon, 27 Dec 2004 10:13:05 +0000 (10:13 +0000)]
Changed LayoutManagerMaker.makeLayoutManager(FONode node) to throw a
FOPException, and removed LayoutManagerMaker.makeLayoutManager(FONode
node, boolean checkLength). Adapted LayoutManagerMapping,
PageSequenceLM and AreaTreeHandler.
Simon Pepping [Fri, 24 Dec 2004 12:06:26 +0000 (12:06 +0000)]
This patch implements a pluggable LayoutManagers system, according
to the ideas of Finn Bock and his patch in bug 30500.
Created a LayoutManagerMaker interface, with method
makeLayoutManagers(FONode, List), and two convenience methods on top
of it.
Created an implementation: LayoutManagerMapping. This is along the
pattern of FOElementMapping. It creates a Map from FObj class to Maker
objects. There are many static inner classes which are subclasses of
Maker. Each subclass implements its own version of the make method.
FOUserAgent has a setter and getter for
LayoutManagerMakerOverride. AreaTreeHandler creates a
LayoutManagerMaker, taking the user's override into account, using
LayoutManagerMapping as the default. It has a get method for it.
The LayoutManager interface has a get method for the AreaTreeHandler
object, a reference to which is held in PageSequenceLM, the top of the
LM tree.
Simon Pepping [Wed, 22 Dec 2004 18:22:35 +0000 (18:22 +0000)]
Fixed the NPE for fo:title in FOText.createBlockPointers by returning
early.
Fixed the absence of output for fo:title: In ContentLM.fillArea, replace
curLM.getNextBreakPoss with getNextKnuthElements, BreakPossIter with
KnuthPossIter. Copied the line parameter calculations from
LineLM.makeLineBreakPosition. This is only a rough patch: leaders,
external graphics, page numbers cause null pointer exceptions.
Simon Pepping [Wed, 22 Dec 2004 08:54:10 +0000 (08:54 +0000)]
Removed instances of InlineStackingLayoutManager. Created a new FO
node class, InlineLevel, a subclass of FObjMixed, a base class for
several inline-level FObj: Inline, Leader, Title. The
InlineLayoutManager constructor requires an FObj of this type.
Simon Pepping [Tue, 21 Dec 2004 11:28:05 +0000 (11:28 +0000)]
Implemented cloning and reparenting of the subtree under a marker to
the retrieving retrieve-marker. The FO nodes are cloned. The new
subtree is attached to the RetrieveMarker object. The property
lists are not cloned. The subtree of property lists is attached to the
property list of the RetrieveMarker object. This is only needed for
the binding of the FO nodes. After that a subsequent retrieve-marker
may reparent the property lists.
Removed Marker's reference to its property list. In Marker.endOfNode()
the parent of the property lists of the direct children of marker is
reset to null. FOText nodes are not mapped to the Marker's property
list in Marker. This allows the Marker's property list and its
ancestors to be GC'ed.
FOText nodes use the parent FO node's property list or the
RetrieveMarker's property list for binding.
TODO: Block.handleWhiteSpace is not applied to text in retrieve-marker.
TODO: White space treatment around retrieve-marker is incorrect.
Glen Mazza [Thu, 16 Dec 2004 01:03:04 +0000 (01:03 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Removed Runnable interface from PSLM; new method "activateLayout()" combines
former run() and doLayout() methods in PSLM.
Luca Furini [Thu, 9 Dec 2004 15:53:36 +0000 (15:53 +0000)]
* created a new method which is called only once by LineLM.getNextBreakPoss() and subsequently calls findBreakingPoints() with different parameters until a set of breaking point is found
* renamed lastDeactivatedNode -> bestDeactivatedNode, and updated only if the node to deactivate is "better" than the old one (may need some fine-tuning)
* instead of the fallback() method, which created only one lineBreakPosition, a
new algorithm is used if Knuth's fails
Simon Pepping [Tue, 7 Dec 2004 20:11:21 +0000 (20:11 +0000)]
Removed RetrieveMarkerLM. The LMs of the marker children are attached
in the LM tree as the direct children of the LM of the parent of the
RetrieveMarker. This patch solves bug 32253.
Luca Furini [Mon, 6 Dec 2004 13:55:18 +0000 (13:55 +0000)]
Using the constant LineLayoutManager.DEFAULT_SPACE_WIDTH instead of the font-dependant wordSpaceIPD.opt when creating auxiliary glue items for start and end alignment
Glen Mazza [Mon, 6 Dec 2004 05:37:17 +0000 (05:37 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Removed pretend "resolution" of still-unresolved idrefs at ATH.endDocument(). This was apparently done to force page rendering of remaining unresolved pages at RenderPagesModel.checkPreparedPages() (which requires a page to be completely resolved before rendering). Replacement code keeps unresolved idrefs unresolved, but explicitly forces page rendering for calls to checkPreparedPages() that originate from ATH.endDocument(). Comments welcome.
Glen Mazza [Sat, 27 Nov 2004 19:58:35 +0000 (19:58 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
Removed unused logger from FOEventHandler and commented the AreaTreeHandler
to make it more understandable (particularily idref resolving code.)
Glen Mazza [Wed, 24 Nov 2004 21:07:31 +0000 (21:07 +0000)]
PR:
Obtained from:
Submitted by:
Reviewed by:
1.) Removed unneeded enumeration interfaces from fo.Constants.
2.) Appended EN_ to enumeration constants to make them better S&R'able throughout app.
3.) Added an EN_INHERIT enumeration constant (although not currently used in the system.)
Clay Leeds [Sat, 20 Nov 2004 15:28:45 +0000 (15:28 +0000)]
* backup of alt.design/
* backup of build/site w alt.design
* backup of build/site w/o alt.design
* backup of compliance.xml file (needs to be out of xdocs)