mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00: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) | ||||
|         return false; | ||||
|     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); | ||||
|     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]; | ||||
|     if (t < 0.0f) | ||||
|         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 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_RepeatMask_                 = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_, | ||||
|     ImGuiInputFlags_SupportedByIsKeyPressed     = ImGuiInputFlags_RepeatMask_, | ||||
|     ImGuiInputFlags_SupportedByIsMouseClicked   = ImGuiInputFlags_Repeat, | ||||
|     ImGuiInputFlags_SupportedByShortcut         = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteExtraMask_, | ||||
|     ImGuiInputFlags_SupportedBySetKeyOwner      = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease, | ||||
|     ImGuiInputFlags_SupportedBySetItemKeyOwner  = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ocornut
					ocornut