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(
final LayoutContext c,
final BlockBox box,
final UserAgentCallback uac,
final int cssWidth,
final int cssHeight ) {
for( final var f : mFactoryList ) {
final var r = f.createReplacedElement( c, box, uac, cssWidth, cssHeight );
if( r != null ) {
return r;
}
}
return null;
}
public void addFactory( final ReplacedElementFactory factory ) {
mFactoryList.add( factory );
}
public void reset() {
for( final var factory : mFactoryList ) {
factory.reset();
}
}
public void remove( final Element element ) {
for( final var factory : mFactoryList ) {
factory.remove( element );
}
}
public void setFormSubmissionListener( FormSubmissionListener listener ) {
}
}