lab 89 - electroquongton
The code for this lab was something I was playing with to display on a Nintendo DS. It uses the mux window manager and the prefab module builtin. Because of the dependency on the builtin, which isn't usually part of the inferno-os standard emu build, I've included a muxemu.exe for Windows in this labs code. To launch the code run the following,
% muxemu -r . -g256x384 /dis/mux/mux.dis
and on the screen you should see this,
Move up and down using keys 'i' and 'm'. Enter a selection using the 'Enter' key and return to the main menu by pressing the spacebar.
I'm not experienced with the draw(2) API so I started with screens for board games.
I was experimenting using transparency effects. The look I was going for was Electroplankton for Nintendo DS.
I tried to get shapes with edges that blended out into a graded background and some simple animations of shapes pulsing.
The one serious application I was trying to write was a QUONG keyboard for convenient touch input.
This application responds to the mouse to enter letters. The top half of the windows is an implementation of Plan 9's libframe. It was part of Inferno's acme implementation and I extracted it from acme's dependencies. If you take anything away from this lab it would probably be this one library, maybe to build an inferno based 9term.
A big disappointment is that these didn't actually work on the inferno-ds due to what I guess is a bug in the handling of graphics with masks. They did seem to work on the DS emulators, but slowly. Another difficulty is writing them so that they fit in the DS memory, the techniques of which I'm completely ignorant because I'm used to the great spaciousness of modern desktops.