Opengl中的GLUT下的回调函数
func:形为void func()的函数,完成具体的绘制操作
height));
func:形如void func(int width, int height)
int x, int y));
func:形如void func(unsigned char key, int x, int y)
key:按键的ASCII码
x,y:当按下键时鼠标的坐标,相对于窗口左上角,以像素为单位
int x, int y));
func:形如void func(int button, int state, int x, int y);
GLUT_LEFT_BUTTON:鼠标左键
GLUT_MIDDLE_BUTTON:鼠标中键
GLUT_RIGHT_BUTTON:鼠标右键
state:鼠标按键的动作,为以下定义的常量
GLUT_UP:鼠标释放
GLUT_DOWN:鼠标按下
x,y:鼠标按下式,光标相对于窗口左上角的位置
y));
y));
func:形如void func(int x, int y);
state));
func:形如void func(int state);注册的鼠标进出回调函数
state:鼠标的进出状态,为以下常量之一
GLUT_LEFT 鼠标离开窗口
GLUT_RIGHT 鼠标进入窗口
state));
func:形如void func(int state);指定的可视回调函数
state:窗口的可视性,为以下常量
GLUT_NOT_VISIBLE 窗口完全不可见
GLUT_VISIBLE 窗口可见或部分可见
func:形如void func(void);
(*func)(int value), int value);
millis:等待的时间,以毫秒为单位
unc:形如void func(int value)
value:指定的一个数值,用来传递到回调函数func中
但只能触发一次,若要连续触发,则需在func中重新设置计时函数glutTimerFunc();
state));
func:形如void func(int state);
state:
GLUT_MENU_IN_USE:菜单被使用.
GLUT_MENU_NOT_IN_USE:菜单不再被使用,即菜单被关闭.
如果state代入GLUT_MENU_IN_USE,则当菜单被使用时调用该函数;
如果state代入GLUT_MENU_NOT_IN_USE,则当菜单被关闭时调用该函数.
int y));
设置菜单状态回调函数
参数:
func:形如void func(int status, int x, int y);
status:当前是否使用菜单,为以下定义的常量
GLUT_MENU_IN_USE:菜单正在使用
GLUT_MENU_NOT_IN_USE:菜单未被使用
x,y:鼠标按下时,光标相对于窗口左上角的位置
这个函数调用时glut程序判定是否正在使用菜单,当弹出菜单时,调用注册的菜单状态回调函数,同时status设置为常量GLUT_MENU_IN_USE,当菜单使用完毕时,也调用菜单状态回调函数,此时status变量变为GLUT_MENU_NOT_IN_USE.从已弹出的菜单中再弹出的菜单不产生菜单状态回调过程.每个glut程序只有一个菜单状态回调函数.
此函数与上面一个函数相比,只是多传了一个光标位置,其他相同.
y));
Func:形如void func(int key, int x, int y);
key:按下的特定键,为以下定义的常量
GLUT_KEY_F1:F1功能键
GLUT_KEY_F2:F2功能键
GLUT_KEY_F3:F3功能键
GLUT_KEY_F4:F4功能键
GLUT_KEY_F5:F5功能键
GLUT_KEY_F6:F6功能键
GLUT_KEY_F7:F7功能键
GLUT_KEY_F8:F8功能键
GLUT_KEY_F9:F9功能键
GLUT_KEY_F10:F10功能键
GLUT_KEY_F11:F11功能键
GLUT_KEY_F12:F12功能键
GLUT_KEY_LEFT:左方向键
GLUT_KEY_UP:上方向键
GLUT_KEY_RIGHT:右方向键
GLUT_KEY_DOWN:下方向键
GLUT_KEY_PAGE_UP:PageUp键
GLUT_KEY_PAGE_DOWN:PageDown键
GLUT_KEY_HOME:Home键
GLUT_KEY_END:End键
GLUT_KEY_INSERT:Insert键
x,y:当按下键时鼠标的坐标,相对于窗口左上角,以像素为单位
当在键盘上敲击上述按键时调用该函数.注意与glutKeyboardFunc()的区别.
int z));
func:形如void func(int x, int y, int z);
x,y,z:spaceball的三维空间坐标.
paceball即一种特殊的带3D滚轮的鼠标,不仅可以前后转动,更可以在三维空间里滚动,具体图片,可以在百度里搜索.
int z));
func:形如void func(int x, int y, int z);
当spaceball在当前注册的窗口内滚动时调用.
int state));
func:形如void func(int button, int state);
button:按键编号,从1开始,可用的按键编号可以通过glutDeviceGet(GLUT_NUM_SPACEBALL_BUTTONS)查询.
state:按键状态
GLUT_UP:按键释放
GLUT_DOWN:按键按下
state));
注册当前窗口的拨号按键盒按键回调函数
func:形如void func(int button, int state);
button:按键编号,从1开始,可用的按键号可通过glutDeviceGet(GLUT_NUM_BUTTON_BOX_BUTTONS)查询
state:按键状态
GLUT_UP:按键释放
GLUT_DOWN:按键按下
(*func)(int dial, int value));
func:形如void func(int dial, value);
dial:dial的编号,从1开始,可通过glutDeviceGet(GLUT_NUM_DIALS)查询可用编号.
value:dial所拨的值,value是每次所拨的值的累加,直到溢出.
y));
func:形如void func(int x, int y);
x,y:图形板移动的坐标.
//******************************************************************************************
state, int x, int y));
func:形如void func(int button, int state, int x, int y);
button:按键号,通过glutDeviceGet(GLUT_NUM_TABLET_BUTTONS)查询可用键号.
state:按键状态.
GLUT_UP:按键被按下
GLUT_DOWN:按键被释放
//******************************************************************************************
(*func)(void));
func:形如void func(void);指向重叠层的显示回调函数.
state));
func:形如void func(int state);
state:窗口状态.
GLUT_HIDDEN:窗口不可见
GLUT_FULLY_RETAINED:窗口完全未被遮挡
GLUT_PARTIALLY_RETAINED:窗口部分遮挡
GLUT_FULLY_COVERED:窗口被全部遮挡
int x, int y));
func:形如void func(unsigned char key, int x, int y);
key:按键的ASCII码.
x,y:释放按键时鼠标相对于窗口的位置,以像素为单位.
y));
func:形如void func(int key, int x, int y);
key:特殊按键的标识
GLUT_KEY_F1:F1功能键
GLUT_KEY_F2:F2功能键
GLUT_KEY_F3:F3功能键
GLUT_KEY_F4:F4功能键
GLUT_KEY_F5:F5功能键
GLUT_KEY_F6:F6功能键
GLUT_KEY_F7:F7功能键
GLUT_KEY_F8:F8功能键
GLUT_KEY_F9:F9功能键
GLUT_KEY_F10:F10功能键
GLUT_KEY_F11:F11功能键
GLUT_KEY_F12:F12功能键
GLUT_KEY_LEFT:左方向键
GLUT_KEY_UP:上方向键
GLUT_KEY_RIGHT:右方向键
GLUT_KEY_DOWN:下方向键
GLUT_KEY_PAGE_UP:PageUp键
GLUT_KEY_PAGE_DOWN:PageDown键
GLUT_KEY_HOME:Home键
GLUT_KEY_END:End键
GLUT_KEY_INSERT:Insert键
x,y:释放特殊按键时鼠标相对于窗口的位置,以像素为单位.
//******************************************************************************************
buttonMask, int x, int y, int z), int pollInterval);
buttonMask:操纵杆按键
GLUT_JOYSTICK_BUTTON_A
GLUT_JOYSTICK_BUTTON_B
GLUT_JOYSTICK_BUTTON_C
GLUT_JOYSTICK_BUTTON_D
x,y,z:操纵杆在三维空间内移动的位移量
pollInterval:确定检测操纵杆的间隔时间,其单位为毫秒.
1.在pollInterval所规定的时间间隔内调用.
2.在调用glutForceJoystickFunc()函数时调用一次glutJoystickFunc();
Opengl中的GLUT下的回调函数的更多相关文章
- UA判断打开页面的环境,然后在callBack写相应环境下的回调函数
这是js代码 /* * 2016.11.10 * SunJingxin * V 1.0.0 * */ (function(){ /* * 使用方法: * 一.引入ua.js * 二.直接调用 Mobi ...
- JavaScript ES7 中使用 async/await 解决回调函数嵌套问题
原文链接:http://aisk.me/using-async-await-to-avoid-callback-hell/ JavaScript 中最蛋疼的事情莫过于回调函数嵌套问题.以往在浏览器中, ...
- cocos2dx中的假动作,又称动作回调函数
1.动作与动画的区别 动作是:定时器+属性的改变,是帧循环的累积效应 动画是:帧图片的播放效果,我们知道电影的播放就是快速播放的胶片,这就是动画的原理 2.假动作:又称动作回调函数 四大类假动作: c ...
- jQuery中ajax方法无法执行回调函数问题
最近遇到一个问题,发现使用jquery的ajax方法时,回调方法无法执行,而使用$.load()方法时却能正确返回数据.经过长时间调试最终发现是自己粗心大意,原来后台返回的是json数据,而返回的数据 ...
- 解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)
由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...
- C#中委托、事件和回调函数的理解
在C#中我们经常会碰到事件,尤其是在WPF或者WinForm中,窗体加载.或者点击一个按钮,都会触发事件.实际上,事件是对委托的封装.如果不进行封装,让委托暴露给调用者,调用者就可以把委托变量重新引用 ...
- extjs中组件监听器里面的回调函数说明
近期在看项目源代码的时候发现了例如以下代码,当中_searchSupplierStore是JsonStore对象 _searchSupplierStore.on('beforeload',functi ...
- iOS下ajax回调函数里不能播放audio
iOS下audio必须监测到事件才可播放, ajax回调函数里不能播放 解决办法 在点击方法里先播放然后立即暂停,在回调函数里重新播放 onclick(function(){ $("#_wx ...
- 详解C#中通过委托来实现回调函数功能的方法
委托:类型安全的指向函数的指针 使用步骤 1:声明一个委托 delegate string DelString(string s) 2:定义一个委托变量 DelString del = new Del ...
随机推荐
- CentOS7.6安装JDK(Openjdk) - mvn package报错汇总
错误一: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK ...
- python的socket编程之udp编程
在上篇文章中,仅仅讲述了如何进行了TCP编程,在本章中,将讲述使用udp进行编码,先看如下的代码,服务器端: root@python 513]# cat serverudp.py #!/usr/bin ...
- halcon的长度和角度测量
halcon代码: 1: *读取并截取图片 2: dev_close_window() 3: read_image (Image, 'D:/MyFile/halcon/长度和角度测量/图.png') ...
- DataMatrix二维条码源码分析检测识别图像位置
发布时间:2014-10-31 DataMatrix的代码结构和QR码基本相同: 其中Detector的功能还是从原始图像中找出符号码的部分,并且进行透视转换纠正扭曲. 其解码流程与QR码差不多,关键 ...
- leetcode382
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNo ...
- FrameworkElement.FindName 根据名字查找控件
WPF FrameworkElement.FindName 根据名字查找控件 运行环境:Window7 64bit,NetFramework4.7,C# 7.0, 编者:乌龙哈里 2017-10 ...
- Centos7 配置
参考文章: http://www.hksilicon.com/kb/articles/594621/CentOS-7 1. 查看时区是否正确timedatectl,若不正确则设置时区 timedate ...
- 获取崩溃时的调用栈和生成dump文件,然后自动重启
首先要说明的是: linux 下 比较方便可以得到 崩溃时的调用栈,win下 比较难办 1. linux 获取调用栈 代码奉上: #include <execinfo.h> //在头 ...
- strncmp memcmp区别
内部实现:前者逐每个字符进行比较,并判当前字符是否为0: 后者逐内存块进行比较. 效率:后者自然要优,不论从内部实现上,还是系统优化上. 场景:后者无法替代前者.在项目中遇到一种情况,两个字符串比较, ...
- 802.11bgn信道划分及WirelessMon规划频段
一.802.11bgn模式支持14信道,第14信道一般不使用.对应频率范围如下: Channel Frequency range Central Frequency ----------------- ...