📄 glpng.h
字号:
/* * PNG loader library for OpenGL v1.41 * by Ben Wyatt ben@wyatt100.freeserve.co.uk * Using LibPNG 1.0.2 and ZLib 1.1.3 */#ifndef _GLPNG_H_#define _GLPNG_H_#include <stdio.h>#ifdef __cplusplusextern "C" {#endif#ifdef _MSC_VER#pragma comment (lib, "glpng.lib")#endif/* XXX This is from Win32's <windef.h> */#ifndef APIENTRY #if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) #define APIENTRY __stdcall #else #define APIENTRY #endif#endif/* Mipmapping parameters */#define PNG_NOMIPMAPS 0 /* No mipmapping */#define PNG_BUILDMIPMAPS -1 /* Calls a clone of gluBuild2DMipmaps() */
#define PNG_SIMPLEMIPMAPS -2 /* Generates mipmaps without filtering */
/* Who needs an "S" anyway? */
#define PNG_NOMIPMAP PNG_NOMIPMAPS
#define PNG_BUILDMIPMAP PNG_BUILDMIPMAPS
#define PNG_SIMPLEMIPMAP PNG_SIMPLEMIPMAPS
/* Transparency parameters */
#define PNG_CALLBACK -3 /* Call the callback function to generate alpha */#define PNG_ALPHA -2 /* Use alpha channel in PNG file, if there is one */#define PNG_SOLID -1 /* No transparency */#define PNG_STENCIL 0 /* Sets alpha to 0 for r=g=b=0, 1 otherwise */#define PNG_BLEND1 1 /* a = r+g+b */#define PNG_BLEND2 2 /* a = (r+g+b)/2 */#define PNG_BLEND3 3 /* a = (r+g+b)/3 */#define PNG_BLEND4 4 /* a = r*r+g*g+b*b */#define PNG_BLEND5 5 /* a = (r*r+g*g+b*b)/2 */#define PNG_BLEND6 6 /* a = (r*r+g*g+b*b)/3 */#define PNG_BLEND7 7 /* a = (r*r+g*g+b*b)/4 */#define PNG_BLEND8 8 /* a = sqrt(r*r+g*g+b*b) */typedef struct { unsigned int Width; unsigned int Height; unsigned int Depth; unsigned int Alpha;} pngInfo;typedef struct { unsigned int Width; unsigned int Height; unsigned int Depth; unsigned int Alpha; unsigned int Components; unsigned char *Data; unsigned char *Palette;} pngRawInfo;extern int APIENTRY pngLoadRaw(const char *filename, pngRawInfo *rawinfo);extern int APIENTRY pngLoadRawF(FILE *file, pngRawInfo *rawinfo);extern int APIENTRY pngLoad(const char *filename, int mipmap, int trans, pngInfo *info);extern int APIENTRY pngLoadF(FILE *file, int mipmap, int trans, pngInfo *info);extern unsigned int APIENTRY pngBind(const char *filename, int mipmap, int trans, pngInfo *info, int wrapst, int minfilter, int magfilter);extern unsigned int APIENTRY pngBindF(FILE *file, int mipmap, int trans, pngInfo *info, int wrapst, int minfilter, int magfilter);extern void APIENTRY pngSetStencil(unsigned char red, unsigned char green, unsigned char blue);extern void APIENTRY pngSetAlphaCallback(unsigned char (*callback)(unsigned char red, unsigned char green, unsigned char blue));extern void APIENTRY pngSetViewingGamma(double viewingGamma);#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -