IMGUI_APIvoidSetScrollY(floatscroll_y);// set scrolling amount [0..GetScrollMaxY()]
IMGUI_APIvoidSetScrollHere(floatcenter_y_ratio=0.5f);// adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom.
IMGUI_APIvoidSetScrollFromPosY(floatpos_y,floatcenter_y_ratio=0.5f);// adjust scrolling amount to make given position valid. use GetCursorPos() or GetCursorStartPos()+offset to get valid positions.
IMGUI_APIvoidSetKeyboardFocusHere(intoffset=0);// FIXME-NAVIGATION // focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
IMGUI_APIvoidSetStateStorage(ImGuiStorage*tree);// replace tree state storage with our own (if you want to manipulate it yourself, typically clear subsection of it)
IMGUI_APIvoidActivateItem(ImGuiIDid);// remotely activate a button, checkbox, tree node etc. given its unique ID. activation is queued and processed on the next frame when the item is encountered again.
IMGUI_APIImGuiIDGetItemID();// get id of previous item, generally ~GetID(label)
IMGUI_APIvoidSetKeyboardFocusHere(intoffset=0);// FIXME-NAVIGATION // focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
// Utilities
IMGUI_APIboolIsItemHovered();// is the last item hovered by mouse (and usable)? or we are currently using Nav and the item is focused.
IMGUI_APIboolIsItemRectHovered();// is the last item hovered by mouse? even if another item is active or window is blocked by popup while we are hovering this
ImGui::PopID();// We don't yet have an easy way compute ID at other levels of the ID stack so we pop it manually for now (e.g. we'd like something like GetID("../label"))
ImGuiIDid=ImGui::GetID(label);
ImGui::PushID("Remote Activation");
if(ImGui::SmallButton("Activate"))
ImGui::ActivateItem(id);
ImGui::SameLine();
ImGui::Text("ID = 0x%08X",id);
ImGui::TreePop();
}
#endif
if(ImGui::TreeNode("Dragging"))
{
ImGui::TextWrapped("You can use ImGui::GetMouseDragDelta(0) to query for the dragged amount on any widget.");
ImGuiIDNavInputId;// ~~ IsNavInputPressed(ImGuiNavInput_PadInput) ? NavId : 0, etc.
ImGuiIDNavJustTabbedId;// Just tabbed to this id.
ImGuiIDNavJustNavigatedId;// Just navigated to this id (result of a successfully MoveRequest)
ImGuiIDNavNextActivateId;// Set by ActivateItem(), queued until next frame
ImRectNavScoringRectScreen;// Rectangle used for scoring, in screen space. Based of window->DC.NavRefRectRel[], modified for directional navigation scoring.