public final boolean convert(final ContentBlock block) { ConversionState[] supportedStates = editor.getSupportedTargetConversionStates(block); if (supportedStates.length == 0) return false; editor.convert(block, supportedStates[0]); return true; }
@Override public void onClick(DialogInterface dialog, int which) { if (closeOnCancel) targetPackage.close(); } });
public final void setPart(File newFile, ContentPackage newPackage, ContentPart newPart) { editor.getRenderer().setViewOffset(0, 0); editor.getRenderer().setViewScale(1); editor.setPart(newPart); editorView.setVisibility(View.VISIBLE); if (currentPart != null && currentPart != newPart) currentPart.close(); if (currentPackage != null && currentPackage != newPackage) currentPackage.close(); currentFile = newFile; currentPackage = newPackage; currentPart = newPart; activity.setTitle(currentFile.getName() + " - " + currentPart.getType()); }
public void setEditor(@NonNull Editor editor) { this.editor = editor; editor.addListener(this); editor.getRenderer().addListener(this); this.exportParams = editor.getEngine().createParameterSet(); this.exportParams.setBoolean("export.jiix.strokes", false); this.exportParams.setBoolean("export.jiix.bounding-box", false); this.exportParams.setBoolean("export.jiix.glyphs", false); this.exportParams.setBoolean("export.jiix.primitives", false); this.exportParams.setBoolean("export.jiix.chars", false); Configuration configuration = editor.getEngine().getConfiguration(); fadeOutWriteInDiagramDelay = configuration.getNumber("smart-guide.fade-out-delay.write-in-diagram", SMART_GUIDE_FADE_OUT_DELAY_WRITE_IN_DIAGRAM_DEFAULT).intValue(); fadeOutWriteDelay = configuration.getNumber("smart-guide.fade-out-delay.write", SMART_GUIDE_FADE_OUT_DELAY_WRITE_DEFAULT).intValue(); fadeOutOtherDelay = configuration.getNumber("smart-guide.fade-out-delay.other", SMART_GUIDE_FADE_OUT_DELAY_OTHER_DEFAULT).intValue(); removeHighlightDelay = configuration.getNumber("smart-guide.highlight-removal-delay", SMART_GUIDE_HIGHLIGHT_REMOVAL_DELAY_DEFAULT).intValue(); }
public void close() { // unplug input management setOnTouchListener(null); if (editor != null && !editor.isClosed()) { editor.setPart(null); editor.setFontMetricsProvider(null); editor.close(); editor = null; } if (renderer != null && !renderer.isClosed()) { renderer.close(); renderer = null; } }
@Override public void run() { editorView.getRenderer().setViewOffset(0, 0); editorView.getRenderer().setViewScale(1); editorView.setVisibility(View.VISIBLE); editor.setPart(contentPart); } });
@Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { if (editor.isScrollAllowed()) { Point oldOffset = editor.getRenderer().getViewOffset(); Point newOffset = new Point(oldOffset.x + distanceX, oldOffset.y + distanceY); editor.clampViewOffset(newOffset); editor.getRenderer().setViewOffset(newOffset.x, newOffset.y); renderTarget.invalidate(editor.getRenderer(), EnumSet.allOf(IRenderTarget.LayerType.class)); return true; } return false; }
public final boolean resetView() { Renderer renderer = editor.getRenderer(); renderer.setViewOffset(0, 0); renderer.setViewScale(1); editorView.invalidate(renderer, EnumSet.allOf(IRenderTarget.LayerType.class)); return true; }
public final boolean zoomOut() { Renderer renderer = editor.getRenderer(); renderer.zoom(100.0f / 110.0f); editorView.invalidate(renderer, EnumSet.allOf(IRenderTarget.LayerType.class)); return true; }
private final synchronized File getFile(String url) throws IOException { File file = new File(cacheDirectory, url); file.getParentFile().mkdirs(); editor.getPart().getPackage().extractObject(url, file); return file; } }
@Override public void onClick(DialogInterface dialog, int which) { File newFile = files[selected[0]]; try { ContentPackage newPackage = editor.getEngine().openPackage(newFile); ContentPart newPart = newPackage.getPart(0); setPart(newFile, newPackage, newPart); } catch (IOException e) { Toast.makeText(context, "Failed to open package", Toast.LENGTH_LONG).show(); } } });
public final boolean nextPart() { if (currentPart == null) return false; int index = currentPackage.indexOfPart(currentPart); if (index + 1 >= currentPackage.getPartCount()) return false; ContentPart newPart = currentPackage.getPart(index + 1); setPart(currentFile, currentPackage, newPart); return true; }
@Override public void activeBlockChanged(Editor editor, String blockId) { activeBlock = editor.getBlockById(blockId); if (block != null && block.getId().equals(blockId)) return; // selectionChanged already changed the active block update(activeBlock, UpdateCause.EDIT); }
public final boolean previousPart() { if (currentPart == null) return false; int index = currentPackage.indexOfPart(currentPart); if (index - 1 < 0) return false; ContentPart newPart = currentPackage.getPart(index - 1); setPart(currentFile, currentPackage, newPart); return true; }
@Override public void onClick(DialogInterface dialog, int which) { String partType = partTypes[selected[0]]; ContentPart newPart = targetPackage.createPart(partType); setPart(targetFile, targetPackage, newPart); } });
public static synchronized Engine getEngine() { if (engine == null) { engine = Engine.create(MyCertificate.getBytes()); } return engine; }
public final int getPartIndex() { return currentPart == null ? -1 : currentPackage.indexOfPart(currentPart); }
public final int getPartCount() { return currentPackage == null ? 0 : currentPackage.getPartCount(); }
public final boolean zoomIn() { Renderer renderer = editor.getRenderer(); renderer.zoom(110.0f / 100.0f); editorView.invalidate(renderer, EnumSet.allOf(IRenderTarget.LayerType.class)); return true; }