Java Code Examples for org.eclipse.draw2d.IFigure#paint()
The following examples show how to use
org.eclipse.draw2d.IFigure#paint() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ExportToFileAction.java From xtext-eclipse with Eclipse Public License 2.0 | 6 votes |
@Override public void run() { IFigure contents = railroadView.getContents(); if (contents != null) { FileDialog fileDialog = new FileDialog(this.railroadView.getSite().getShell(), SWT.SAVE); fileDialog.setFilterExtensions(new String[] { "*.png" }); fileDialog.setText("Choose diagram file"); String fileName = fileDialog.open(); if (fileName == null) { return; } Dimension preferredSize = contents.getPreferredSize(); Image image = new Image(Display.getDefault(), preferredSize.width + 2 * PADDING, preferredSize.height + 2 * PADDING); GC gc = new GC(image); SWTGraphics graphics = new SWTGraphics(gc); graphics.translate(PADDING, PADDING); graphics.translate(contents.getBounds().getLocation().getNegated()); contents.paint(graphics); ImageData imageData = image.getImageData(); ImageLoader imageLoader = new ImageLoader(); imageLoader.data = new ImageData[] { imageData }; imageLoader.save(fileName, SWT.IMAGE_PNG); } }
Example 2
Source File: PrintERDiagramOperation.java From ermasterr with Apache License 2.0 | 6 votes |
/** * {@inheritDoc} */ @Override protected void printPages() { final Graphics graphics = getFreshPrinterGraphics(); final IFigure figure = getPrintSource(); setupPrinterGraphicsFor(graphics, figure); final Rectangle bounds = figure.getBounds(); int x = bounds.x, y = bounds.y; final Rectangle clipRect = new Rectangle(); while (y < bounds.y + bounds.height) { while (x < bounds.x + bounds.width) { graphics.pushState(); getPrinter().startPage(); graphics.translate(-x, -y); graphics.getClip(clipRect); clipRect.setLocation(x, y); graphics.clipRect(clipRect); figure.paint(graphics); getPrinter().endPage(); graphics.popState(); x += clipRect.width; } x = bounds.x; y += clipRect.height; } }
Example 3
Source File: PrintERDiagramOperation.java From erflute with Apache License 2.0 | 6 votes |
@Override protected void printPages() { final Graphics graphics = getFreshPrinterGraphics(); final IFigure figure = getPrintSource(); setupPrinterGraphicsFor(graphics, figure); final Rectangle bounds = figure.getBounds(); int x = bounds.x, y = bounds.y; final Rectangle clipRect = new Rectangle(); while (y < bounds.y + bounds.height) { while (x < bounds.x + bounds.width) { graphics.pushState(); getPrinter().startPage(); graphics.translate(-x, -y); graphics.getClip(clipRect); clipRect.setLocation(x, y); graphics.clipRect(clipRect); figure.paint(graphics); getPrinter().endPage(); graphics.popState(); x += clipRect.width; } x = bounds.x; y += clipRect.height; } }
Example 4
Source File: SaveImageAction.java From olca-app with Mozilla Public License 2.0 | 6 votes |
@Override public void run() { if (file == null) return; log.trace("export product graph as image: {}", file); ScalableRootEditPart editPart = (ScalableRootEditPart) editor.getGraphicalViewer().getRootEditPart(); IFigure rootFigure = editPart.getLayer(LayerConstants.PRINTABLE_LAYERS); Rectangle bounds = rootFigure.getBounds(); Image img = new Image(null, bounds.width, bounds.height); GC imageGC = new GC(img); Graphics graphics = new SWTGraphics(imageGC); rootFigure.paint(graphics); ImageLoader imgLoader = new ImageLoader(); imgLoader.data = new ImageData[] { img.getImageData() }; imgLoader.save(file.getAbsolutePath(), SWT.IMAGE_PNG); }
Example 5
Source File: PrintERDiagramOperation.java From ermaster-b with Apache License 2.0 | 6 votes |
/** * {@inheritDoc} */ @Override protected void printPages() { Graphics graphics = getFreshPrinterGraphics(); IFigure figure = getPrintSource(); setupPrinterGraphicsFor(graphics, figure); Rectangle bounds = figure.getBounds(); int x = bounds.x, y = bounds.y; Rectangle clipRect = new Rectangle(); while (y < bounds.y + bounds.height) { while (x < bounds.x + bounds.width) { graphics.pushState(); getPrinter().startPage(); graphics.translate(-x, -y); graphics.getClip(clipRect); clipRect.setLocation(x, y); graphics.clipRect(clipRect); figure.paint(graphics); getPrinter().endPage(); graphics.popState(); x += clipRect.width; } x = bounds.x; y += clipRect.height; } }
Example 6
Source File: ReportPrintGraphicalViewerOperation.java From birt with Eclipse Public License 1.0 | 5 votes |
/** * Prints the pages based on the current print mode. * * @see org.eclipse.draw2d.PrintOperation#printPages() */ protected void printPages( ) { Graphics graphics = getFreshGraphics( ); IFigure figure = getPrintSource( ); setupPrinterGraphicsFor( graphics, figure ); Rectangle bounds = figure.getBounds( ); int x = bounds.x, y = bounds.y; Rectangle clipRect = new Rectangle( ); while ( y < bounds.y + bounds.height ) { while ( x < bounds.x + bounds.width ) { graphics.pushState( ); graphics.translate( -x, -y ); graphics.getClip( clipRect ); clipRect.setLocation( x, y ); graphics.clipRect( clipRect ); figure.paint( graphics ); graphics.popState( ); x += clipRect.width; if ( x == 0 ) { return; } } x = bounds.x; y += clipRect.height; } }
Example 7
Source File: SankeyImageAction.java From olca-app with Mozilla Public License 2.0 | 5 votes |
private Image createImage() { try { ScalableRootEditPart root = (ScalableRootEditPart) sankeyDiagram.getGraphicalViewer().getRootEditPart(); IFigure figure = root.getLayer(LayerConstants.PRINTABLE_LAYERS); Rectangle bounds = figure.getBounds(); Image img = new Image(null, bounds.width, bounds.height); GC imageGC = new GC(img); Graphics graphics = new SWTGraphics(imageGC); figure.paint(graphics); return img; } catch (Exception e) { log.error("Could not create image", e); return null; } }
Example 8
Source File: AnalysisView.java From ice with Eclipse Public License 1.0 | 4 votes |
/** * Given a GEF GraphicalViewer, this method creates a save file dialog and * will save the contents of the viewer as an image file. Supported * extensions include PNG, JPG, and BMP. * * @param viewer * The GraphicalViewer to save as an image. */ protected static void saveViewerImage(GraphicalViewer viewer) { // Store the allowed extensions in a HashMap. HashMap<String, Integer> extensions = new HashMap<String, Integer>(4); extensions.put("png", SWT.IMAGE_PNG); extensions.put("jpg", SWT.IMAGE_JPEG); extensions.put("bmp", SWT.IMAGE_BMP); // Make the array of strings needed to pass to the file dialog. String[] extensionStrings = new String[extensions.keySet().size()]; int i = 0; for (String extension : extensions.keySet()) { extensionStrings[i++] = "*." + extension; } // Create the file save dialog. FileDialog fileDialog = new FileDialog(viewer.getControl().getShell(), SWT.SAVE); fileDialog.setFilterExtensions(extensionStrings); fileDialog.setOverwrite(true); // Get the path of the new/overwritten image file. String path = fileDialog.open(); // Return if the user cancelled. if (path == null) { return; } // Get the image type to save from the path's extension. String[] splitPath = path.split("\\."); int extensionSWT = extensions.get(splitPath[splitPath.length - 1]); // Get the root EditPart and its draw2d Figure. SimpleRootEditPart rootEditPart = (SimpleRootEditPart) viewer .getRootEditPart(); IFigure figure = rootEditPart.getFigure(); // Get the image from the Figure. org.eclipse.draw2d.geometry.Rectangle bounds = figure.getBounds(); Image image = new Image(null, bounds.width, bounds.height); GC gc = new GC(image); SWTGraphics g = new SWTGraphics(gc); figure.paint(g); g.dispose(); gc.dispose(); // Save the file. ImageLoader loader = new ImageLoader(); loader.data = new ImageData[] { image.getImageData() }; loader.save(path, extensionSWT); image.dispose(); return; }