Я пытаюсь предоставить пользователям моей графической библиотеки неограниченную возможность настройки эффектов перехода входа/выхода, сохраняя при этом простоту/предотвращая неправильное использование(когда элемент управления входит в представление или выходит из него).
Для этого я добавил делегата в класс Control, который будет принимать ссылку на Control и процент завершения перехода, чтобы пользователь мог плавно преобразовывать положение/непрозрачность элемента управления любым удобным для него способом. исходя из заданного процента. Все, что ему нужно сделать, это подписаться на функцию перехода перед входом/выходом управления.
Тем не менее, я понял, что было бы невозможно переходить/анимировать элементы управления, используя только текущий процент завершения, потому что вам также придется хранить и сравнивать начальное положение элемента управления.
Чтобы сделать это требование к памяти очевидным, следует ли принудительно использовать функтор-делегат?
Если да, то как мне сделать это минималистично/чисто?
Не стесняйтесь предлагать другой способ разрешить пользователям применять пользовательские анимации перехода!