ImGui.Core:dragFloat
From GiderosMobile
Available since: Gideros 2020.9
Class: ImGui
Description
Displays a float drag slider.
(number), (bool) = ImGui:dragFloat(label,value,[incStep=1,min=0,max=0,formatString="%.3f",ImGuiSliderFlags=0])
Widgets: Drag Sliders * CTRL+Click on any drag box to turn them into an input box. Manually input values aren't clamped and can go off-bounds. * For all the Float2/Float3/Float4/Int2/Int3/Int4 versions of every functions, note that a 'float v[X]' function argument is the same as 'float* v', the array syntax is just a way to document the number of elements that are expected to be accessible. You can pass address of your first element out of a contiguous set, e.g. &myvector.x * Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision e.g. "%.3f" -> 1.234; "%5.2f secs" -> 01.23 secs; "Biscuit: %.0f" -> Biscuit: 1; etc. * Format string may also be set to NULL or use the default format ("%f" or "%d"). * Speed are per-pixel of mouse movement (v_speed=0.2f: mouse needs to move by 5 pixels to increase value by 1). For gamepad/keyboard navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision). * Use v_min < v_max to clamp edits to given limits. Note that CTRL+Click manual input can override those limits. * Use v_max = FLT_MAX / INT_MAX etc to avoid clamping to a maximum, same with v_min = -FLT_MAX / INT_MIN to avoid clamping to a minimum. * We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them.
Parameters
label: (string) the label
value: (number) the current value
incStep: (number) the increment step
min: (number) the min value
max: (number) the max value
formatString: (string) the format of the value
ImGuiSliderFlags: (number) the drag slider flag
Return values
Returns (number) the current value
Returns (bool) whether the current value has changed
Example
require "ImGui"
local imgui = ImGui.new()
stage:addChild(imgui)
local window01 = true
local dragvalue01 = 20
function onEnterFrame(e)
-- 1 we start ImGui
imgui:newFrame(e)
-- 2 we add some child windows and build our GUI
window01 = imgui:beginWindow("Window 01") -- no close button (X)
if window01 then -- the variable is false when window is collapsed
imgui:text("Hello Dear ImGui!") -- we add a text element to our GUI
local isChanged = false
dragvalue01, isChanged = imgui:dragFloat("value", dragvalue01, 0.1, 0, 100, "%.3f", 0)
if isChanged then print(dragvalue01) end
-- print(e.deltaTime)
end
-- 3 we end the frame and render to screen
imgui:endFrame()
imgui:render()
end
stage:addEventListener(Event.ENTER_FRAME, onEnterFrame)
- ImGui.Core
- ImGui.Core.new
- ImGui.Core:arrowButton
- ImGui.Core:beginTable
- ImGui.Core:beginWindow
- ImGui.Core:bullet
- ImGui.Core:bulletText
- ImGui.Core:button
- ImGui.Core:checkbox
- ImGui.Core:colorButton
- ImGui.Core:colorEdit3
- ImGui.Core:colorEdit4
- ImGui.Core:colorPicker3
- ImGui.Core:colorPicker4
- ImGui.Core:combo
- ImGui.Core:dragFloat
- ImGui.Core:dragFloat2
- ImGui.Core:dragFloat3
- ImGui.Core:dragFloat4
- ImGui.Core:dragFloatRange2
- ImGui.Core:dragInt
- ImGui.Core:dragInt2
- ImGui.Core:dragInt3
- ImGui.Core:dragInt4
- ImGui.Core:dragIntRange2
- ImGui.Core:dragScalar
- ImGui.Core:endFrame
- ImGui.Core:endTable
- ImGui.Core:endWindow
- ImGui.Core:filledSliderAngle
- ImGui.Core:filledSliderFloat
- ImGui.Core:filledSliderFloat2
- ImGui.Core:filledSliderFloat3
- ImGui.Core:filledSliderFloat4
- ImGui.Core:filledSliderInt
- ImGui.Core:filledSliderInt2
- ImGui.Core:filledSliderInt3
- ImGui.Core:filledSliderInt4
- ImGui.Core:getIO
- ImGui.Core:getStyle
- ImGui.Core:image
- ImGui.Core:imageButton
- ImGui.Core:imageButtonWithText
- ImGui.Core:imageFilled
- ImGui.Core:inputDouble
- ImGui.Core:inputFloat
- ImGui.Core:inputFloat2
- ImGui.Core:inputFloat3
- ImGui.Core:inputFloat4
- ImGui.Core:inputInt
- ImGui.Core:inputInt2
- ImGui.Core:inputInt3
- ImGui.Core:inputInt4
- ImGui.Core:inputScalar
- ImGui.Core:inputText
- ImGui.Core:inputTextMultiline
- ImGui.Core:inputTextWithHint
- ImGui.Core:invisibleButton
- ImGui.Core:labelText
- ImGui.Core:newFrame
- ImGui.Core:progressBar
- ImGui.Core:radioButton
- ImGui.Core:render
- ImGui.Core:scaledImage
- ImGui.Core:scaledImageButton
- ImGui.Core:scaledImageButtonWithText
- ImGui.Core:scaledImageFilled
- ImGui.Core:setClassicStyle
- ImGui.Core:setColorEditOptions
- ImGui.Core:setDarkStyle
- ImGui.Core:setLightStyle
- ImGui.Core:showAboutWindow
- ImGui.Core:showDemoWindow
- ImGui.Core:showFontSelector
- ImGui.Core:showMetricsWindow
- ImGui.Core:showStyleEditor
- ImGui.Core:showStyleSelector
- ImGui.Core:showUserGuide
- ImGui.Core:sliderAngle
- ImGui.Core:sliderFloat
- ImGui.Core:sliderFloat2
- ImGui.Core:sliderFloat3
- ImGui.Core:sliderFloat4
- ImGui.Core:sliderInt
- ImGui.Core:sliderInt2
- ImGui.Core:sliderInt3
- ImGui.Core:sliderInt4
- ImGui.Core:smallButton
- ImGui.Core:text
- ImGui.Core:textColored
- ImGui.Core:textDisabled
- ImGui.Core:textWrapped
- ImGui.Core:vFilledSliderFloat
- ImGui.Core:vFilledSliderInt
- ImGui.Core:vSliderFloat
- ImGui.Core:vSliderInt