Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Mesa 3-D graphics library
  3.  *
  4.  * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
  5.  *
  6.  * Permission is hereby granted, free of charge, to any person obtaining a
  7.  * copy of this software and associated documentation files (the "Software"),
  8.  * to deal in the Software without restriction, including without limitation
  9.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  10.  * and/or sell copies of the Software, and to permit persons to whom the
  11.  * Software is furnished to do so, subject to the following conditions:
  12.  *
  13.  * The above copyright notice and this permission notice shall be included
  14.  * in all copies or substantial portions of the Software.
  15.  *
  16.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  17.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  19.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  20.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  21.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  22.  * OTHER DEALINGS IN THE SOFTWARE.
  23.  */
  24.  
  25.  
  26. #ifndef IMAGE_H
  27. #define IMAGE_H
  28.  
  29.  
  30. #include "glheader.h"
  31.  
  32. struct gl_context;
  33. struct gl_pixelstore_attrib;
  34.  
  35. extern void
  36. _mesa_swap2( GLushort *p, GLuint n );
  37.  
  38. extern void
  39. _mesa_swap4( GLuint *p, GLuint n );
  40.  
  41. extern GLintptr
  42. _mesa_image_offset( GLuint dimensions,
  43.                     const struct gl_pixelstore_attrib *packing,
  44.                     GLsizei width, GLsizei height,
  45.                     GLenum format, GLenum type,
  46.                     GLint img, GLint row, GLint column );
  47.  
  48. extern GLvoid *
  49. _mesa_image_address( GLuint dimensions,
  50.                      const struct gl_pixelstore_attrib *packing,
  51.                      const GLvoid *image,
  52.                      GLsizei width, GLsizei height,
  53.                      GLenum format, GLenum type,
  54.                      GLint img, GLint row, GLint column );
  55.  
  56. extern GLvoid *
  57. _mesa_image_address1d( const struct gl_pixelstore_attrib *packing,
  58.                        const GLvoid *image,
  59.                        GLsizei width,
  60.                        GLenum format, GLenum type,
  61.                        GLint column );
  62.  
  63. extern GLvoid *
  64. _mesa_image_address2d( const struct gl_pixelstore_attrib *packing,
  65.                        const GLvoid *image,
  66.                        GLsizei width, GLsizei height,
  67.                        GLenum format, GLenum type,
  68.                        GLint row, GLint column );
  69.  
  70. extern GLvoid *
  71. _mesa_image_address3d( const struct gl_pixelstore_attrib *packing,
  72.                        const GLvoid *image,
  73.                        GLsizei width, GLsizei height,
  74.                        GLenum format, GLenum type,
  75.                        GLint img, GLint row, GLint column );
  76.  
  77.  
  78. extern GLint
  79. _mesa_image_row_stride( const struct gl_pixelstore_attrib *packing,
  80.                         GLint width, GLenum format, GLenum type );
  81.  
  82.  
  83. extern GLint
  84. _mesa_image_image_stride( const struct gl_pixelstore_attrib *packing,
  85.                           GLint width, GLint height,
  86.                           GLenum format, GLenum type );
  87.  
  88.  
  89. extern void
  90. _mesa_expand_bitmap(GLsizei width, GLsizei height,
  91.                     const struct gl_pixelstore_attrib *unpack,
  92.                     const GLubyte *bitmap,
  93.                     GLubyte *destBuffer, GLint destStride,
  94.                     GLubyte onValue);
  95.  
  96.  
  97. extern void
  98. _mesa_convert_colors(GLenum srcType, const GLvoid *src,
  99.                      GLenum dstType, GLvoid *dst,
  100.                      GLuint count, const GLubyte mask[]);
  101.  
  102.  
  103. extern GLboolean
  104. _mesa_clip_drawpixels(const struct gl_context *ctx,
  105.                       GLint *destX, GLint *destY,
  106.                       GLsizei *width, GLsizei *height,
  107.                       struct gl_pixelstore_attrib *unpack);
  108.  
  109.  
  110. extern GLboolean
  111. _mesa_clip_readpixels(const struct gl_context *ctx,
  112.                       GLint *srcX, GLint *srcY,
  113.                       GLsizei *width, GLsizei *height,
  114.                       struct gl_pixelstore_attrib *pack);
  115.  
  116. extern GLboolean
  117. _mesa_clip_copytexsubimage(const struct gl_context *ctx,
  118.                            GLint *destX, GLint *destY,
  119.                            GLint *srcX, GLint *srcY,
  120.                            GLsizei *width, GLsizei *height);
  121.                            
  122. extern GLboolean
  123. _mesa_clip_to_region(GLint xmin, GLint ymin,
  124.                      GLint xmax, GLint ymax,
  125.                      GLint *x, GLint *y,
  126.                      GLsizei *width, GLsizei *height );
  127.  
  128. extern GLboolean
  129. _mesa_clip_blit(struct gl_context *ctx,
  130.                 GLint *srcX0, GLint *srcY0, GLint *srcX1, GLint *srcY1,
  131.                 GLint *dstX0, GLint *dstY0, GLint *dstX1, GLint *dstY1);
  132.  
  133.  
  134. #endif
  135.