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