/// <summary> /// Sets the Spaceball rotation callback for the current window. /// </summary> /// <param name="func"> /// The new Spaceball rotate callback function. See /// <see cref="SpaceballRotateCallback" />. /// </param> /// <remarks> /// <para> /// <b>glutSpaceballRotateFunc</b> sets the Spaceball rotate callback for the /// current window. The Spaceball rotate callback for a window is called when the /// window has Spaceball input focus (normally, when the mouse is in the window) /// and the user generates Spaceball rotations. The <i>x</i>, <i>y</i>, and /// <i>z</i> callback parameters indicate the rotation along the X, Y, and Z /// axes. The callback parameters are normalized to be within the range of -1800 /// to 1800 inclusive. /// </para> /// <para> /// Registering a Spaceball rotate callback when a Spaceball device is not /// available is ineffectual and not an error. In this case, no Spaceball rotate /// callbacks will be generated. /// </para> /// <para> /// Passing <c>null</c> to <b>glutSpaceballRotateFunc</b> disables the generation /// of Spaceball rotate callbacks. When a new window is created, no Spaceball /// rotate callback is initially registered. /// </para> /// </remarks> /// <seealso cref="SpaceballRotateCallback" /> // GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z)); public static void glutSpaceballRotateFunc([In] SpaceballRotateCallback func) { spaceballRotateCallback = func; __glutSpaceballRotateFunc(spaceballRotateCallback); }
private static extern void __glutSpaceballRotateFunc(SpaceballRotateCallback func);