Files
XCEngine/engine/include/XCEngine/UI/Widgets/UIScrollModel.h

33 lines
778 B
C++

#pragma once
namespace XCEngine {
namespace UI {
namespace Widgets {
struct UIScrollWheelResult {
bool changed = false;
float overflow = 0.0f;
float offsetBefore = 0.0f;
float offsetAfter = 0.0f;
};
float ComputeUIScrollOverflow(float contentExtent, float viewportExtent);
float ClampUIScrollOffset(float offset, float contentExtent, float viewportExtent);
UIScrollWheelResult ApplyUIScrollWheel(
float offset,
float wheelDelta,
float contentExtent,
float viewportExtent,
float wheelStep = 48.0f,
float epsilon = 0.01f);
float EnsureUIScrollOffsetVisible(
float offset,
float itemStart,
float itemExtent,
float contentExtent,
float viewportExtent);
} // namespace Widgets
} // namespace UI
} // namespace XCEngine