Input-Handling
Clemens Eisserer
linuxhippy at gmail.com
Sat Mar 5 10:14:55 PST 2011
Hi Mario,
> We need to fix up things so that they work on current JDK though...
I had success getting cacio to work with openjdk head, changes
required were using AWTAccessor instead of ComponentAccessor.
Unfourtunatly font-support is more broken, I had to implement my own
Font-Manager (simply took X11FontManager and messed arround) and make
a cast conditional somewhere in the Motif-Peers.
All in all it works quite well:
http://linuxhippy.blogspot.com/2011/03/caciocavallo-goes-web.html
> Anyway, for a managed window component, things are really easy, search
> for SDLScreen and in particular, search for the native implementation,
> it's very basic in the sdl peer, but it dispatches mouse events:
> Java_net_java_openjdk_awt_peer_sdl_SDLScreen_nativeGetEvent
Thanks for the pointer - I now can pass simple events, although it
doesn't work completly (e.g. a mouse-click only selects a JCheckBox
but does not change its state), I guess I'll have to learn a bit more
about AWT's event handling and when which events should be fired.
> This is where we dispatch the events. The screen implements the
> CacioEventSource, which is taken care by the FullScreenEventPump. For
> non managed windows things are a bit more complicated in the sense that
> you have to provide what this event pump does (see also dispatchEvent in
> AbstractManagedWindowContainer).
There's one big (huge) problem left - on the server there should me
many apps running side-by-side without disturbing each other.
I thought about running it under different ClassLoaders, however the
native libraries can only be loaded once, so no luck.
Do you think this can be solved with multiple AWT-Screens which are
mapped to multiple PlatformScreens? How would you start, is it
feasable at all?
Would it be enough to extend makeScreenDevice/getNumScreens in
SDLGraphicsEnvironment, extend the CacioEventPumps a bit and somehow
glue that together with multiple SDLScreens or should I expect serious
trouble?
- Clemens
PS: Thanks for all the hard work on Caciocavallo! It was amazing how
quick that prototyp was implemented thanks to Cacio:)
More information about the caciocavallo-dev
mailing list