📄 pvregl.h
字号:
/**************************************************************************
* Name : pvregl.h
* Author :
* Created : 01/7/2003
*
* Copyright : 2003 by Imagination Technologies Limited. All rights reserved.
* : No part of this software, either material or conceptual
* : may be copied or distributed, transmitted, transcribed,
* : stored in a retrieval system or translated into any
* : human or computer language in any form by any means,
* : electronic, mechanical, manual or other-wise, or
* : disclosed to third parties without the express written
* : permission of VideoLogic Limited, Unit 8, HomePark
* : Industrial Estate, King's Langley, Hertfordshire,
* : WD4 8LZ, U.K.
*
* Platform : ANSI
* Description : Implements the PVReGL library for fullscreen rendering.
*
* $Date: 2004/07/26 13:44:36 $ $Revision: 1.3 $
* $Log: pvregl.h $
*/
#ifndef _PVREGL_H_
#define _PVREGL_H_
#ifdef __cplusplus
extern "C" {
#endif
#define EGLSTRINGVERSION "eGL Library: 1.0.0"
#define EGLINTVERSION 1
/* Defines that describe what kind of pixel format the application might require */
#define EGL_REQUIRE_DEPTH 0x00000001
#define EGL_REQUIRE_STENCIL 0x00000010
/* the following 3 flags are mutually exclusive */
#define EGL_REQUIRE_SINGLEBUFFER 0x00000100
#define EGL_REQUIRE_DOUBLEBUFFER 0x00001000
#define EGL_REQUIRE_TRIPLEBUFFER 0x00001100
/* requires a 32bit screen resolution instead of the default 16bit */
#define EGL_REQUIRE_32BIT 0x00010000
/* causes a blit between back and front rather than a flip
it cannot be required toghether with triple-buffering */
#define EGL_REQUIRE_BLIT 0x00100000
#define EGL_REQUIRE_ANTIALIAS 0x01000000
/* defines if either the SwapBuffers called is VSync-ed or not */
#define EGL_REQUIRE_VSYNC_ON 0x00000001
#define EGL_REQUIRE_VSYNC_OFF 0x00000000
typedef struct tagEGLPIXELFORMAT {
unsigned long nSize;
unsigned long nVersion;
unsigned long dwFlags;
unsigned long iPixelType;
unsigned long cColorBits;
unsigned long cRedBits;
unsigned long cRedShift;
unsigned long cGreenBits;
unsigned long cGreenShift;
unsigned long cBlueBits;
unsigned long cBlueShift;
unsigned long cAlphaBits;
unsigned long cAlphaShift;
unsigned long cDepthBits;
unsigned long cStencilBits;
} EGLPIXELFORMAT;
typedef enum
{
eGL_OK = 0,
eGL_NOCONTEXT,
eGL_NOPIXELFORMAT
}EGLERROR;
#define __EGL_DUMMY_HDC 0x1
#define __EGL_DUMMY_HWND 0x1
typedef void* EGLCONTEXTHANDLE;
#ifdef _WIN32
#ifndef UNDER_CE
#define EGLAPI /*__declspec(dllexport)*/
#define APIENTRY __stdcall
#else
#define EGLAPI /*__declspec(dllexport)*/
#define APIENTRY /*__stdcall*/
#endif
#else
#define EGLAPI
#define APIENTRY
#endif
/*Query version functions, returns the version in both string and numerical form*/
EGLAPI void APIENTRY eGLQueryVersion(char *pVerStr, unsigned long *pVersion);
/* returns the current error number */
EGLAPI EGLERROR APIENTRY eGLQueryError(void);
/*returns the error string associated with an error number*/
EGLAPI void APIENTRY eGLQueryErrorString(char *pErrorString, int ErrorNumber);
/*resets the OpenGL driver*/
EGLAPI void APIENTRY eGLReset(void);
/*enumerates the pixel formats*/
EGLAPI int APIENTRY eGLEnumeratePixelFormats( EGLPIXELFORMAT *eGLPixelFormat);
/*sets a pixel format depending on different requirements (see flags above)*/
EGLAPI void APIENTRY eGLSetPixelFormat(unsigned Flags, EGLPIXELFORMAT *pEGLPFD);
/*creates a context given a pixel format*/
EGLAPI EGLCONTEXTHANDLE APIENTRY eGLCreateContext(EGLPIXELFORMAT *pPixelFormat);
/*destroys a given context*/
EGLAPI void APIENTRY eGLDestroyContext(EGLCONTEXTHANDLE hContext);
/*make current a given context*/
EGLAPI void APIENTRY eGLMakeCurrent(EGLCONTEXTHANDLE hContext);
/*swap buffers, if double buffering enabled*/
EGLAPI void APIENTRY eGLSwapBuffers(EGLCONTEXTHANDLE hContext);
/*initializes the display*/
EGLAPI void APIENTRY eGLOpenConnection(int, int, unsigned, unsigned);
/*de-initializes the display*/
EGLAPI void APIENTRY eGLCloseConnection(void );
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -