The next step in API cleanup is taken.
All of the Canvas3DWrapper's functionality is moved into Canvas3D. The factory methods are moved into a new class called Canvas3DFactory.
All inner classes of the former Canvas3DWrapper are moved into the package org.xith3d.render.config in the core. Some of them are deleted, since they are no longer needed.
org.xith3d.render.config.DisplayMode replaces the functionality of the removed config classes.
There's a new interface called Canvas3DWrapper (yes, I know, it's the same name), which only has a getCanvas() method. It is implemented in Canvas3DPanel and Canvas3DJPanel.
All this meant very many changes in Xith itself, but only means about one or two changed lines in your projects.
Just relpace lines like this
Canvas3DWrapper canvas = Canvas3DWrapper.createStandalone( ... );
with
Canvas3D canvas = Canvas3DFactory.createWindowed( ... );
The quite new DisplayMode system allows you to get the supported DisplayModes from the system in an abstract way. So it is used the same way for all OpenGLLayers.
Use it like this:
DisplayMode[] modes = DisplayModeSelector.getImplementation( OpenGLLayer.LWJGL ).getAvailabelModes();
Or just get the most similar (or even equal) supported mode to to settings you want:
DisplayMode mode = DisplayModeSelector.getImplementation( OpenGLLayer.LWJGL ).getBestMode( 800, 600 );
Canvas3DFactory accepts a DisplayMode instance as a parameter, as well as CanvasConstructionInfo.
That's all.
Enjoy this new clean part of the API.
Marvin