您的位置:首页 > 运维架构

OpenGL(6)GLUT库设备检测及游戏模式API

2014-04-01 10:48 253 查看
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) /* GLUT device control sub-API. */ /* glutSetKeyRepeat modes. */ #define GLUT_KEY_REPEAT_OFF		0 #define GLUT_KEY_REPEAT_ON		1 #define GLUT_KEY_REPEAT_DEFAULT		2  /* Joystick button masks. */ #define GLUT_JOYSTICK_BUTTON_A		1 #define GLUT_JOYSTICK_BUTTON_B		2 #define GLUT_JOYSTICK_BUTTON_C		4 #define GLUT_JOYSTICK_BUTTON_D		8  GLUTAPI void APIENTRY glutIgnoreKeyRepeat(int ignore); /* 确认是否忽略自动的连续击键(即当一个键被长时间按下不松开时,判断其为一次击键或是多次击键).只对当前窗口有效.对glutKeyboardFunc()和glutSpecialFunc()两个回调函数起作用.  参数: ignore:(相当于布尔值)      0 :不忽略,即认为是连续击键     非0:忽略,即认为是一次击键  */ GLUTAPI void APIENTRY glutSetKeyRepeat(int repeatMode); /* 置自动连续击键模式的状态 参数:repeatMode: GLUT_KEY_REPEAT_OFF    :关闭自动连续击键 GLUT_KEY_REPEAT_ON     :打开自动连续击键 GLUT_KEY_REPEAT_DEFAULT:将自动连续击键模式重置为默认状态 */ GLUTAPI void APIENTRY glutForceJoystickFunc(void); /* 强制调用当前窗口注册的操纵杆回调函数glutJoystickFunc()一次. */  /* GLUT game mode sub-API. */ /* glutGameModeGet. */ #define GLUT_GAME_MODE_ACTIVE           ((GLenum) 0) #define GLUT_GAME_MODE_POSSIBLE         ((GLenum) 1) #define GLUT_GAME_MODE_WIDTH            ((GLenum) 2) #define GLUT_GAME_MODE_HEIGHT           ((GLenum) 3) #define GLUT_GAME_MODE_PIXEL_DEPTH      ((GLenum) 4) #define GLUT_GAME_MODE_REFRESH_RATE     ((GLenum) 5) #define GLUT_GAME_MODE_DISPLAY_CHANGED  ((GLenum) 6)  GLUTAPI void APIENTRY glutGameModeString(const char *string); /* 通过一个字符串对game mode(游戏模式,也即全屏模式)进行设置,即对屏幕进行设置. 参数: string:一个指向字符串的指针,字符串的内容即是对屏幕的设置.字符串的格式如下所示:   "W*H"   "W*H:Bpp"   "W*H@Rr"   "W*H:Bpp@Rr"   "@Rr"   ":Bpp"   "Bpp:@Rr" (注:W:屏幕宽度,以像素单位;H:屏幕高度,以像素为单位;Bpp:每个像素的内存大小(位数);Rr:屏幕的刷新率.) glutGameModeString("800*600:32@75"); */ GLUTAPI int APIENTRY glutEnterGameMode(void); //进入相应的game mode,即让glutGameModeString()的设置生效. GLUTAPI void APIENTRY glutLeaveGameMode(void); //离开glutGameModeString()设置的game mode. GLUTAPI int APIENTRY glutGameModeGet(GLenum mode); /* 检测设置的模式是否有效  参数: mode:   GLUT_GAME_MODE_ACTIVE:如果程序运行在game mode,则返回非0值,如果运行在窗口模式,则返回0.   GLUT_GAME_MODE_POSSIBLE:判断glutAameModeString()的设置是否有效,如果有效则返回非0值,否则返回0.但是glut手册中有一个警告,即使这个设置是有效的,也不能保证屏幕设置可以一定成功生效.   GLUT_GAME_MODE_WIDTH:返回屏幕的宽度.   GLUT_GAME_MODE_HEIGHT:返回屏幕的高度.   GLUT_GAME_MODE_PIXEL_DEPTH:返回当前模式下每个像素所占用的内存空间(位数).   GLUT_GAME_MODE_REFRESH_RATE:返回实际的刷新率(单位赫兹).   GLUT_GAME_MODE_DISPLAY_CHANGED:正如前面所说,不能保证屏幕显示模式一定根据设置发生改变,这个常量可以用来测试是否真的进入了game mode(先前是窗口模式下的情况下),如果先前已经是game mode,则可以用来测试设置是否发生改变.返回非0值表示进入了game mode或设置已经发生改变,否则返回0. */ #endif  #ifdef __cplusplus }  #endif  #ifdef GLUT_APIENTRY_DEFINED # undef GLUT_APIENTRY_DEFINED # undef APIENTRY #endif  #ifdef GLUT_WINGDIAPI_DEFINED # undef GLUT_WINGDIAPI_DEFINED # undef WINGDIAPI #endif  #ifdef GLUT_DEFINED___CDECL # undef GLUT_DEFINED___CDECL # undef __cdecl #endif  #ifdef GLUT_DEFINED__CRTIMP # undef GLUT_DEFINED__CRTIMP # undef _CRTIMP #endif  #endif                  /* __glut_h__ */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: