#include "dg.h" #include "area.h" #include "drawing.h" #include "apl.h" class Retangulo : public Drawing { static DgColor current; DgColor cor; int x0,x1,y0,y1; public: virtual int pick(int x, int y) { return x >= x0 && x <= x1 && y >= y0 && y <= y1; } virtual void draw() { dgSetColor(cor); dgFill(x0,y0,x1,y1); } virtual void draft() { dgSetColor(cor); dgRectangle(x0,y0,x1,y1); } virtual void move(int dx, int dy) { x0+=dx; x1+=dx; y0+=dy; y1+=dy; } Retangulo(int xx0,int yy0,int xx1,int yy1 ) { x0 = xx0; x1 = xx1; y0 = yy0; y1 = yy1; cor=current++; if (current > 15) current = 0; } }; DgColor Retangulo::current = dgWHITE; class MyArea : public Area { public: void emptyclick( int x , int y ) { Retangulo * ret = new Retangulo(x-20,y-20,x+20,y+20); insert( ret ); ret->draw(); } }; class MyApp : public Application { MyArea canvas; public: void click1(int x, int y) { canvas.click1(x,y); } void click2(int x, int y) { end(); } void unclick1(int x, int y) { canvas.unclick1(x,y); } void unclick2(int x, int y) { canvas.unclick2(x,y); } void motion(int x, int y) { canvas.motion(x,y); } MyApp() { loop(); } }; MyApp a; void main(void) {}