summaryrefslogtreecommitdiff
path: root/userspace/paint.c
diff options
context:
space:
mode:
Diffstat (limited to 'userspace/paint.c')
-rw-r--r--userspace/paint.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/userspace/paint.c b/userspace/paint.c
new file mode 100644
index 0000000..15f2a5e
--- /dev/null
+++ b/userspace/paint.c
@@ -0,0 +1,35 @@
+#include "put_pixel.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+
+int main(int argc,char **argv)
+{
+ const int dimx = 640, dimy = 480;
+ int i, j;
+
+ FILE *fp = fopen(argv[1], "r"); /* b - binary mode */
+
+// (void) fprintf(fp, "P6\n%d %d\n255\n", dimx, dimy);
+
+ for (j = 0; j < dimy; ++j)
+ {
+ for (i = 0; i < dimx; ++i)
+ {
+ static unsigned char color[3];
+// color[0] = i % 256; /* red */
+ // color[1] = j % 256; /* green */
+ // color[2] = (i * j) % 256; /* blue */
+ //
+ fread(&color[0], 1, 1, fp);
+ fread(&color[1], 1, 1, fp);
+ fread(&color[2], 1, 1, fp);
+
+ put_pixel(i,j,color[0]*256*256+color[1]*256+color[3]);
+ }
+ }
+
+ (void) fclose(fp);
+ return EXIT_SUCCESS;
+}
+