I have started exploring Plan9’s graphics capabilities. This is a hello world
alternative for drawing that draws a yellow square on a blue background.
More information:
// main.c
#include <u.h>
#include <libc.h>
#include <draw.h>
#include <cursor.h>
void
main ()
{
ulong co;
Image * im, * bg;
co = 0x0000FFFF ;
if (initdraw (nil, nil, argv0) < 0 )
{
sysfatal ("%s: %r" , argv0);
}
im = allocimage (display, Rect (0 , 0 , 300 , 300 ), RGB24, 0 , DYellow);
bg = allocimage (display, Rect (0 , 0 , 1 , 1 ), RGB24, 1 , co);
if (im == nil || bg == nil)
{
sysfatal ("not enough memory" );
}
draw (screen, screen-> r, bg, nil, ZP);
draw (screen, screen-> r, im, nil, Pt (- 40 , - 40 ));
flushimage (display, Refnone);
// Wait 10 seconds before exiting.
sleep (10000 );
exits (nil);
}
And then compile with mk
(mkfile below):
# mkfile
</$objtype/mkfile
RC = /rc/bin
BIN = /$objtype /bin
MAN = /sys/man
main :
$CC $CFLAGS main.c
$LD $LDFLAGS -o main main.$O
And run with ./main
. To exit the program, press Delete key
(strange but this
is the alternative for Ctrl+C).
This is very cool indeed!