⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pvregl.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 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 + -