package com.door43.translationstudio.rendering;
import com.door43.translationstudio.core.TranslationFormat;
import com.door43.translationstudio.spannables.Span;
import com.door43.translationstudio.spannables.USFMNoteSpan;
import com.door43.translationstudio.spannables.USXNoteSpan;
/**
* Class to support clickable spans
*/
public class Clickables {
/**
* test if this is a clickable format
* @param format
* @return
*/
public static boolean isClickableFormat(TranslationFormat format) {
return (format == TranslationFormat.USX) || (format == TranslationFormat.USFM);
}
/**
* setup rendering group for translation format
* @param format
* @param renderingGroup
* @param verseClickListener
* @param noteClickListener
* @param target - true if rendering target translations, false if source text
* @return
*/
static public ClickableRenderingEngine setupRenderingGroup(TranslationFormat format, RenderingGroup renderingGroup, Span.OnClickListener verseClickListener, Span.OnClickListener noteClickListener, boolean target) {
TranslationFormat defaultFormat = target ? TranslationFormat.USFM : TranslationFormat.USX;
ClickableRenderingEngine renderer = ClickableRenderingEngineFactory.create(format, defaultFormat, verseClickListener, noteClickListener);
renderingGroup.addEngine(renderer);
return renderer;
}
}