Commit 7a968a57 by Scott Gilbertson Committed by Tom Tromey

XToolkit.java (getColorModel): Implemented.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XToolkit.java (getColorModel): Implemented.
	* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Work with
	16-bit display mode.

From-SVN: r61362
parent f077f169
2003-01-15 Scott Gilbertson <scottg@mantatest.com> 2003-01-15 Scott Gilbertson <scottg@mantatest.com>
* gnu/awt/xlib/XToolkit.java (getColorModel): Implemented.
* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Work with
16-bit display mode.
2003-01-15 Scott Gilbertson <scottg@mantatest.com>
* java/awt/CardLayout.java (show): Rewrote. * java/awt/CardLayout.java (show): Rewrote.
(gotoComponent): Removed `target' argument. Simplified code. (gotoComponent): Removed `target' argument. Simplified code.
Don't pre-compute `choice' unless `what' is FIRST or LAST. Don't pre-compute `choice' unless `what' is FIRST or LAST.
......
/* Copyright (C) 2000 Free Software Foundation /* Copyright (C) 2000, 2003 Free Software Foundation
This file is part of libgcj. This file is part of libgcj.
...@@ -389,15 +389,32 @@ public class XGraphicsConfiguration extends GraphicsConfiguration ...@@ -389,15 +389,32 @@ public class XGraphicsConfiguration extends GraphicsConfiguration
int getPixel(Color color) int getPixel(Color color)
{ {
/* FIXME: consider an integer technique whenever
* the ColorModel is 8 bits per color.
* The problem with using integers is that it doesn't work unless
* the colors are 8 bits each (as in the array), since ColorModel.getDataElement(int[],int)
* expects non-normalized values. For example, in a 16-bit display mode, you
* would typically have 5 bits each for red and blue, and 6 bits for green.
int[] components = int[] components =
{ {
color.getRed(), color.getRed (),
color.getGreen(), color.getGreen (),
color.getBlue(), color.getBlue (),
0xff 0xff
}; };
*/
ColorModel cm = getColorModel(); float[] normalizedComponents =
return cm.getDataElement(components, 0); {
((float)color.getRed ()) / 255F,
((float)color.getGreen ()) / 255F,
((float)color.getBlue ()) / 255F,
1
};
int[] unnormalizedComponents = { 0, 0, 0, 0xff };
ColorModel cm = getColorModel ();
cm.getUnnormalizedComponents(normalizedComponents, 0,
unnormalizedComponents, 0);
return cm.getDataElement (unnormalizedComponents, 0);
} }
} }
/* Copyright (C) 2000, 2002 Free Software Foundation /* Copyright (C) 2000, 2002, 2003 Free Software Foundation
This file is part of libgcj. This file is part of libgcj.
...@@ -173,7 +173,7 @@ public class XToolkit extends Toolkit ...@@ -173,7 +173,7 @@ public class XToolkit extends Toolkit
public java.awt.image.ColorModel getColorModel() public java.awt.image.ColorModel getColorModel()
{ {
throw new UnsupportedOperationException("not implemented yet"); return getDefaultXGraphicsConfiguration().getColorModel();
} }
public String[] getFontList() public String[] getFontList()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment