ImVec2SizeContents;// Size of contents (== extents reach of the drawing cursor) from previous frame
ImGuiIDMoveID;// == window->GetID("#MOVE")
floatScrollY;
floatScrollTargetCenterY;// position which we aim to center on
floatScrollTargetAbsY;// target scroll position. stored as cursor position with scrolling canceled out, so the highest point is always 0.0f. (-1.0f for no change)
floatScrollTargetCenterRatioY;// 0.0f = scroll so that target position is at top, 0.5f = scroll so that target position is centered
IMGUI_APIfloatGetScrollPosY();// get scrolling position [0..GetScrollMaxY()]
IMGUI_APIfloatGetScrollMaxY();// get maximum scrolling position == ContentSize.Y - WindowSize.Y
IMGUI_APIvoidSetScrollPosHere();// adjust scrolling position to center into the current cursor position
IMGUI_APIvoidSetScrollPosHere(floatcenter_y_ratio=0.5f);// adjust scrolling position to make the current cursor position visible. center_y_ratio=0.0: top, =0.5: center, =1.0: bottom.
IMGUI_APIvoidSetKeyboardFocusHere(intoffset=0);// focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget
IMGUI_APIvoidSetStateStorage(ImGuiStorage*tree);// replace tree state storage with our own (if you want to manipulate it yourself, typically clear subsection of it)