⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glut_joy.c

📁 mesa-6.5-minigui源码
💻 C
字号:
/* Copyright (c) Mark J. Kilgard, 1997, 1998. *//* This program is freely distributable without licensing fees   and is provided without guarantee or warrantee expressed or   implied. This program is -not- in the public domain. */#ifdef _WIN32#include <windows.h>#ifndef __CYGWIN32__#include <mmsystem.h>  /* Win32 Multimedia API header. */#endif#endif#include "glutint.h"/* CENTRY */void GLUTAPIENTRYglutJoystickFunc(GLUTjoystickCB joystickFunc, int pollInterval){#ifdef _WIN32  if (joystickFunc && (pollInterval > 0)) {    if (__glutCurrentWindow->entryState == WM_SETFOCUS) {      MMRESULT result;      /* Capture joystick focus if current window has  	 focus now. */      result = joySetCapture(__glutCurrentWindow->win,        JOYSTICKID1, 0, TRUE);      if (result == JOYERR_NOERROR) {        (void) joySetThreshold(JOYSTICKID1, pollInterval);      }    }    __glutCurrentWindow->joyPollInterval = pollInterval;  } else {    /* Release joystick focus if current window has       focus now. */    if (__glutCurrentWindow->joystick      && (__glutCurrentWindow->joyPollInterval > 0)      && (__glutCurrentWindow->entryState == WM_SETFOCUS)) {      (void) joyReleaseCapture(JOYSTICKID1);    }    __glutCurrentWindow->joyPollInterval = 0;  }  __glutCurrentWindow->joystick = joystickFunc;#else  /* XXX No support currently for X11 joysticks. */#endif}void GLUTAPIENTRYglutForceJoystickFunc(void){#ifdef _WIN32  if (__glutCurrentWindow->joystick) {    JOYINFOEX jix;    MMRESULT res;    int x, y, z;    /* Poll the joystick. */    jix.dwSize = sizeof(jix);    jix.dwFlags = JOY_RETURNALL;    res = joyGetPosEx(JOYSTICKID1,&jix);    if (res == JOYERR_NOERROR) {      /* Convert to int for scaling. */      x = jix.dwXpos;      y = jix.dwYpos;      z = jix.dwZpos;#define SCALE(v)  ((int) ((v - 32767)/32.768))      __glutCurrentWindow->joystick(jix.dwButtons,        SCALE(x), SCALE(y), SCALE(z));    }  }#else  /* XXX No support currently for X11 joysticks. */#endif}/* ENDCENTRY */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -