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; } }
private void invalidateIconButtons() { Editor editor = editorView.getEditor(); final boolean canUndo = editor.canUndo(); final boolean canRedo = editor.canRedo(); runOnUiThread(new Runnable() { @Override public void run() { ImageButton imageButtonUndo = (ImageButton) findViewById(R.id.button_undo); imageButtonUndo.setEnabled(canUndo); ImageButton imageButtonRedo = (ImageButton) findViewById(R.id.button_redo); imageButtonRedo.setEnabled(canRedo); ImageButton imageButtonClear = (ImageButton) findViewById(R.id.button_clear); imageButtonClear.setEnabled(documentController != null && documentController.hasPart()); } }); } }
editor.convert(contentBlock, supportedStates[0]); editor.removeBlock(contentBlock); editor.copy(contentBlock); editor.paste(x, y);
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 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 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(); }
@Override public void onClick(View v) { switch (v.getId()) { case R.id.button_input_mode_forcePen: setInputMode(InputController.INPUT_MODE_FORCE_PEN); break; case R.id.button_input_mode_forceTouch: setInputMode(InputController.INPUT_MODE_FORCE_TOUCH); break; case R.id.button_input_mode_auto: setInputMode(InputController.INPUT_MODE_AUTO); break; case R.id.button_undo: editorView.getEditor().undo(); break; case R.id.button_redo: editorView.getEditor().redo(); break; case R.id.button_clear: editorView.getEditor().clear(); break; default: Log.e(TAG, "Failed to handle click event"); break; } }
final ContentPart part = editor.getPart(); if (part == null) return true; final ContentBlock rootBlock = editor.getRootBlock(); final ContentBlock contentBlock = (contentBlock_ != null) && !contentBlock_.getType().equals("Container") ? contentBlock_ : rootBlock; final boolean onTextDocument = part.getType().equals("Text Document"); final boolean isEmpty = editor.isEmpty(contentBlock); final String[] supportedTypes = editor.getSupportedAddBlockTypes(); final ConversionState[] supportedStates = editor.getSupportedTargetConversionStates(contentBlock);
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()); }
Transform transform = editor.getRenderer().getViewTransform(); Point left = transform.apply(rectangle.x + paddingLeft, rectangle.y); Point right = transform.apply(rectangle.x + rectangle.width - paddingRight, rectangle.y); try jiixString = editor.export_(block, MimeType.JIIX, this.exportParams);
editor.addListener(new IEditorListener()
@Override public void ready(String url, Bitmap image) { // image was not ready but is now so repaint the target component to get it displayed target.invalidate(imageLoader.getEditor().getRenderer(), targetRect.left, targetRect.top, targetRect.width(), targetRect.height(), EnumSet.allOf(IRenderTarget.LayerType.class)); } });
public final boolean openPart(@NonNull String fileName, int indexOfPart) { try { File file = new File(activity.getFilesDir(), fileName); ContentPackage newPackage = editor.getEngine().openPackage(file); ContentPart newPart = newPackage.getPart(indexOfPart); setPart(file, newPackage, newPart); } catch (IOException e) { Toast.makeText(this.activity, "Failed to open part for file \"" + fileName + "\" with index " + indexOfPart, Toast.LENGTH_LONG).show(); } return true; }
@Override public void onClick(DialogInterface dialog, int which) { File file = fileHolder[0]; if (file != null) { try { ImageDrawer imageDrawer = new ImageDrawer(); imageDrawer.setImageLoader(editorView.getImageLoader()); editor.waitForIdle(); editor.export_(block, file.getPath(), imageDrawer); } catch (Exception e) { Toast.makeText(context, "Failed to export file", Toast.LENGTH_LONG).show(); } } } });
@Override public void run() { editorView.getRenderer().setViewOffset(0, 0); editorView.getRenderer().setViewScale(1); editorView.setVisibility(View.VISIBLE); editor.setPart(contentPart); } });
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(View v) { switch (v.getId()) { case R.id.button_input_mode_forcePen: setInputMode(InputController.INPUT_MODE_FORCE_PEN); break; case R.id.button_input_mode_forceTouch: setInputMode(InputController.INPUT_MODE_FORCE_TOUCH); break; case R.id.button_input_mode_auto: setInputMode(InputController.INPUT_MODE_AUTO); break; case R.id.button_undo: editorView.getEditor().undo(); break; case R.id.button_redo: editorView.getEditor().redo(); break; case R.id.button_clear: editorView.getEditor().clear(); break; default: Log.e(TAG, "Failed to handle click event"); break; } }
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_convert: { Editor editor = editorView.getEditor(); ConversionState[] supportedStates = editor.getSupportedTargetConversionStates(null); if (supportedStates.length > 0) editor.convert(null, supportedStates[0]); return true; } default: { return super.onOptionsItemSelected(item); } } }
editor.addListener(new IEditorListener()