注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

辫子

这里的东东都转到了:hi.baidu.com/fairzy

 
 
 

日志

 
 

glut函数详解(2)--窗口API [转]  

2008-07-31 12:02:35|  分类: OpenGL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
int glutCreateWindow(const char *title);

产生一个顶层的窗口.title作为窗口的名字,也就是窗口标题栏显示的内容.
返回值是生成窗口的标记符,可用函数glutGetWindow()加以引用.
 
//******************************************************************************************
 
int glutCreateSubWindow(int win, int x, int y, int width, int height);
 
创建一个子窗口.win是其父窗口的标记符.x,y是子窗口左上角相对父窗口的位移,以像素表示.width,height是子窗口的宽和高.

 //*****************************************************************************************

void glutDestroyWindow(int win);

销毁窗口,win是所要销毁的窗口的标识符.这个函数销毁指定的窗口以及与窗口关联的OpenGL上下文,重叠层,子窗口等一切与此窗口相关的内容.

 //*****************************************************************************************

void glutPostRedisplay(void);

标记当前窗口的图像层需要重新绘制,在glutMainLoop函数的事件处理循环的下一个循环中,将调用该窗口的显示回调函数重绘该窗口的图像层.

 //******************************************************************************************

void glutPostWindowRedisplay(int win);

标记指定的窗口需重绘,在glutMainLoop函数的事件处理循环的下一个循环中,将调用该窗口的显示回调函数重绘该窗口的图像层.
参数:win:需刷新的窗口标识符

//******************************************************************************************

void glutSwapBuffers(void);

当窗口模式为双缓存时,此函数的功能就是把后台缓存的内容交换到前台显示.当然,只有单缓存时,使用它的功能跟用glFlush()一样.而使用双缓存是为了把完整图画一次性显示在窗口上,或者是为了实现动画.

//******************************************************************************************

int glutGetWindow(void);

返回当前窗口的标识符

//*****************************************************************************************

void glutSetWindow(int win);

设置标记符为win的窗口为当前窗口

//****************************************************************************************

void glutSetWindowTitle(const char *title);

设置当前窗口(必须是顶层窗口)的标题,窗口一旦建立后,窗口标题就可以由这个函数来改变

//****************************************************************************************

 void glutSetIconTitle(const char *title);

设置当前窗口(必须是顶层窗口)图标化时的标题.

 //***************************************************************************************

 void glutPositionWindow(int x, int y);


改变当前窗口的位置:当前窗口是顶层窗口时,x,y是相对于屏幕的的位移;当前窗口若是子窗口时,x,y是相对其父窗口原点的位移.

 //***************************************************************************************

 void glutReshapeWindow(int width, int height);


改变当前窗口的大小.width,height是当前窗口新的宽度和高度值,当然只能是正值.

 //***************************************************************************************

 void glutPopWindow(void);

在同一个父窗口的子窗口中,使当前的子窗口与排列在它前一个位置的子窗***换位置

void glutPushWindow(void);

在同一个父窗口的子窗口中,使当前的子窗口与排列在它后一个位置的子窗***换位置

这两个函数对顶层窗口和子窗口都起作用,但函数的结果并不立即发生,直到下一个事件循环.

 //****************************************************************************************

 void glutIconifyWindow(void);


让当前窗口成为一个图标,也即是最小化,使当前窗口图标化显示.

 //****************************************************************************************


void glutShowWindow(void);

显示当前窗口(这时它还是可能被其它窗口挡住).

//***************************************************************************************** 

void glutHideWindow(void);

隐藏当前窗口

//**************************************************************************************** 


void glutFullScreen(void);

把当前窗口用全屏显示,当前窗口是顶层窗口时才有效.

//**************************************************************************************** 

 void glutSetCursor(int cursor);


设置当前窗口的光标样式.
参数:
cursor:指定鼠标的形状,为下面的一种值光标的形状
/* Basic arrows. */
GLUT_CURSOR_RIGHT_ARROW
GLUT_CURSOR_LEFT_ARROW
/* Symbolic cursor shapes. */
GLUT_CURSOR_INFO
GLUT_CURSOR_DESTROY
GLUT_CURSOR_HELP
GLUT_CURSOR_CYCLE
GLUT_CURSOR_SPRAY
GLUT_CURSOR_WAIT
GLUT_CURSOR_TEXT
GLUT_CURSOR_CROSSHAIR
/* Directional cursors. */
GLUT_CURSOR_UP_DOWN
GLUT_CURSOR_LEFT_RIGHT
/* Sizing cursors. */
GLUT_CURSOR_TOP_SIDE
GLUT_CURSOR_BOTTOM_SIDE
GLUT_CURSOR_LEFT_SIDE
GLUT_CURSOR_RIGHT_SIDE
GLUT_CURSOR_TOP_LEFT_CORNER
GLUT_CURSOR_TOP_RIGHT_CORNER
GLUT_CURSOR_BOTTOM_RIGHT_CORNER
GLUT_CURSOR_BOTTOM_LEFT_CORNER
/* Fullscreen crosshair (if available). */
GLUT_CURSOR_FULL_CROSSHAIR:
(在全屏模式下使用,等同于GLUT_CURSOR_CROSSHAIR)
/* Blank cursor. */
GLUT_CURSOR_NONE:不显示鼠标
/* Inherit from parent window. */
GLUT_CURSOR_INHERIT:使用父窗口的鼠标

 //****************************************************************************************


void glutWarpPointer(int x, int y);

这个函数将鼠标指针移动到一个相对于当前窗口左上角的新的位置,以窗口左上角为原点,右为X轴正方向,下为Y轴正方向,参数x,y是在这个坐标系中的点,可以为负值.如果坐标值超出屏幕可见范围,则将该值强行控制在屏幕可见范围以内.一般情况下这个函数最好不要使用,因为鼠标动作还是留给用户控制比较人性化.
  评论这张
 
阅读(285)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018