Esempio n. 1
0
void Parallelogram::draw(){
	if(dead) return;
	setColor(color);
	fillPolygon({bl, br, tr, tl});
}
Esempio n. 2
0
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();
    }

}