Update latex extension for latest changes
This commit is contained in:
		
							parent
							
								
									107246c573
								
							
						
					
					
						commit
						f86cf1d109
					
				| @ -5,6 +5,7 @@ import android.net.Uri; | ||||
| import android.support.annotation.NonNull; | ||||
| import android.support.annotation.Nullable; | ||||
| 
 | ||||
| import org.commonmark.node.Image; | ||||
| import org.commonmark.parser.Parser; | ||||
| 
 | ||||
| import java.io.ByteArrayInputStream; | ||||
| @ -14,10 +15,11 @@ import java.util.Scanner; | ||||
| 
 | ||||
| import ru.noties.jlatexmath.JLatexMathDrawable; | ||||
| import ru.noties.markwon.AbstractMarkwonPlugin; | ||||
| import ru.noties.markwon.MarkwonConfiguration; | ||||
| import ru.noties.markwon.MarkwonVisitor; | ||||
| import ru.noties.markwon.RenderProps; | ||||
| import ru.noties.markwon.image.AsyncDrawableLoader; | ||||
| import ru.noties.markwon.image.ImageItem; | ||||
| import ru.noties.markwon.image.ImageProps; | ||||
| import ru.noties.markwon.image.ImageSize; | ||||
| import ru.noties.markwon.image.MediaDecoder; | ||||
| import ru.noties.markwon.image.SchemeHandler; | ||||
| @ -77,19 +79,13 @@ public class JLatexMathPlugin extends AbstractMarkwonPlugin { | ||||
|                 final int length = visitor.length(); | ||||
|                 visitor.builder().append(latex); | ||||
| 
 | ||||
|                 final MarkwonConfiguration configuration = visitor.configuration(); | ||||
|                 final RenderProps renderProps = visitor.renderProps(); | ||||
| 
 | ||||
|                 visitor.setSpans( | ||||
|                         length, | ||||
|                         configuration.factory().image( | ||||
|                                 visitor.theme(), | ||||
|                                 makeDestination(latex), | ||||
|                                 configuration.asyncDrawableLoader(), | ||||
|                                 configuration.imageSizeResolver(), | ||||
|                                 new ImageSize(new ImageSize.Dimension(100, "%"), null), | ||||
|                                 false | ||||
|                         ) | ||||
|                 ); | ||||
|                 ImageProps.DESTINATION.set(renderProps, makeDestination(latex)); | ||||
|                 ImageProps.REPLACEMENT_TEXT_IS_LINK.set(renderProps, false); | ||||
|                 ImageProps.IMAGE_SIZE.set(renderProps, new ImageSize(new ImageSize.Dimension(100, "%"), null)); | ||||
| 
 | ||||
|                 visitor.setSpansForNode(Image.class, length); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
|  | ||||
| @ -49,6 +49,10 @@ public interface MarkwonVisitor extends Visitor { | ||||
|     // will throw, if not desired use setSpansForNodeOptional | ||||
|     <N extends Node> void setSpansForNode(@NonNull N node, int start); | ||||
| 
 | ||||
|     <N extends Node> void setSpansForNode(@NonNull Class<N> node, int start); | ||||
| 
 | ||||
|     // does not throw if there is no SpanFactory registered for this node | ||||
|     <N extends Node> void setSpansForNodeOptional(@NonNull N node, int start); | ||||
| 
 | ||||
|     <N extends Node> void setSpansForNodeOptional(@NonNull Class<N> node, int start); | ||||
| } | ||||
|  | ||||
| @ -236,6 +236,11 @@ class MarkwonVisitorImpl implements MarkwonVisitor { | ||||
|         setSpans(start, configuration.spansFactory().require(node).getSpans(configuration, renderProps)); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public <N extends Node> void setSpansForNode(@NonNull Class<N> node, int start) { | ||||
|         setSpans(start, configuration.spansFactory().require(node).getSpans(configuration, renderProps)); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public <N extends Node> void setSpansForNodeOptional(@NonNull N node, int start) { | ||||
|         final SpanFactory factory = configuration.spansFactory().get(node); | ||||
| @ -244,6 +249,14 @@ class MarkwonVisitorImpl implements MarkwonVisitor { | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public <N extends Node> void setSpansForNodeOptional(@NonNull Class<N> node, int start) { | ||||
|         final SpanFactory factory = configuration.spansFactory().get(node); | ||||
|         if (factory != null) { | ||||
|             setSpans(start, factory.getSpans(configuration, renderProps)); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     static class BuilderImpl implements Builder { | ||||
| 
 | ||||
|         private final Map<Class<? extends Node>, NodeVisitor<? extends Node>> nodes = new HashMap<>(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dimitry Ivanov
						Dimitry Ivanov