#include "put_pixel.h" #include #include #define dimx 640 #define dimy 480 uint32_t backbuffer[dimx*dimy]; void paintbuffer() { for (int x = 100; x < dimx-100; x++) for (int y = 100; y < dimy-100; y++) { { put_pixel(x,y,backbuffer[x+y*640]); } } } void unicolor(int color) { for (int x = 100; x < dimx-100; x++) for (int y = 100; y < dimy-100; y++) { { put_pixel(x,y,color); } } } void doscolor(int color,int color2) { int i=0; for (int y = 100; y < dimy-100; y++) for (int x = 100; x < dimx-100; x++) { { if(x%2&&y%2)put_pixel(x,y,color); else put_pixel(x,y,color2); } } } int main(int argc,char **argv) { FILE *fp = fopen("/home/miguel/bg.ppm", "r"); /* b - binary mode */ // (void) fprintf(fp, "P6\n%d %d\n255\n", dimx, dimy); int i=0; for (int y = 0; y < dimy; y++) for (int x = 0; x < dimx; x++) { { static unsigned char color[3]; fread(&color[0], 1, 1, fp); //red fread(&color[1], 1, 1, fp); //green fread(&color[2], 1, 1, fp); //blue backbuffer[i++]=color[0]*256*256+color[1]*256+color[2]; // if(x<100||x>dimx-100)continue; // if(y<100||y>dimy-100)continue; // put_pixel(x,y,color[0]*256*256+color[1]*256+color[2]);//*256*256+color[1]*256+color[3]); } } if(argc==2&&!strcmp(argv[1],"demo")) { for(int i=0;i<10000;i++) // while(1) { unicolor(0xffffff); unicolor(0x000000); doscolor(0x0,0xffffff); paintbuffer(); } return EXIT_SUCCESS; } for(int i=0;i1) return EXIT_SUCCESS; (void) fclose(fp); return EXIT_SUCCESS; }