Sfoglia il codice sorgente

Added an IFDocumentHandler filter for triggering rendering events.

Created an Event that captures an end page event with the page number.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1137566 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_1rc1old
Peter Hancock 13 anni fa
parent
commit
79b6690593

+ 7
- 0
src/java/org/apache/fop/render/RendererEventProducer.java Vedi File

* @event.severity ERROR * @event.severity ERROR
*/ */
void ioError(Object source, IOException ioe); void ioError(Object source, IOException ioe);

/**
* Triggered at the end of page rendering.
* @param source the event source
* @param number the page number
*/
void endPage(Object source, int number);
} }

+ 1
- 0
src/java/org/apache/fop/render/RendererEventProducer.xml Vedi File

<!-- $Id$ --> <!-- $Id$ -->
<catalogue xml:lang="en"> <catalogue xml:lang="en">
<message key="ioError">I/O error while writing to target file.[ Reason: {ioe}]</message> <message key="ioError">I/O error while writing to target file.[ Reason: {ioe}]</message>
<message key="endPage">Rendered page #{number}.</message>
</catalogue> </catalogue>

+ 2
- 1
src/java/org/apache/fop/render/RendererFactory.java Vedi File

import org.apache.fop.area.AreaTreeHandler; import org.apache.fop.area.AreaTreeHandler;
import org.apache.fop.fo.FOEventHandler; import org.apache.fop.fo.FOEventHandler;
import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker; import org.apache.fop.render.intermediate.AbstractIFDocumentHandlerMaker;
import org.apache.fop.render.intermediate.EventProducingFilter;
import org.apache.fop.render.intermediate.IFDocumentHandler; import org.apache.fop.render.intermediate.IFDocumentHandler;
import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator; import org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator;
import org.apache.fop.render.intermediate.IFRenderer; import org.apache.fop.render.intermediate.IFRenderer;
if (configurator != null) { if (configurator != null) {
configurator.configure(documentHandler); configurator.configure(documentHandler);
} }
return documentHandler;
return new EventProducingFilter(documentHandler, userAgent);
} }


/** /**

+ 54
- 0
src/java/org/apache/fop/render/intermediate/EventProducingFilter.java Vedi File

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/* $Id:$ */

package org.apache.fop.render.intermediate;

import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.render.RendererEventProducer;
import org.apache.fop.render.intermediate.util.IFDocumentHandlerProxy;

/**
* A filter that uses the Event Notification System to broadcast IF events.
*
*/
public class EventProducingFilter extends IFDocumentHandlerProxy {

private int pageNumberEnded;

private FOUserAgent userAgent;

/**
* Constructor
* @param ifDocumentHandler the IFDocumentHandler to filter
* @param userAgent the FOUerAgent
*/
public EventProducingFilter(IFDocumentHandler ifDocumentHandler, FOUserAgent userAgent) {
super(ifDocumentHandler);
this.userAgent = userAgent;
}

@Override
public void endPage() throws IFException {
super.endPage();
pageNumberEnded++;
RendererEventProducer.Provider.get(userAgent.getEventBroadcaster())
.endPage(this, pageNumberEnded);
}

}

+ 5
- 0
status.xml Vedi File

<person name="Andreas Delmelle" email="adelmelle@apache.org" id="AD"/> <person name="Andreas Delmelle" email="adelmelle@apache.org" id="AD"/>
<person name="Luca Furini" email="lfurini@apache.org" id="LF"/> <person name="Luca Furini" email="lfurini@apache.org" id="LF"/>
<person name="Christian Geisert" email="chrisg@apache.org" id="CG"/> <person name="Christian Geisert" email="chrisg@apache.org" id="CG"/>
<person name="Peter Hancock" email="phancock@apache.org" id="PH"/>
<person name="Vincent Hennebert" email="vhennebert@apache.org" id="VH"/> <person name="Vincent Hennebert" email="vhennebert@apache.org" id="VH"/>
<person name="Clay Leeds" email="clay@apache.org" id="CL"/> <person name="Clay Leeds" email="clay@apache.org" id="CL"/>
<person name="Manuel Mall" email="manuel@apache.org" id="MM"/> <person name="Manuel Mall" email="manuel@apache.org" id="MM"/>
documents. Example: the fix of marks layering will be such a case when it's done. documents. Example: the fix of marks layering will be such a case when it's done.
--> -->
<release version="FOP Trunk" date="TBD"> <release version="FOP Trunk" date="TBD">
<action context="Renderers" dev="PH" type="add">
Added an IFDocumentHandler filter for triggering rendering events. Created an Event that
captures an end page event with the page number.
</action>
<action context="Renderers" dev="VH" type="fix"> <action context="Renderers" dev="VH" type="fix">
Bugfix: alternative text not working in tagged PDF for TIFF images. Bugfix: alternative text not working in tagged PDF for TIFF images.
</action> </action>

Loading…
Annulla
Salva