#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();
}