Rice Video Plugin for GLES1.1
[mupen64plus-pandora.git] / source / rice_gles / src / liblinux / BMGDLL.h
diff --git a/source/rice_gles/src/liblinux/BMGDLL.h b/source/rice_gles/src/liblinux/BMGDLL.h
new file mode 100644 (file)
index 0000000..90cc2db
--- /dev/null
@@ -0,0 +1,155 @@
+#ifndef _BMG_LIB_
+#define _BMG_LIB_
+/*
+//  header file for the BMGLib DLL
+//  This DLL encapsulates the libTIFF library, libJPEG library,
+//  libPNG library, and the GeoTIFF library.
+//
+//  Copyright 2000, 2001 M. Scott Heiman
+//  All Rights Reserved
+//  libTIFF is Copyright Sam Leffler and SGI
+//  libJPEG is Copyright (C) 1991-1998, Thomas G. Lane and is part of the
+//      Independent JPEG Group's software.
+//  libPNG is Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+//    (libpng versions 0.5, May 1995, through 0.89c, May 1996)
+//    Copyright (c) 1996, 1997 Andreas Dilger
+//    (libpng versions 0.90, December 1996, through 0.96, May 1997)
+//    Copyright (c) 1998, 1999 Glenn Randers-Pehrson
+//    (libpng versions 0.97, January 1998, through 1.0.5, October 15, 1999)
+//  zLib Copyright (C) 1995-1998 Jean-loup Gailly.
+//  GeoTIFF is Copyright (c) 1999, Frank Warmerdam
+//  libPROJ (used by GeoTIFF) is Copytight (c) 2000, Frank Warmerdam
+//  libUnGif is Copyright (c) 1997,  Eric S. Raymond
+//
+// You may use the software for any purpose you see fit. You may modify
+// it, incorporate it in a commercial application, use it for school,
+// even turn it in as homework. You must keep the Copyright in the
+// header and source files. This software is not in the "Public Domain".
+// You may use this software at your own risk. I have made a reasonable
+// effort to verify that this software works in the manner I expect it to;
+// however,...
+//
+// THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" AND
+// WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING
+// WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A
+// PARTICULAR PURPOSE. IN NO EVENT SHALL MICHAEL S. HEIMAN BE LIABLE TO
+// YOU OR ANYONE ELSE FOR ANY DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR
+// CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING
+// WITHOUT LIMITATION, LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE,
+// OR THE CLAIMS OF THIRD PARTIES, WHETHER OR NOT MICHAEL S. HEIMAN HAS
+// BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
+// ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+// POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#include "BMGImage.h"
+#include "tiffrw.h"
+#include "pngrw.h"
+#include "jpegrw.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* returns a BITMAPINFO structure with the given height, width,
+  bit count, and compression scheme.  This structure DOES NOT contain any
+  palette information (bmiColors = NULL) */
+extern
+BITMAPINFO  CreateBMI( unsigned int dwWidth,      /* width in pixels */
+                       unsigned int dwHeight,     /* height in pixels */
+                       unsigned short wBitCount,     /* 1, 4, 8, 16, 24, & 32 */
+                       int compression );  /* biCompression value */
+
+/* returns an array of RGBA or BGRA values for all supported graphics file 
+   formats.  The RGBA pixel format is supported by all versions of OpenGL.
+   The BGRA format is an extension supported by may OpenGL vendors. */
+extern
+BMGError  GetUnpackedArray( const char *filename,
+                                 unsigned int *width,
+                                 unsigned int *height,
+                                 unsigned char **bits,
+                                 int bgra );
+
+/* Saves an array of RGB, RGBA, BGR, and BGRA values to a file.  The RGB and RGBA 
+   pixel formats are supported by OpenGL.  The BGR and BGRA extensions are
+   supported by many OpenGL vendors */
+extern
+BMGError  SaveUnpackedArray( const char *filename,
+                                  unsigned char bytes_per_pixel,
+                                  unsigned int width,
+                                  unsigned int height,
+                                  unsigned char *bits,
+                                  int bgra );
+
+/* saves the contents of an HBITMAP to a file.  The extension of the file name
+// determines the file type.  returns 1 if successfull, 0 otherwise */
+extern
+BMGError  SaveBitmapToFile( HBITMAP hBitmap,      /* bitmap to be saved */
+                                 const char *filename, /* name of output file */
+                                 void *parameters );
+
+/* Creates an HBITMAP to an image file.  The extension of the file name
+// determines the file type.  returns an HBITMAP if successfull, NULL
+// otherwise */
+extern
+HBITMAP  CreateBitmapFromFile( const char *filename,
+                                         void *parameters,
+                                         int blend );
+
+/* extracts a BMGImageStruct from any one of the supported image files */
+extern 
+BMGError  GetDataFromFile( const char *filename,
+                                     struct BMGImageStruct *img,
+                                     void *parameters );
+
+/* the following functions will read/write image files using raw data */
+extern
+BMGError  ReadRGB( const char *filename,
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  WriteRGB( const char *filename,
+                         struct BMGImageStruct img );
+
+extern
+BMGError  ReadTGA( const char *filename,
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  WriteTGA( const char *filename,
+                        struct BMGImageStruct img );
+
+extern
+BMGError  ReadBMP( const char *filename,
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  WriteBMP( const char *filename,
+                         struct BMGImageStruct img );
+
+extern
+BMGError  ReadCEL( const char *filename,
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  ReadGIF( const char *filename,
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  ReadPSD( const char *filename, 
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  ReadIFF( const char *filename, 
+                        struct BMGImageStruct *img );
+
+extern
+BMGError  ReadPCX( const char *filename, 
+                        struct BMGImageStruct *img );
+
+#if defined(__cplusplus)
+ }
+#endif
+
+#endif
+