#include "hush.h" 
[1]
class drawing_canvas : public canvas {
[2]
public: drawing_canvas( char* path ) : canvas(path) {
(a)
geometry(200,100); handler(this); dragging = 0; } void press( event& ) { dragging = 1; } void motion( event& e) {
(b)
if (dragging) circle(e.x(),e.y(),1,"-fill black"); } void release( event& ) { dragging = 0; } protected: int dragging; }; class application : public session {
[3]
public: application( int argc, char* argv[] ) : session(argc,argv,"draw") {} void main( kit* tk, int, char** ) { canvas* c = new drawing_canvas(".draw"); c->pack(); tk->pack(".quit"); } }; int main (int argc, char* argv[]) {
[4]
session* s = new application(argc,argv); return s->run(); }

slide: A simple drawing tool