xo-alloc/xo-imgui/include/xo/imgui/ImSpan.hpp

24 lines
522 B
C++

/* ImSpan.hpp */
#pragma once
#include "imgui.h"
/* similar to ImVec2, but firmly located in xo territory
*/
struct ImSpan {
ImSpan() : lo_{0.0}, hi_{0.0} {}
ImSpan(float lo, float hi) : lo_{lo}, hi_{hi} {}
float lo() const { return lo_; }
float hi() const { return hi_; }
ImSpan normalize() const { return (lo_ <= hi_) ? ImSpan(lo_, hi_) : ImSpan{hi_, lo_}; }
ImVec2 to_imvec2() const { return ImVec2(lo_, hi_); }
private:
float lo_ = 0.0;
float hi_ = 0.0;
};
/* end ImSpan.hpp */