// This gives a little bit of leeway before clearing the hover timer, allowing mouse to cross gaps
// This gives a little bit of leeway before clearing the hover timer, allowing mouse to cross gaps
// We could expose 0.25f as io.HoverClearDelay but I am not sure of the logic yet, this is particularly subtle.
g.HoverDelayClearTimer+=g.IO.DeltaTime;
g.HoverDelayClearTimer+=g.IO.DeltaTime;
if(g.HoverDelayClearTimer>=ImMax(0.20f,g.IO.DeltaTime*2.0f))// ~6 frames at 30 Hz + allow for low framerate
if(g.HoverDelayClearTimer>=ImMax(0.25f,g.IO.DeltaTime*2.0f))// ~7 frames at 30 Hz + allow for low framerate
g.HoverDelayTimer=g.HoverDelayClearTimer=0.0f;// May want a decaying timer, in which case need to clamp at max first, based on max of caller last requested timer.
g.HoverDelayTimer=g.HoverDelayClearTimer=0.0f;// May want a decaying timer, in which case need to clamp at max first, based on max of caller last requested timer.
// If mouse moved we re-enable mouse hovering in case it was disabled by gamepad/keyboard. In theory should use a >0.0f threshold but would need to reset in everywhere we set this to true.
// If mouse moved we re-enable mouse hovering in case it was disabled by gamepad/keyboard. In theory should use a >0.0f threshold but would need to reset in everywhere we set this to true.
ImGuiHoveredFlags_DelayNormal=1<<11,// Return true after io.HoverDelayNormal elapsed (~0.30 sec)
ImGuiHoveredFlags_DelayNormal=1<<11,// Return true after io.HoverDelayNormal elapsed (~0.35 sec)
ImGuiHoveredFlags_DelayShort=1<<12,// Return true after io.HoverDelayShort elapsed (~0.10 sec)
ImGuiHoveredFlags_DelayShort=1<<12,// Return true after io.HoverDelayShort elapsed (~0.10 sec)
ImGuiHoveredFlags_NoSharedDelay=1<<13,// Disable shared delay system where moving from one item to the next keeps the previous timer for a short time (standard for tooltips with long delays)
ImGuiHoveredFlags_NoSharedDelay=1<<13,// Disable shared delay system where moving from one item to the next keeps the previous timer for a short time (standard for tooltips with long delays)
};
};
@ -1929,7 +1929,7 @@ struct ImGuiIO
floatMouseDragThreshold;// = 6.0f // Distance threshold before considering we are dragging.
floatMouseDragThreshold;// = 6.0f // Distance threshold before considering we are dragging.
floatKeyRepeatDelay;// = 0.275f // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
floatKeyRepeatDelay;// = 0.275f // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
floatKeyRepeatRate;// = 0.050f // When holding a key/button, rate at which it repeats, in seconds.
floatKeyRepeatRate;// = 0.050f // When holding a key/button, rate at which it repeats, in seconds.
floatHoverDelayNormal;// = 0.30 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayNormal) returns true.
floatHoverDelayNormal;// = 0.35 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayNormal) returns true.
floatHoverDelayShort;// = 0.10 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayShort) returns true.
floatHoverDelayShort;// = 0.10 sec // Delay on hovering before IsItemHovered(ImGuiHoveredFlags_DelayShort) returns true.