1*5f2bebf7SJérôme Gardou /* $Id: image.h,v 1.5 1997/09/27 00:15:39 brianp Exp $ */ 2*5f2bebf7SJérôme Gardou 3*5f2bebf7SJérôme Gardou /* 4*5f2bebf7SJérôme Gardou * Mesa 3-D graphics library 5*5f2bebf7SJérôme Gardou * Version: 2.5 6*5f2bebf7SJérôme Gardou * Copyright (C) 1995-1997 Brian Paul 7*5f2bebf7SJérôme Gardou * 8*5f2bebf7SJérôme Gardou * This library is free software; you can redistribute it and/or 9*5f2bebf7SJérôme Gardou * modify it under the terms of the GNU Library General Public 10*5f2bebf7SJérôme Gardou * License as published by the Free Software Foundation; either 11*5f2bebf7SJérôme Gardou * version 2 of the License, or (at your option) any later version. 12*5f2bebf7SJérôme Gardou * 13*5f2bebf7SJérôme Gardou * This library is distributed in the hope that it will be useful, 14*5f2bebf7SJérôme Gardou * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*5f2bebf7SJérôme Gardou * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16*5f2bebf7SJérôme Gardou * Library General Public License for more details. 17*5f2bebf7SJérôme Gardou * 18*5f2bebf7SJérôme Gardou * You should have received a copy of the GNU Library General Public 19*5f2bebf7SJérôme Gardou * License along with this library; if not, write to the Free 20*5f2bebf7SJérôme Gardou * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21*5f2bebf7SJérôme Gardou */ 22*5f2bebf7SJérôme Gardou 23*5f2bebf7SJérôme Gardou 24*5f2bebf7SJérôme Gardou /* 25*5f2bebf7SJérôme Gardou * $Log: image.h,v $ 26*5f2bebf7SJérôme Gardou * Revision 1.5 1997/09/27 00:15:39 brianp 27*5f2bebf7SJérôme Gardou * changed parameters to gl_unpack_image() 28*5f2bebf7SJérôme Gardou * 29*5f2bebf7SJérôme Gardou * Revision 1.4 1997/02/09 20:05:03 brianp 30*5f2bebf7SJérôme Gardou * new arguments for gl_pixel_addr_in_image() 31*5f2bebf7SJérôme Gardou * 32*5f2bebf7SJérôme Gardou * Revision 1.3 1997/02/09 18:52:53 brianp 33*5f2bebf7SJérôme Gardou * added GL_EXT_texture3D support 34*5f2bebf7SJérôme Gardou * 35*5f2bebf7SJérôme Gardou * Revision 1.2 1996/11/06 04:22:23 brianp 36*5f2bebf7SJérôme Gardou * changed gl_unpack_image() components argument to srcFormat 37*5f2bebf7SJérôme Gardou * 38*5f2bebf7SJérôme Gardou * Revision 1.1 1996/09/13 01:38:16 brianp 39*5f2bebf7SJérôme Gardou * Initial revision 40*5f2bebf7SJérôme Gardou * 41*5f2bebf7SJérôme Gardou */ 42*5f2bebf7SJérôme Gardou 43*5f2bebf7SJérôme Gardou 44*5f2bebf7SJérôme Gardou #ifndef IMAGE_H 45*5f2bebf7SJérôme Gardou #define IMAGE_H 46*5f2bebf7SJérôme Gardou 47*5f2bebf7SJérôme Gardou 48*5f2bebf7SJérôme Gardou #include "types.h" 49*5f2bebf7SJérôme Gardou 50*5f2bebf7SJérôme Gardou 51*5f2bebf7SJérôme Gardou extern void gl_flip_bytes( GLubyte *p, GLuint n ); 52*5f2bebf7SJérôme Gardou 53*5f2bebf7SJérôme Gardou 54*5f2bebf7SJérôme Gardou extern void gl_swap2( GLushort *p, GLuint n ); 55*5f2bebf7SJérôme Gardou 56*5f2bebf7SJérôme Gardou extern void gl_swap4( GLuint *p, GLuint n ); 57*5f2bebf7SJérôme Gardou 58*5f2bebf7SJérôme Gardou 59*5f2bebf7SJérôme Gardou extern GLint gl_sizeof_type( GLenum type ); 60*5f2bebf7SJérôme Gardou 61*5f2bebf7SJérôme Gardou 62*5f2bebf7SJérôme Gardou extern GLint gl_components_in_format( GLenum format ); 63*5f2bebf7SJérôme Gardou 64*5f2bebf7SJérôme Gardou 65*5f2bebf7SJérôme Gardou extern GLvoid *gl_pixel_addr_in_image( struct gl_pixelstore_attrib *packing, 66*5f2bebf7SJérôme Gardou const GLvoid *image, GLsizei width, 67*5f2bebf7SJérôme Gardou GLsizei height, GLenum format, GLenum type, 68*5f2bebf7SJérôme Gardou GLint row); 69*5f2bebf7SJérôme Gardou 70*5f2bebf7SJérôme Gardou 71*5f2bebf7SJérôme Gardou extern struct gl_image *gl_unpack_image( GLcontext *ctx, 72*5f2bebf7SJérôme Gardou GLint width, GLint height, 73*5f2bebf7SJérôme Gardou GLenum srcFormat, GLenum srcType, 74*5f2bebf7SJérôme Gardou const GLvoid *pixels ); 75*5f2bebf7SJérôme Gardou 76*5f2bebf7SJérôme Gardou 77*5f2bebf7SJérôme Gardou extern void gl_free_image( struct gl_image *image ); 78*5f2bebf7SJérôme Gardou 79*5f2bebf7SJérôme Gardou 80*5f2bebf7SJérôme Gardou #endif 81