void Parallelogram::draw(){ if(dead) return; setColor(color); fillPolygon({bl, br, tr, tl}); }
int main() { int gd=DETECT,gm,color,fill_color,boundary_color; int xco,yco; DWORD dwWidth = GetSystemMetrics(SM_CXSCREEN); DWORD dwHeight = GetSystemMetrics(SM_CYSCREEN); initwindow(dwWidth,dwHeight); int x0=dwWidth/2; int y0=dwHeight/2; int i,j,x[50],y[50]; printf("%d\t%d\n\n",x0,y0); for(i=0; i<dwHeight; i++) putpixel(x0,i,YELLOW); for(j=0; j<dwWidth; j++) putpixel(j,y0,YELLOW); int n; int h; boundary_color=15; printf("Enter the number of sides or edges\n"); scanf("%d",&n); for(i=0; i<n; i++) { printf("Enter the %dth coordinate\n",i+1); scanf("%d",&x[i]); scanf("%d",&y[i]); } x[n]=x[0]; y[n]=y[0]; for(i=0; i<n; i++) printf("%d\t%d\n",x[i],y[i]); while(z!=(n)) { polylines(x[z],y[z],x[z+1],y[z+1],x0,y0); z++; } int xin,yin; printf("Please enter an interior point of polygon\n"); scanf("%d",&xin); scanf("%d",&yin); printf("Please enter fill_color(except white=15)\n"); scanf("%d",&fill_color); int left,right; for(i=xin+x0;i<dwWidth;i++) { if(getpixel(i,y0-yin)==15) right++; } for(i=xin+x0;i>0;i--) { if(getpixel(i,y0-yin)==15) left++; } if(left%2==0 && right%2==0) printf("\npoint is outside\n"); else{ printf("point is inside\n"); //color=getpixel(xin+x0,y0-yin); fillPolygon(xin+x0,y0-yin,fill_color,boundary_color); getch(); cleardevice(); closegraph(); } }