package com.scrivenvar.preview;
import org.w3c.dom.Element;
import org.xhtmlrenderer.extend.ReplacedElement;
import org.xhtmlrenderer.extend.ReplacedElementFactory;
import org.xhtmlrenderer.extend.UserAgentCallback;
import org.xhtmlrenderer.layout.LayoutContext;
import org.xhtmlrenderer.render.BlockBox;
import org.xhtmlrenderer.simple.extend.FormSubmissionListener;
import java.util.ArrayList;
import java.util.List;
public class ChainedReplacedElementFactory implements ReplacedElementFactory {
private final List<ReplacedElementFactory> mFactoryList = new ArrayList<>();
public ChainedReplacedElementFactory() {
}
public ReplacedElement createReplacedElement(
LayoutContext c, BlockBox box, UserAgentCallback uac,
int cssWidth, int cssHeight ) {
ReplacedElement re = null;
for( final ReplacedElementFactory ref : mFactoryList ) {
re = ref.createReplacedElement( c, box, uac, cssWidth, cssHeight );
if( re != null ) {
break;
}
}
return re;
}
public void addFactory( final ReplacedElementFactory factory ) {
mFactoryList.add( factory );
}
public void reset() {
for( final ReplacedElementFactory factory : mFactoryList ) {
factory.reset();
}
}
public void remove( final Element element ) {
for( final ReplacedElementFactory factory : mFactoryList ) {
factory.remove( element );
}
}
public void setFormSubmissionListener( FormSubmissionListener listener ) {
}
}