首页>
技术资讯>
详情

GLUT创建全屏程序的TITLE问题(附代码)

2016-05-25 来源:CloudBest 阅读量: 0
关键词:

    各位好。
    GLUT使用过程中碰到一个奇怪的问题。
    使用创建一个全屏窗口,按“1”键进行全屏/非全屏[来源:GameRes.com] 切换。(glutCreateWindow创建窗口时指定TITLE)
    在WINDOWS下没有问题(VS2008)。
    在MAC下创建窗口后有TITLE标题,但是只要经过全屏/非全屏切换,TITLE标题就消失了。glutSetWindowTitle无效
    --------------------------------------------------------------------------------
     Re:GLUT创建全屏程序的TITLE问题(附代码)
    #include <stdio.h>
    #include "GLUT.h"
    #include <stdlib.h>
    static int fullScr = 0;
    static bool windowed = true;
    void Update(int para)
    {
    glutPostRedisplay();
    glutTimerFunc(17,Update,0);
    }
    void exitfunc(int para)
    {
    exit(0);
    }
    void key_process(unsigned char key,int x,int y)
    {
    if(key == '\033')
    {
    exit(0);
    }
    if(key == 49/*num key 1*/)
    {
    windowed = windowed?false:true;
    }
    if(!windowed)
    {
    glutFullScreen();
    }
    else
    {
    glutReshapeWindow(1024,768);
    glutPositionWindow(100,100);
    }
    }
    void display()
    {
    glClear(GL_COLOR_BUFFER_BIT);
    glutSwapBuffers();
    }
    int main(int argc, char ** argv)
    {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
    if(!fullScr)
    {
    windowed = true;
    glutInitWindowSize(1024,768);
    }
    glutCreateWindow("Xcode Glut Demo");
    glutTimerFunc(17, Update,0);
    glutDisplayFunc(display);
    glutKeyboardFunc(key_process);
    if(fullScr)
    {
    windowed = false;
    glutFullScreen();
    }
    glutMainLoop();
    }

热门推荐 查看更多