mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 20:51:06 +01:00 
			
		
		
		
	Merge branch 'viewport' into docking
# Conflicts: # examples/example_allegro5/main.cpp # examples/example_marmalade/main.cpp
This commit is contained in:
		| @@ -68,6 +68,7 @@ typedef int ImGuiNavDirSourceFlags; // -> enum ImGuiNavDirSourceFlags_ // Flags: | ||||
| typedef int ImGuiNavMoveFlags;      // -> enum ImGuiNavMoveFlags_      // Flags: for navigation requests | ||||
| typedef int ImGuiSeparatorFlags;    // -> enum ImGuiSeparatorFlags_    // Flags: for Separator() - internal | ||||
| typedef int ImGuiSliderFlags;       // -> enum ImGuiSliderFlags_       // Flags: for SliderBehavior() | ||||
| typedef int ImGuiDragFlags;         // -> enum ImGuiDragFlags_         // Flags: for DragBehavior() | ||||
|  | ||||
| //------------------------------------------------------------------------- | ||||
| // STB libraries | ||||
| @@ -275,6 +276,12 @@ enum ImGuiSliderFlags_ | ||||
|     ImGuiSliderFlags_Vertical               = 1 << 0 | ||||
| }; | ||||
|  | ||||
| enum ImGuiDragFlags_ | ||||
| { | ||||
|     ImGuiDragFlags_None                     = 0, | ||||
|     ImGuiDragFlags_Vertical                 = 1 << 0 | ||||
| }; | ||||
|  | ||||
| enum ImGuiColumnsFlags_ | ||||
| { | ||||
|     // Default: 0 | ||||
| @@ -838,8 +845,9 @@ struct ImGuiContext | ||||
|     ImGuiInputSource        ActiveIdSource;                     // Activating with mouse or nav (gamepad/keyboard) | ||||
|     ImGuiID                 LastActiveId;                       // Store the last non-zero ActiveId, useful for animation. | ||||
|     float                   LastActiveIdTimer;                  // Store the last non-zero ActiveId timer since the beginning of activation, useful for animation. | ||||
|     ImVec2                  LastValidMousePos; | ||||
|     ImGuiWindow*            MovingWindow;                       // Track the window we clicked on (in order to preserve focus). The actually window that is moved is generally MovingWindow->RootWindow. | ||||
|     ImVector<ImGuiColorMod>   ColorModifiers;                     // Stack for PushStyleColor()/PopStyleColor() | ||||
|     ImVector<ImGuiColorMod> ColorModifiers;                     // Stack for PushStyleColor()/PopStyleColor() | ||||
|     ImVector<ImGuiStyleMod> StyleModifiers;                     // Stack for PushStyleVar()/PopStyleVar() | ||||
|     ImVector<ImFont*>       FontStack;                          // Stack for PushFont()/PopFont() | ||||
|     ImVector<ImGuiPopupRef> OpenPopupStack;                     // Which popups are open (persistent) | ||||
| @@ -1001,6 +1009,7 @@ struct ImGuiContext | ||||
|         ActiveIdSource = ImGuiInputSource_None; | ||||
|         LastActiveId = 0; | ||||
|         LastActiveIdTimer = 0.0f; | ||||
|         LastValidMousePos = ImVec2(0.0f, 0.0f); | ||||
|         MovingWindow = NULL; | ||||
|         NextTreeNodeOpenVal = false; | ||||
|         NextTreeNodeOpenCond = 0; | ||||
| @@ -1558,7 +1567,7 @@ namespace ImGui | ||||
|  | ||||
|     // Widgets low-level behaviors | ||||
|     IMGUI_API bool          ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags = 0); | ||||
|     IMGUI_API bool          DragBehavior(ImGuiID id, ImGuiDataType data_type, void* v, float v_speed, const void* v_min, const void* v_max, const char* format, float power); | ||||
|     IMGUI_API bool          DragBehavior(ImGuiID id, ImGuiDataType data_type, void* v, float v_speed, const void* v_min, const void* v_max, const char* format, float power, ImGuiDragFlags flags); | ||||
|     IMGUI_API bool          SliderBehavior(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, void* v, const void* v_min, const void* v_max, const char* format, float power, ImGuiSliderFlags flags, ImRect* out_grab_bb); | ||||
|     IMGUI_API bool          SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend = 0.0f, float hover_visibility_delay = 0.0f); | ||||
|     IMGUI_API bool          TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* label, const char* label_end = NULL); | ||||
| @@ -1568,7 +1577,7 @@ namespace ImGui | ||||
|     // Template functions are instantiated in imgui_widgets.cpp for a finite number of types.  | ||||
|     // To use them externally (for custom widget) you may need an "extern template" statement in your code in order to link to existing instances and silence Clang warnings (see #2036). | ||||
|     // e.g. " extern template IMGUI_API float RoundScalarWithFormatT<float, float>(const char* format, ImGuiDataType data_type, float v); " | ||||
|     template<typename T, typename SIGNED_T, typename FLOAT_T>   IMGUI_API bool  DragBehaviorT(ImGuiDataType data_type, T* v, float v_speed, const T v_min, const T v_max, const char* format, float power); | ||||
|     template<typename T, typename SIGNED_T, typename FLOAT_T>   IMGUI_API bool  DragBehaviorT(ImGuiDataType data_type, T* v, float v_speed, const T v_min, const T v_max, const char* format, float power, ImGuiDragFlags flags); | ||||
|     template<typename T, typename SIGNED_T, typename FLOAT_T>   IMGUI_API bool  SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, T* v, const T v_min, const T v_max, const char* format, float power, ImGuiSliderFlags flags, ImRect* out_grab_bb); | ||||
|     template<typename T, typename FLOAT_T>                      IMGUI_API float SliderCalcRatioFromValueT(ImGuiDataType data_type, T v, T v_min, T v_max, float power, float linear_zero_pos); | ||||
|     template<typename T, typename SIGNED_T>                     IMGUI_API T     RoundScalarWithFormatT(const char* format, ImGuiDataType data_type, T v); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user