zoukankan      html  css  js  c++  java
  • GLUT注册回调函数

    void glutDisplayFunc(void (*func)(void) );

    为当前窗口设置显示回调函数

    void glutOverlayDisplayFunc(void (*func)(void) );

    注册当前窗口的重叠层的显示回调函数

    void glutReshapeFunc(void (*Func)(int width, int height) );

    指定当窗口的大小改变时调用的函数

    void glutKeyboardFunc(void (*func) (unsigned char key, int x, int y) );

    注册当前窗口的键盘回调函数

    void glutMouseFunc(void (*func) (int button, int state, int x, int y));

    注册当前窗口的鼠标回调函数

    func为注册的鼠标回调函数,这个函数完成鼠标事件的处理

    button为鼠标的按键,为以下定义的常量

    GLUT_LEFT_BUTTON

    鼠标左键

    GLUT_MIDDLE_BUTTON

    鼠标中键

    GLUT_RIGHT_BUTTON

    鼠标右键

    state为鼠标按键的动作,为以下定义的常量

    GLUT_UP

    鼠标释放

    GLUT_DOWN

    鼠标按下

    x,y为鼠标按下式,光标相对于窗口左上角的位置

    void glutMotionFunc(void (*func)(int x, int y));
    void glutPassiveMotionFunc(void (*func)(int x, int y));

    设置移动回调函数;设置当前鼠标移动函数

    Func为注册的鼠标移动函数

    x,y为鼠标按下式,光标相对于窗口左上角的位置
    当鼠标在窗口中按下并移动时调用glutMotionFunc注册的回调函数
    当鼠标在窗口中移动时调用glutPassiveMotionFunc注册的回调函数

    void glutVisibilityFunc(void (*func) (int state) );

    设置当前窗口的可视回调函数

    Func为指定的可视回调函数

    state表示窗口的可视性,为以下常量:

    GLUT_NOT_VISIBLE

    窗口完全不可见

    GLUT_VISIBLE

    窗口可见或部分可见

    这个函数设置当前窗口的可视回调函数,当窗口的可视性改变时,该窗口的可视回调函数被调用.只要窗口中的任何一个像素是可见的,或者他的任意一个子窗口中任意一个像素是可见的,GLUT则认为窗口是可见的.

    void glutEntryFunc(void (*func) (int state));

    设置鼠标的进出窗口的回调函数

    Func为注册的鼠标进出回调函数

    state为鼠标的进出状态,为以下常量之一:

    GLUT_LEFT

    鼠标离开窗口

    GLUT_RIGHT

    鼠标进入窗口

    当窗口取得焦点或失去焦点时调用这个函数,当鼠标进入窗口区域并点击时,state为GLUT_RIGHT,当鼠标离开窗口区域点击其他窗口时,state为GLUT_LEFT.

    void glutSpecialFunc(void (*func) (int key, int x, int y))

    设置当前窗口的特定键的回调函数

    Func为注册的特定键的回调函数

    key为按下的特定键,为以下定义的常量:

    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为当按下键时鼠标的坐标,相对于窗口左上角,以像素为单位
    注意:ESC,回车和delete键由ASCII码产生.

    void glutMenuStatusFunc(void (*func) (int status, int x, int y));

    设置菜单状态回调函数

    func是注册的菜单状态回调函数

    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程序只有一个菜单状态回调函数.

    glutSpaceballRotateFunc

    glutSpaceballButtonFunc

    glutButtonBoxFunc

    glutDialsFunc

    glutTabletMotionFunc

    glutTabletButtonFunc

    void glutMenuStatusFunc(void (*func) (int status, int x, int y));

    设置菜单状态回调函数

    func为注册的菜单状态回调函数

    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程序只有一个菜单状态回调函数.

    void glutIdleFunc(void (*func) (void));

    设置空闲回调函数

    func表示当系统空闲时调用的函数,它的形式为void func(void)

    void glutTimerFunc(unsigned int msecs, void (*Func)(int value), int value);

    注册一个回调函数,当指定时间值到达后,由GLUT调用注册的函数一次

    msecs是等待的时间

    Func是注册的函数

    value是指定的一个数值,用来传递到回调函数Func中

    这个函数注册了一个回调函数,当指定的毫秒数到达后,这个函数就调用注册的函数,value参数用来向这个注册的函数中传递参数。

    转自:http://blog.csdn.net/augusdi/article/details/7076760

  • 相关阅读:
    专职DBA-MySQL体系结构与基本管理
    JSON
    MIME类型
    文件上传下载
    response常用的方法
    2020.11.27小记
    HTTP请求状态码
    1561. Maximum Number of Coins You Can Get
    1558. Minimum Numbers of Function Calls to Make Target Array
    1557. Minimum Number of Vertices to Reach All Nodes
  • 原文地址:https://www.cnblogs.com/yemeishu/p/2310900.html
Copyright © 2011-2022 走看看