[gsoc] webdraw - points and clipping

From: David Hoskin <root@davidrhoskin.com>
To: plan9-gsoc@googlegroups.com
Date: Wed, 4 June 2014 23:10:02 -0700
Subject: [gsoc] webdraw - points and clipping

So far, I have converted the graphics code to use higher-level
operations on points and rects, and then used those to implement
reliable clipping and masking.  With masking working properly, I was
able to rewrite graphics functions to simply draw the required shape
on a mask, rather than hacky clipping directly on the destination

Frustratingly, Acme's text selections were still not clipped properly.
Seeing that it (via libframe) uses the `d': draw() message reminded me
that I had only been working on the drawing functions themselves.  It
only took a one-line change to make /dev/draw/n/ctl's `d' handler
actually use the new drawmasked(), and now Acme works perfectly!

The next step is to get rio running.  I have to implement some of the
screen and windowing functions, and the sending of refresh messages.

-- David