aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/area/RenderPagesModel.java
Commit message (Collapse)AuthorAgeFilesLines
* Changed license headers and updated NOTICE file according to: ↵Jeremias Maerki2006-07-281-5/+6
| | | | | | http://www.apache.org/legal/src-headers.html git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@426576 13f79535-47bb-0310-9956-ffa450edef68
* Don't catch RuntimeExceptions.Jeremias Maerki2006-04-051-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@391618 13f79535-47bb-0310-9956-ffa450edef68
* Added support for page sequence title in AreaTreeParser (IF). Fixes problems ↵Jeremias Maerki2006-02-261-1/+9
| | | | | | | | in intermediate format test suite. Introduced a PageSequence area tree object to achieve the proper sequence of Renderer.startPageSequence() calls and Renderer.renderPage() calls. Otherwise, the pageSequence elements are not properly placed in the intermediate format. Doesn't really affect the other renderers because they don't really care. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@381080 13f79535-47bb-0310-9956-ffa450edef68
* New feature: "Intermediate format" (IF). The IF is basically the XML dialect ↵Jeremias Maerki2006-01-171-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | written by the area tree renderer (XMLRenderer). A new parser for this format allows reparsing a serialized and possibly modified area tree and rendering it to the final target format. More details on the Wiki at http://wiki.apache.org/xmlgraphics-fop/AreaTreeIntermediateXml. No advanced features have been implemented, yet, only the basic functionality. The whole change should be fully backwards-compatible WRT the outer FOP API except maybe for FOTreeBuilder.addElementMapping(), and the area tree XML which got small changes. The area tree has been cleaned up. The serializability has been restored. The CachedRenderPagesModel works again and can, in certain situations, decrease the maximum amount of memory held at one point in time. Some adjustments were necessary in the area tree to help the work of the AreaTreeParser. The AreaTreeParser is new and is responsible for parsing area tree XML files and adding pages to a RenderPagesModel instance. It is SAX-based and should be pretty efficient. XMLUnit (http://xmlunit.sourceforge.net, BSD license) is a new dependency for the test code. It is used to verify the correctness of the intermediate format code. It doesn't have to be installed for the build to run through, though. ElementMapping got a new method getDOMImplementation() which provides the DOMImplementation used to handle a subdocument of a particular namespace. For example, SVG uses Batik's SVG DOM. The AreaTreeParser needs that to properly recreate foreign objects because it can't use the mechanism of the FO tree. The default implementation returns null. The ElementMapping instances are no longer maintained by the FOTreeBuilder, but by the newly created ElementMappingRegistry class. It is expected that the instance of this class is moved from the FOTreeBuilder and the AreaTreeParser's Handler class to the "environment class" once it is created to cut down on the startup time for each processed document. The XMLRenderer has been slightly modified to improve the serialization/deserialization qualities of the area tree XML format. The XMLRenderer can now mimic another renderer (see mimicRenderer(Renderer)) in order to use its font setup. That way it is made certain that the reparsed area tree will render to the final target format exactly as expected. Fixed a bug in the XMLHandlerRegistry which did not always return the right XMLHandler for every situation. Added a DefaultErrorListener to the util package. I've had problems with Xalan-J swallowing exceptions with its default ErrorListener, so I added a simple one for convenience and use in AreaTreeParser. Example code for working with the AreaTreeParser can be found in examples/embedding. Documentation will follow. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@369753 13f79535-47bb-0310-9956-ffa450edef68
* First step towards reactivating CachedRenderPagesModel (helps preparing for ↵Jeremias Maerki2005-12-201-4/+3
| | | | | | | | the intermediate format). Fix some serialization problems in the area tree. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@357982 13f79535-47bb-0310-9956-ffa450edef68
* Updated from Jakarta Commons IO 1.0 to 1.1. CopyUtils.copy() becomes ↵Jeremias Maerki2005-11-141-2/+2
| | | | | | | | | IOUtils.copy() again. CopyUtils in 1.0 was not ideal design decision. Fixed most of the unappropriate System.err/System.out/Exception.printStackTrace(). Those that aren't fixed and are not legitimate calls (in main() methods etc.) are marked with a TODO item. Some Javadocs and style updates. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@344111 13f79535-47bb-0310-9956-ffa450edef68
* Fop.java gets two new constructors: Fop(String) and Fop(String, FOUserAgent) ↵Jeremias Maerki2005-11-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | where the String is the MIME type for the desired output format. MimeConstants provides a comprehensive list of MIME types used in Fop.java. Non-standard, FOP-specific MIME types changed to a uniform pattern: application/X-fop-awt-preview, application/X-fop-print and application/X-fop-areatree. RendererFactory now supports manual registration and dynamic discovery of Renderers and FOEventHandlers by their MIME types. Instantitation is done using MIME types everywhere. The RENDER_* constants are mapped to MIME types in Fop.java. RendererFactory is now an instantiable class whose reference is held by FOUserAgent just like it is done for the XLMHandlers. Renderers and FOEventHandlers now each have a *Maker class which is a kind of factory class which is used to register a Renderer/FOEventHandler and additionally serves to provide additional information about the thing, such as the MIME types it supports and if the implementation requires an OutputStream. The command-line gets a new option: -out application/pdf myfile.pdf is the generic way to create an output file. If someone created a WordML output handler and provided the right service resource file he could specify "-out text/xml+msword out.xml". ".out list" lists all MIME types that are available for output. Renderers can now potionally expose a Graphics2DAdapter which in concert with Graphics2DImagePainter can be used by FOP extensions to paint their content directly using a Graphics2D instance. That makes it possible to avoid a detour via SVG/Batik in certain cases. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@332549 13f79535-47bb-0310-9956-ffa450edef68
* Squashed CheckStyle warnings, mostly JavaDoc.Joerg Pietschmann2005-09-071-2/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@279439 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2005-02-121-3/+3
| | | | | | | | | | Obtained from: Submitted by: Reviewed by: Removed flush() override from PSLM, consolidated StorePagesModel & AreaTreeModel, removed unused LineTrait.java. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198425 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2005-02-101-2/+3
| | | | | | | | | | Obtained from: Submitted by: Reviewed by: Some simplification to StorePagesModel, removal of not very informative comment in PSLM. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198415 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2005-02-061-1/+1
| | | | | | | | | | Obtained from: Submitted by: Reviewed by: Rolled the PageNumberGenerator from PSLM back into PageSequence (slightly simpler, also this functionality is useful for non-layout render types), renamed PageViewport.getPageNumber() to .getPageNumberString() to emphasize what it is actually returning. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198381 13f79535-47bb-0310-9956-ffa450edef68
* More code commenting and minor cleanup of bookmark/Resolvable/ATH code.Glen Mazza2004-12-161-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198202 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2004-12-061-4/+15
| | | | | | | | | | 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. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198187 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2004-10-281-17/+16
| | | | | | | | | | | | | Obtained from: Submitted by: Reviewed by: 1.) Changed OffDocumentItem from an interface to an abstract base class. 2.) Removed the "extensions" package. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198105 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2004-10-271-12/+12
| | | | | | | | | | Obtained from: Submitted by: Reviewed by: Rename of TreeExt interface to somewhat more intuitive OffDocumentItem. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198104 13f79535-47bb-0310-9956-ffa450edef68
* PR:Glen Mazza2004-10-241-8/+2
| | | | | | | | | | | | | | | | Obtained from: Submitted by: Reviewed by: 1.) Rename of interface Resolveable to Resolvable. (http://dictionary.reference.com/search?q=resolvable) 2.) Reordering of methods in AreaTreeHandler, removal of unneeded TreeExt array. 3.) Switch from AreaTreeModel.addExtension() to .handleExtension(). 4.) Removal of unneeded TreeExt.getName() (unused), getMimeType() (implementation of an Area Tree extension up to each renderer), and isResolvable() (code changed to use instanceof operator instead). 5.) Couple of minor layout bugs fixed. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198098 13f79535-47bb-0310-9956-ffa450edef68
* Centralized Renderer and FOEventHandler creation in the RenderFactory class.Jeremias Maerki2004-10-101-57/+4
| | | | | | | | Provide a similar mechanism as for the Renderers to override the FOEventHandler being used to be able to plug in custom FOEventHandlers. (I don't particularly like this approach but so be it for the moment.) Javadocs updates in FOUserAgent. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198027 13f79535-47bb-0310-9956-ffa450edef68
* Removal of empty Title subclass, now using LineArea.Glen Mazza2004-09-251-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197975 13f79535-47bb-0310-9956-ffa450edef68
* Implementing user configuration file.Simon Pepping2004-07-091-5/+24
| | | | | | | | | Adding debug logging for user configuration, user PDF filters and user fonts. Adding reporting of mime type to renderers. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197774 13f79535-47bb-0310-9956-ffa450edef68
* 1.) Moved the Renderer creation further down from AreaTree to ↵Glen Mazza2004-07-071-7/+77
| | | | | | | | | | | | | RenderPagesModel (subclass of AreaTreeModel). Still have the issue of the four-param constructor a bit messy, also some of the exceptions I have to declare to be thrown may not be necessary. 2.) Removed encapsulation-breaking methods from AreaTree; dropped the AreaTreeBuilder class as it wasn't conformant with our API and required too many objects to expose internal functionality. 3.) Validity checking added for fo:title, however still won't work as #PCDATA needs <fo:blocks> around it within FOP, but the Recommendation bans those for fo:title. 4.) isInlineItem() added to FObj, as a quick check for the %inline; parameter entity as defined in spec. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197763 13f79535-47bb-0310-9956-ffa450edef68
* Applied Apache License Version 2.0 by following the instructions at ↵Jeremias Maerki2004-02-271-46/+14
| | | | | | http://www.apache.org/dev/apply-license.html. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197384 13f79535-47bb-0310-9956-ffa450edef68
* Moved sources from src/org/** to src/java/org/**Jeremias Maerki2003-03-111-0/+223
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196061 13f79535-47bb-0310-9956-ffa450edef68