summaryrefslogtreecommitdiff
path: root/src/glut/glx/glut_ppm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/glx/glut_ppm.c')
-rw-r--r--src/glut/glx/glut_ppm.c80
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 */
-}