Is there any way to work with native windows and events in java without having to use awt ? Something like a third party api that let us use to cygnusx or win32 apis with a binding.
Have you guys considering the possibility of making jogl independent of awt ? By a means similar to the one i described above. Or perhaps a more flexible sytem using Device and Driver interfaces that could be extended to make use of different window native apis at player choice.
For instance a set of interfaces like this, simple and direct to the point:
LocatorDevice - Something that signals a position on screen, handles locator device events
KeyboardDevice - Similar to a keyboard or a keypad, handles keyboard events
WindowDevice - opens/closes native windows, handles clipping, activate, deactivate, hidden, shown, visible area, events for show, hide, active, inactive, etc
ScreenDevice - Handles screen resolution, capabilities, switch resolutions, color mode, frequency, etc
TimeDevice - Handles time measures, can be clocked to call several clalback methods at certain times, can show current time measure with great precision required for games.
Measure - Information sampled directly from a device showing its status.
Event / EventQueue - Information gathered from devices set to event mode.
Device - This matches a logical or real device (WindowDevice is a logical one). A device can be made active/inactive, set to sample mode only, set to event mode and sample mode. (See book CG from Foley).
DeviceController - Controller for collecting events from all devices in the EventQueue.
GraphicsDevice - Allows access to the framebuffer, raster operation and provides a set of primitive 2d and 3d operations to build upon.
DeviceConfiguration - For device configuration.
This are interfaces, the real classes would be put in subpackages like win32 or cynusx and would extend this. A factory or some other method would allow the programmer to select which subpackage to use.