package com.door43.translationstudio.rendering;
import com.door43.translationstudio.core.TranslationFormat;
import com.door43.translationstudio.spannables.Span;
/**
* ClickableRenderingEngineFactory for creating ClickableRenderingEngine based on format
*/
public class ClickableRenderingEngineFactory {
/**
* create appropriate rendering engine for format and add click listeners
* @param format
* @param defaultFormat
* @param verseClickListener
* @param noteClickListener
* @return
*/
public static ClickableRenderingEngine create(TranslationFormat format, TranslationFormat defaultFormat, Span.OnClickListener verseClickListener, Span.OnClickListener noteClickListener) {
ClickableRenderingEngine renderer = null;
if( (format != TranslationFormat.USFM) && (format != TranslationFormat.USX) ) {
format = defaultFormat;
}
if(format == TranslationFormat.USFM) {
renderer = new USFMRenderer(verseClickListener, noteClickListener);
} if(format == TranslationFormat.USX) {
renderer = new USXRenderer(verseClickListener, noteClickListener);
}
return renderer;
}
}