C++:
// Это превращает
static std::map<ImGuiID, Animation> AnimationMap;
auto AnimationHandle = AnimationMap.find(ImGui::GetItemID());
if (AnimationHandle == AnimationMap.end())
{
AnimationMap.insert({ ImGui::GetItemID(), {0.0f} });
AnimationHandle = AnimationMap.find(ImGui::GetItemID());
}
if (*v)
{
if (AnimationHandle->second.size < 1.0f)
AnimationHandle->second.size += 0.1f * (60 / ImGui::GetIO().Framerate);
}
else if (!(*v))
{
if (AnimationHandle->second.size > 0.0f)
AnimationHandle->second.size -= 0.1f * (60 / ImGui::GetIO().Framerate);
}
// в это
float trickFloat = ImTricks::Animations::FastLerpInt("trickFloat", enable_animation, 0.f, 1.f, 0.1f);
На случай будущих обновлений - GitHub - pers0na2/imgui-tricks