/// <summary> /// Sets the dial and button box dials callback for the current window. /// </summary> /// <param name="func"> /// The new dials callback function. See <see cref="DialsCallback" />. /// </param> /// <remarks> /// <para> /// <b>glutDialsFunc</b> sets the dial and button box dials callback for the /// current window. The dial and button box dials callback for a window is called /// when the window has dial and button box input focus (normally, when the mouse /// is in the window) and the user generates dial and button box dial changes. /// The <i>dial</i> parameter will be the dial number (starting at one). The /// number of available dial and button box dials can be determined with /// <c>Glut.glutDeviceGet(Glut.GLUT_NUM_DIALS)</c>. The <i>val</i> measures the /// absolute rotation in degrees. Dial values do not "roll over" with each /// complete rotation but continue to accumulate degrees (until the <c>int</c> /// dial value overflows). /// </para> /// <para> /// Registering a dial and button box dials callback when a dial and button box /// device is not available is ineffectual and not an error. In this case, no /// dial and button box dials callbacks will be generated. /// </para> /// <para> /// Passing <c>null</c> to <b>glutDialsFunc</b> disables the generation of dial /// and button box dials callbacks. When a new window is created, no dial and /// button box dials callback is initially registered. /// </para> /// </remarks> /// <seealso cref="DialsCallback" /> /// <seealso cref="glutDeviceGet" /> // GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value)); public static void glutDialsFunc([In] DialsCallback func) { dialsCallback = func; __glutDialsFunc(dialsCallback); }
private static extern void __glutDialsFunc(DialsCallback func);