public bool TryHandleMouseEvent(IRtEmbeddingSpan embedding, IMouseEvent args) { if (!args.IsLeftDoubleClickEvent() || args.KeyModifiers != KeyModifiers.None) { return(false); } windowQueryService.QueryTextMutable("Formula Editor", embedding.SourceCode, x => embedding.SourceCode = x); return(true); }
public IImage BuildImage(IRtEmbeddingSpan embedding) { if (!TryParseAndRender(embedding.SourceCode, embedding.Style, out var pngBytes, out var error) && !TryParseAndRender("???", embedding.Style, out pngBytes, out var error2)) { throw new Exception(error2); } Bitmap bitmap; using (var stream = new MemoryStream(pngBytes, false)) bitmap = new Bitmap(stream); return(new SysDrawImage(bitmap)); }
public IRtEmbeddingHandler GetHandler(IRtEmbeddingSpan embedding) { // todo: handle the case when no handler found return(handlersByType.GetOrAdd(embedding.EmbeddingType, x => handlers.Last(h => h.HandledTypes.Contains(x)))); }