[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();
		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("Available Accelerated memory is "+gs[i].getAvailableAcceleratedMemory());		
			if (gs[i].isDisplayChangeSupported() == true) 
				System.err.println("Display can change size");
				System.err.println("Display can't change size");

			if (gs[i].isFullScreenSupported() == true)
                                System.err.println("Full Screen Support");
                                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