mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	NewFrame(): Added an assert to detect incorrect filling of the io.KeyMap[] array earlier. (#1555) + comments.
This commit is contained in:
		| @@ -2282,6 +2282,8 @@ void ImGui::NewFrame() | ||||
|     IM_ASSERT(g.Style.CurveTessellationTol > 0.0f                       && "Invalid style setting"); | ||||
|     IM_ASSERT(g.Style.Alpha >= 0.0f && g.Style.Alpha <= 1.0f            && "Invalid style setting. Alpha cannot be negative (allows us to avoid a few clamps in color computations)"); | ||||
|     IM_ASSERT((g.FrameCount == 0 || g.FrameCountEnded == g.FrameCount)  && "Forgot to call Render() or EndFrame() at the end of the previous frame?"); | ||||
|     for (int n = 0; n < ImGuiKey_COUNT; n++) | ||||
|         IM_ASSERT(g.IO.KeyMap[n] >= -1 && g.IO.KeyMap[n] < IM_ARRAYSIZE(g.IO.KeysDown) && "io.KeyMap[] contains an out of bound value (need to be 0..512, or -1 for unmapped key)"); | ||||
|  | ||||
|     // Initialize on first frame | ||||
|     if (!g.Initialized) | ||||
|   | ||||
							
								
								
									
										6
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -881,8 +881,8 @@ struct ImGuiIO | ||||
|     const char*   LogFilename;              // = "imgui_log.txt"    // Path to .log file (default parameter to ImGui::LogToFile when no file is specified). | ||||
|     float         MouseDoubleClickTime;     // = 0.30f              // Time for a double-click, in seconds. | ||||
|     float         MouseDoubleClickMaxDist;  // = 6.0f               // Distance threshold to stay in to validate a double-click, in pixels. | ||||
|     float         MouseDragThreshold;       // = 6.0f               // Distance threshold before considering we are dragging | ||||
|     int           KeyMap[ImGuiKey_COUNT];   // <unset>              // Map of indices into the KeysDown[512] entries array | ||||
|     float         MouseDragThreshold;       // = 6.0f               // Distance threshold before considering we are dragging. | ||||
|     int           KeyMap[ImGuiKey_COUNT];   // <unset>              // Map of indices into the KeysDown[512] entries array which represent your "native" keyboard state. | ||||
|     float         KeyRepeatDelay;           // = 0.250f             // When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.). | ||||
|     float         KeyRepeatRate;            // = 0.050f             // When holding a key/button, rate at which it repeats, in seconds. | ||||
|     void*         UserData;                 // = NULL               // Store your own data for retrieval by callbacks. | ||||
| @@ -936,7 +936,7 @@ struct ImGuiIO | ||||
|     bool        KeyShift;                   // Keyboard modifier pressed: Shift | ||||
|     bool        KeyAlt;                     // Keyboard modifier pressed: Alt | ||||
|     bool        KeySuper;                   // Keyboard modifier pressed: Cmd/Super/Windows | ||||
|     bool        KeysDown[512];              // Keyboard keys that are pressed (in whatever storage order you naturally have access to keyboard data) | ||||
|     bool        KeysDown[512];              // Keyboard keys that are pressed (ideally left in the "native" order your engine has access to keyboard keys, so you can use your own defines/enums for keys). | ||||
|     ImWchar     InputCharacters[16+1];      // List of characters input (translated by user from keypress+keyboard state). Fill using AddInputCharacter() helper. | ||||
|  | ||||
|     // Functions | ||||
|   | ||||
		Reference in New Issue
	
	Block a user