mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
Will make extra sense with next commit where we add ImGuiInputFlags_RepeatUntil options.
This commit is contained in:
		@@ -8425,6 +8425,8 @@ bool ImGui::IsKeyPressed(ImGuiKey key, ImGuiID owner_id, ImGuiInputFlags flags)
 | 
				
			|||||||
    if (t < 0.0f)
 | 
					    if (t < 0.0f)
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    IM_ASSERT((flags & ~ImGuiInputFlags_SupportedByIsKeyPressed) == 0); // Passing flags not supported by this function!
 | 
					    IM_ASSERT((flags & ~ImGuiInputFlags_SupportedByIsKeyPressed) == 0); // Passing flags not supported by this function!
 | 
				
			||||||
 | 
					    if (flags & ImGuiInputFlags_RepeatRateMask_) // Setting any _RepeatXXX option enables _Repeat
 | 
				
			||||||
 | 
					        flags |= ImGuiInputFlags_Repeat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool pressed = (t == 0.0f);
 | 
					    bool pressed = (t == 0.0f);
 | 
				
			||||||
    if (!pressed && (flags & ImGuiInputFlags_Repeat) != 0)
 | 
					    if (!pressed && (flags & ImGuiInputFlags_Repeat) != 0)
 | 
				
			||||||
@@ -8483,7 +8485,7 @@ bool ImGui::IsMouseClicked(ImGuiMouseButton button, ImGuiID owner_id, ImGuiInput
 | 
				
			|||||||
    const float t = g.IO.MouseDownDuration[button];
 | 
					    const float t = g.IO.MouseDownDuration[button];
 | 
				
			||||||
    if (t < 0.0f)
 | 
					    if (t < 0.0f)
 | 
				
			||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    IM_ASSERT((flags & ~ImGuiInputFlags_SupportedByIsKeyPressed) == 0); // Passing flags not supported by this function!
 | 
					    IM_ASSERT((flags & ~ImGuiInputFlags_SupportedByIsMouseClicked) == 0); // Passing flags not supported by this function! // FIXME: Could support RepeatRate and RepeatUntil flags here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const bool repeat = (flags & ImGuiInputFlags_Repeat) != 0;
 | 
					    const bool repeat = (flags & ImGuiInputFlags_Repeat) != 0;
 | 
				
			||||||
    const bool pressed = (t == 0.0f) || (repeat && t > g.IO.KeyRepeatDelay && CalcTypematicRepeatAmount(t - g.IO.DeltaTime, t, g.IO.KeyRepeatDelay, g.IO.KeyRepeatRate) > 0);
 | 
					    const bool pressed = (t == 0.0f) || (repeat && t > g.IO.KeyRepeatDelay && CalcTypematicRepeatAmount(t - g.IO.DeltaTime, t, g.IO.KeyRepeatDelay, g.IO.KeyRepeatRate) > 0);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1444,6 +1444,7 @@ enum ImGuiInputFlags_
 | 
				
			|||||||
    ImGuiInputFlags_RepeatRateMask_             = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak,
 | 
					    ImGuiInputFlags_RepeatRateMask_             = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak,
 | 
				
			||||||
    ImGuiInputFlags_RepeatMask_                 = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_,
 | 
					    ImGuiInputFlags_RepeatMask_                 = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_,
 | 
				
			||||||
    ImGuiInputFlags_SupportedByIsKeyPressed     = ImGuiInputFlags_RepeatMask_,
 | 
					    ImGuiInputFlags_SupportedByIsKeyPressed     = ImGuiInputFlags_RepeatMask_,
 | 
				
			||||||
 | 
					    ImGuiInputFlags_SupportedByIsMouseClicked   = ImGuiInputFlags_Repeat,
 | 
				
			||||||
    ImGuiInputFlags_SupportedByShortcut         = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteExtraMask_,
 | 
					    ImGuiInputFlags_SupportedByShortcut         = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteExtraMask_,
 | 
				
			||||||
    ImGuiInputFlags_SupportedBySetKeyOwner      = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease,
 | 
					    ImGuiInputFlags_SupportedBySetKeyOwner      = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease,
 | 
				
			||||||
    ImGuiInputFlags_SupportedBySetItemKeyOwner  = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_,
 | 
					    ImGuiInputFlags_SupportedBySetItemKeyOwner  = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user