diff options
Diffstat (limited to 'src/glut/glx/glut_ppm.c')
-rw-r--r-- | src/glut/glx/glut_ppm.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/glut/glx/glut_ppm.c b/src/glut/glx/glut_ppm.c deleted file mode 100644 index 49dca8532f..0000000000 --- a/src/glut/glx/glut_ppm.c +++ /dev/null @@ -1,80 +0,0 @@ -/* - * PPM file output - * Brian Paul - * 8 Dec 2008 - */ - -#include <assert.h> -#include <stdio.h> -#include <stdlib.h> -#include "glutint.h" - - -static void -write_ppm_file(const char *filename, const GLubyte *buffer, - int width, int height) -{ - const int binary = 1; - FILE *f = fopen( filename, "w" ); - if (f) { - const GLubyte *ptr = buffer; - int i, x, y; - if (binary) { - fprintf(f,"P6\n"); - fprintf(f,"# ppm-file created by GLUT\n"); - fprintf(f,"%i %i\n", width, height); - fprintf(f,"255\n"); - fclose(f); - f = fopen( filename, "ab" ); /* reopen in binary append mode */ - for (y = height - 1; y >= 0; y--) { - for (x = 0; x < width; x++) { - i = (y * width + x) * 4; - fputc(ptr[i], f); /* write red */ - fputc(ptr[i+1], f); /* write green */ - fputc(ptr[i+2], f); /* write blue */ - } - } - } - else { - /*ASCII*/ - int counter = 0; - fprintf(f,"P3\n"); - fprintf(f,"# ascii ppm file created by GLUT\n"); - fprintf(f,"%i %i\n", width, height); - fprintf(f,"255\n"); - for (y = height - 1; y >= 0; y--) { - for (x = 0; x < width; x++) { - i = (y * width + x) * 4; - fprintf(f, " %3d %3d %3d", ptr[i], ptr[i+1], ptr[i+2]); - counter++; - if (counter % 5 == 0) - fprintf(f, "\n"); - } - } - } - fclose(f); - } -} - - -/** - * Called from SwapBuffers if the GLUT_PPM_FILE env var is set. - */ -void __glutWritePPMFile(void) -{ - int w = glutGet(GLUT_WINDOW_WIDTH); - int h = glutGet(GLUT_WINDOW_HEIGHT); - GLubyte *buf; - - assert(__glutPPMFile); - - buf = (GLubyte *) malloc(w * h * 4); - if (buf) { - /* XXX save/restore pixel packing */ - glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, buf); - write_ppm_file(__glutPPMFile, buf, w, h); - free(buf); - } - - __glutPPMFile = NULL; /* only write one file */ -} |