mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	ColorEdit: Fixed not being able to pass the ImGuiColorEditFlags_NoAlpha or ImGuiColorEditFlags_HDR flags to SetColorEditOptions(). Demo tweak.
This commit is contained in:
		| @@ -76,12 +76,13 @@ Other Changes: | ||||
| - DragFloat: Improved computation when using the power curve. Improved lost of input precision with very small steps. Added an assert than power-curve requires a min/max range. (~#642) | ||||
| - DragFloat: The 'power' parameter is only honored if the min/max parameter are also setup. | ||||
| - DragInt, SliderInt: Fixed handling of large integers (we previously passed data around internally as float, which reduced the range of valid integers). | ||||
| - ColorEdit: Fixed not being able to pass the ImGuiColorEditFlags_NoAlpha or ImGuiColorEditFlags_HDR flags to SetColorEditOptions(). | ||||
| - Nav: Fixed hovering a Selectable() with the mouse so that it update the navigation cursor (as it happened in the pre-1.60 navigation branch). (#787) | ||||
| - Style: Changed default style.DisplaySafeAreaPadding values from (4,4) to (3,3) so it is smaller than FramePadding and has no effect on main menu bar on a computer. (#1439) | ||||
| - Fonts: When building font atlas, glyphs that are missing in the fonts are not using the glyph slot to render a dummy/default glyph. Saves space and allow merging fonts with  | ||||
|   overlapping font ranges such as FontAwesome5 which split out the Brands separately from the Solid fonts. (#1703, #1671) | ||||
| - Misc: Added IMGUI_CHECKVERSION() macro to compare version string and data structure sizes in order to catch issues with mismatching compilation unit settings. (#1695, #1769) | ||||
| - Misc: Added IMGUI_DISABLE_MATH_FUNCTIONS in imconfig.h to make it slightly easier to redefine wrappers to std maths functions such as fabsf(), fmodf(), cosf(), etc. | ||||
| - Misc: Added IMGUI_DISABLE_MATH_FUNCTIONS in imconfig.h to make it easier to redefine wrappers for std/crt math functions. | ||||
| - Misc: Fix to allow compiling in unity builds where stb_rectpack/stb_truetype may be already included in the same compilation unit. | ||||
| - Demo: Simple Overlay: Added a context menu item to enable freely moving the window.  | ||||
| - Demo: Added demo for DragScalar(), InputScalar(), SliderScalar(). (#643) | ||||
|   | ||||
							
								
								
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -11891,15 +11891,11 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag | ||||
|     const float w_items_all = CalcItemWidth() - w_extra; | ||||
|     const char* label_display_end = FindRenderedTextEnd(label); | ||||
|  | ||||
|     const bool alpha = (flags & ImGuiColorEditFlags_NoAlpha) == 0; | ||||
|     const bool hdr = (flags & ImGuiColorEditFlags_HDR) != 0; | ||||
|     const int components = alpha ? 4 : 3; | ||||
|     const ImGuiColorEditFlags flags_untouched = flags; | ||||
|  | ||||
|     BeginGroup(); | ||||
|     PushID(label); | ||||
|  | ||||
|     // If we're not showing any slider there's no point in doing any HSV conversions | ||||
|     const ImGuiColorEditFlags flags_untouched = flags; | ||||
|     if (flags & ImGuiColorEditFlags_NoInputs) | ||||
|         flags = (flags & (~ImGuiColorEditFlags__InputsMask)) | ImGuiColorEditFlags_RGB | ImGuiColorEditFlags_NoOptions; | ||||
|  | ||||
| @@ -11916,6 +11912,10 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag | ||||
|         flags |= (g.ColorEditOptions & ImGuiColorEditFlags__PickerMask); | ||||
|     flags |= (g.ColorEditOptions & ~(ImGuiColorEditFlags__InputsMask | ImGuiColorEditFlags__DataTypeMask | ImGuiColorEditFlags__PickerMask)); | ||||
|  | ||||
|     const bool alpha = (flags & ImGuiColorEditFlags_NoAlpha) == 0; | ||||
|     const bool hdr = (flags & ImGuiColorEditFlags_HDR) != 0; | ||||
|     const int components = alpha ? 4 : 3; | ||||
|  | ||||
|     // Convert to the formats we need | ||||
|     float f[4] = { col[0], col[1], col[2], alpha ? col[3] : 1.0f }; | ||||
|     if (flags & ImGuiColorEditFlags_HSV) | ||||
|   | ||||
| @@ -983,13 +983,12 @@ void ImGui::ShowDemoWindow(bool* p_open) | ||||
|             if (inputs_mode == 4) flags |= ImGuiColorEditFlags_HEX; | ||||
|             ImGui::ColorPicker4("MyColor##4", (float*)&color, flags, ref_color ? &ref_color_v.x : NULL); | ||||
|  | ||||
|             ImGui::Text("Programmatically set defaults/options:"); | ||||
|             ImGui::Text("Programmatically set defaults:"); | ||||
|             ImGui::SameLine(); ShowHelpMarker("SetColorEditOptions() is designed to allow you to set boot-time default.\nWe don't have Push/Pop functions because you can force options on a per-widget basis if needed, and the user can change non-forced ones with the options menu.\nWe don't have a getter to avoid encouraging you to persistently save values that aren't forward-compatible."); | ||||
|             if (ImGui::Button("Uint8 + HSV")) | ||||
|                 ImGui::SetColorEditOptions(ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_HSV); | ||||
|             ImGui::SameLine(); | ||||
|             if (ImGui::Button("Float + HDR")) | ||||
|                 ImGui::SetColorEditOptions(ImGuiColorEditFlags_Float | ImGuiColorEditFlags_RGB); | ||||
|             if (ImGui::Button("Default: Uint8 + HSV + Hue Bar")) | ||||
|                 ImGui::SetColorEditOptions(ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_HSV | ImGuiColorEditFlags_PickerHueBar); | ||||
|             if (ImGui::Button("Default: Float + HDR + Hue Wheel")) | ||||
|                 ImGui::SetColorEditOptions(ImGuiColorEditFlags_Float | ImGuiColorEditFlags_HDR | ImGuiColorEditFlags_PickerHueWheel); | ||||
|  | ||||
|             ImGui::TreePop(); | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user