mirror of
https://github.com/gwm17/implot.git
synced 2024-11-22 18:28:53 -05:00
add ImGuiDataTypeGetter
This commit is contained in:
parent
aa1918ff16
commit
11a7084b90
|
@ -56,6 +56,26 @@
|
|||
|
||||
namespace ImPlot {
|
||||
|
||||
// Calculates maximum index size of ImDrawIdx without integer overflow issues
|
||||
template <typename T>
|
||||
struct MaxIdx { static const unsigned int Value; };
|
||||
template <> const unsigned int MaxIdx<unsigned short>::Value = 65535;
|
||||
template <> const unsigned int MaxIdx<unsigned int>::Value = 4294967295;
|
||||
|
||||
// Gets ImGuiDataType for T
|
||||
template <typename T>
|
||||
struct ImGuiDataTypeGetter { static const ImGuiDataType Value; };
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<float>::Value = ImGuiDataType_Float;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<double>::Value = ImGuiDataType_Double;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImU8>::Value = ImGuiDataType_U8;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImS8>::Value = ImGuiDataType_S8;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImU16>::Value = ImGuiDataType_U16;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImS16>::Value = ImGuiDataType_S16;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImU32>::Value = ImGuiDataType_U32;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImS32>::Value = ImGuiDataType_S32;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImU64>::Value = ImGuiDataType_U64;
|
||||
template <> const ImGuiDataType ImGuiDataTypeGetter<ImS64>::Value = ImGuiDataType_S64;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Item Utils
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -697,12 +717,6 @@ struct ShadedRenderer {
|
|||
static const int VtxConsumed = 5;
|
||||
};
|
||||
|
||||
// Stupid way of calculating maximum index size of ImDrawIdx without integer overflow issues
|
||||
template <typename T>
|
||||
struct MaxIdx { static const unsigned int Value; };
|
||||
template <> const unsigned int MaxIdx<unsigned short>::Value = 65535;
|
||||
template <> const unsigned int MaxIdx<unsigned int>::Value = 4294967295;
|
||||
|
||||
/// Renders primitive shapes in bulk as efficiently as possible.
|
||||
template <typename Renderer>
|
||||
inline void RenderPrimitives(const Renderer& renderer, ImDrawList& DrawList, const ImRect& cull_rect) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user