From: Mathieu Baudier Date: Mon, 9 May 2022 04:48:50 +0000 (+0200) Subject: Introduced single source image display X-Git-Tag: v2.3.10~235 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=f12425deafeec23dcf02bb542d144187a482c6cc;p=lgpl%2Fargeo-commons.git Introduced single source image display --- diff --git a/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/BufferedImageDisplay.java b/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/BufferedImageDisplay.java new file mode 100644 index 000000000..ac4e0dfb1 --- /dev/null +++ b/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/BufferedImageDisplay.java @@ -0,0 +1,20 @@ +package org.argeo.eclipse.ui.specific; + +import java.awt.image.BufferedImage; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; + +public class BufferedImageDisplay extends Composite { + private static final long serialVersionUID = 4541163690514461514L; + private BufferedImage image; + + public BufferedImageDisplay(Composite parent, int style) { + super(parent, SWT.NO_BACKGROUND); + } + + public void setImage(BufferedImage image) { + this.image = image; + } + +} diff --git a/rcp/org.argeo.swt.specific.rcp/src/org/argeo/eclipse/ui/specific/BufferedImageDisplay.java b/rcp/org.argeo.swt.specific.rcp/src/org/argeo/eclipse/ui/specific/BufferedImageDisplay.java new file mode 100644 index 000000000..7fd2db1d1 --- /dev/null +++ b/rcp/org.argeo.swt.specific.rcp/src/org/argeo/eclipse/ui/specific/BufferedImageDisplay.java @@ -0,0 +1,38 @@ +package org.argeo.eclipse.ui.specific; + +import java.awt.BorderLayout; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.image.BufferedImage; + +import javax.swing.JPanel; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.awt.SWT_AWT; +import org.eclipse.swt.widgets.Composite; + +public class BufferedImageDisplay extends Composite { + private BufferedImage image; + + public BufferedImageDisplay(Composite parent, int style) { + super(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND); + Frame frame = SWT_AWT.new_Frame(this); + frame.setLayout(new BorderLayout()); + frame.add(new JPanel() { + private static final long serialVersionUID = 8924410573598922364L; + + public void paintComponent(Graphics g) { + super.paintComponent(g); + if (image != null) + g.drawImage(image, 0, 0, this); + } + + }, BorderLayout.CENTER); + frame.setVisible(true); + } + + public void setImage(BufferedImage image) { + this.image = image; + } + +}