[kaffe] Planning for 1.1.3 release
James Simmons
jsimmons at infradead.org
Fri Nov 21 15:40:02 PST 2003
> I'm not so optimistic about a stable release that soon, as I don't think
> we should really cut that one based on time passed alone, but also
> define a list of features we want to see in, as well as platforms we
> want to see run, applications we want to offically list as supported in
> 1.2 etc. For example, I think we shouldn't release 1.2 before the switch
> to GNU Classpath is completed.
That could be a awhile to use all of Classpath. I have alot of work to do
for the AWT porting. I'm working on the native code right now which
required a rewrite.
> > - Easier support for graphical apps, with the ability to switch between
> > multiple AWTs at run-time, etc.
I was thinking about how to do that. We might be able to attach a Toolkit
to a GraphicsConfiguration. I will have to think about it.
> - Pull in new AWT stuff from james/helmer when it's done
I started to working on the Frame and Window peers but I was missing to
much info. At present I'm working on the the Grpahics*.java files in
java/awt. I wrote a test apps and ran it against the SUN JVM. So now to
implement it against Kaffe.
import java.awt.image.*;
import java.awt.*;
class Screen
{
GraphicsEnvironment ge;
GraphicsDevice active;
GraphicsDevice[] gs;
public static void main(String args[])
{
Screen screen = new Screen();
screen.GetSizeOfAllScreens();
screen.Configure();
}
Screen()
{
ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
gs = ge.getScreenDevices();
active = ge.getDefaultScreenDevice();
}
public void Configure()
{
GraphicsConfiguration[] configs = active.getConfigurations();
GraphicsConfiguration current = active.getDefaultConfiguration();
for (int i = 0; i < configs.length; i++) {
Rectangle box = configs[i].getBounds();
System.err.println("Width "+box.getWidth()+" Height "+box.getHeight());
ColorModel colors = configs[i].getColorModel();
System.err.println("Color model is "+colors.toString());
BufferCapabilities buffer = configs[i].getBufferCapabilities();
System.err.println("Back buffer support is "+buffer.isMultiBufferAvailable());
System.err.println("Full screen is need? "+buffer.isFullScreenRequired());
ImageCapabilities imagedata = configs[i].getImageCapabilities();
System.err.println("Image accelerated support? "+imagedata.isAccelerated());
}
}
public void GetSizeOfAllScreens()
{
// Get size of each screen
for (int i = 0; i < gs.length; i++) {
System.err.println(gs[i].getIDstring());
System.err.println(gs[i].getType());
System.err.println("Available Accelerated memory is "+gs[i].getAvailableAcceleratedMemory());
if (gs[i].isDisplayChangeSupported() == true)
System.err.println("Display can change size");
else
System.err.println("Display can't change size");
if (gs[i].isFullScreenSupported() == true)
System.err.println("Full Screen Support");
else
System.err.println("No Full Screen Support");
DisplayMode[] dm = gs[i].getDisplayModes();
for (int j = 0; j < dm.length; j++) {
int screenWidth = dm[j].getWidth();
int screenHeight = dm[j].getHeight();
System.err.println("Screen width is "+screenWidth+" and height is "+screenHeight+" of Display "+i);
}
}
}
}
More information about the kaffe
mailing list