Skip to content

Commit 12d0334

Browse files
committed
SwingColorWidget: Add ColorRGBA support
* delete SwingColorAlphaWidget
1 parent c1d5213 commit 12d0334

File tree

2 files changed

+8
-127
lines changed

2 files changed

+8
-127
lines changed

src/main/java/org/scijava/ui/swing/widget/SwingColorAlphaWidget.java

Lines changed: 0 additions & 126 deletions
This file was deleted.

src/main/java/org/scijava/ui/swing/widget/SwingColorWidget.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import org.scijava.plugin.Plugin;
5252
import org.scijava.ui.awt.AWTColors;
5353
import org.scijava.util.ColorRGB;
54+
import org.scijava.util.ColorRGBA;
5455
import org.scijava.widget.ColorWidget;
5556
import org.scijava.widget.InputWidget;
5657
import org.scijava.widget.WidgetModel;
@@ -79,6 +80,7 @@ public class SwingColorWidget extends SwingInputWidget<ColorRGB> implements
7980

8081
private JButton choose;
8182
private Color color;
83+
private boolean useAlpha = false;
8284

8385
// -- ActionListener methods --
8486

@@ -95,6 +97,7 @@ public void actionPerformed(final ActionEvent e) {
9597

9698
@Override
9799
public ColorRGB getValue() {
100+
if(useAlpha) return AWTColors.getColorRGBA(color);
98101
return AWTColors.getColorRGB(color);
99102
}
100103

@@ -213,11 +216,15 @@ private int value(final Object o) {
213216

214217
@Override
215218
public void doRefresh() {
219+
if(ColorRGBA.class.isAssignableFrom(get().getValue().getClass())) {
220+
useAlpha = true;
221+
}
216222
final ColorRGB value = (ColorRGB) get().getValue();
217223
color = AWTColors.getColor(value);
218224

225+
int imageType = useAlpha ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB;
219226
final BufferedImage image =
220-
new BufferedImage(SWATCH_WIDTH, SWATCH_HEIGHT, BufferedImage.TYPE_INT_RGB);
227+
new BufferedImage(SWATCH_WIDTH, SWATCH_HEIGHT, imageType);
221228
final Graphics g = image.getGraphics();
222229
g.setColor(color);
223230
g.fillRect(0, 0, image.getWidth(), image.getHeight());

0 commit comments

Comments
 (0)