// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "SimpleAnimation.hpp" namespace Dawn { template<typename T> struct SimplerCallbackAnimation : public SimpleAnimation<T> { protected: T value; void onValueModified() override { SimpleAnimation<T>::onValueModified(); this->callback(this->value); } public: std::function<void(T)> callback = std::function<void(T)>(); /** * Construct a new Simple Function Animation object */ SimplerCallbackAnimation() : SimpleAnimation<T>(&value) { } }; }