/// <summary> /// Sets the overlay display callback for the current window. /// </summary> /// <param name="func"> /// The new overlay display callback function. See /// <see cref="OverlayDisplayCallback" />. /// </param> /// <remarks> /// <para> /// <b>glutDisplayFunc</b> sets the overlay display callback for the current /// window. The overlay display callback is functionally the same as the window's /// display callback except that the overlay display callback is used to redisplay /// the window's overlay. /// </para> /// <para> /// When GLUT determines that the overlay display for the window needs to be /// redisplayed, the overlay display callback for the window is called. Before /// the callback, the current window is set to the window needing to be /// redisplayed and the layer in use is set to the overlay. The overlay display /// callback is called with no parameters. The entire overlay region should be /// redisplayed in response to the callback (this includes ancillary buffers if /// your program depends on their state). /// </para> /// <para> /// GLUT determines when the overlay display callback should be triggered based on /// the window's overlay redisplay state. The overlay redisplay state for a /// window can be either set explicitly by calling /// <see cref="glutPostOverlayRedisplay" /> or implicitly as the result of window /// damage reported by the window system. Multiple posted overlay redisplays for /// a window are coalesced by GLUT to minimize the number of overlay display /// callbacks called. /// </para> /// <para> /// Upon return from the overlay display callback, the overlay damaged state of /// the window (returned by calling /// <c>Glut.glutLayerGet(Glut.GLUT_OVERLAY_DAMAMGED)</c> is cleared. /// </para> /// <para> /// The overlay display callback can be deregistered by passing <c>null</c> to /// <see cref="glutOverlayDisplayFunc" />. The overlay display callback is /// initially <c>null</c> when an overlay is established. See /// <see cref="glutDisplayFunc" /> to understand how the display callback alone is /// used if an overlay display callback is not registered. /// </para> /// </remarks> /// <seealso cref="DisplayCallback" /> /// <seealso cref="OverlayDisplayCallback" /> /// <seealso cref="glutDisplayFunc" /> /// <seealso cref="glutPostOverlayRedisplay" /> // GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void)); public static void glutOverlayDisplayFunc([In] OverlayDisplayCallback func) { overlayDisplayCallback = func; __glutOverlayDisplayFunc(overlayDisplayCallback); }
private static extern void __glutOverlayDisplayFunc(OverlayDisplayCallback func);