Класс CInterpolatorBase
Реализует обратный вызов, используемый API анимации, когда требуется рассчитать новое значение переменной анимации.
Синтаксис
class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CInterpolatorBase::CInterpolatorBase | CInterpolatorBase Создает объект. |
Открытые методы
Имя | Описание |
---|---|
CInterpolatorBase::CreateInstance | Создает экземпляр CInterpolatorBase и сохраняет указатель на настраиваемый интерполятор, который будет обрабатывать события. |
CInterpolatorBase::GetDependencies | Возвращает зависимости интерполятора. (Переопределяет CUIAnimationInterpolatorBase::GetDependencies .) |
CInterpolatorBase::GetDuration | Возвращает длительность интерполятора. (Переопределяет CUIAnimationInterpolatorBase::GetDuration .) |
CInterpolatorBase::GetFinalValue | Возвращает окончательное значение, к которому ведет интерполятор. (Переопределяет CUIAnimationInterpolatorBase::GetFinalValue .) |
CInterpolatorBase::InterpolateValue | Интерполирует значение по заданному смещение (переопределяет CUIAnimationInterpolatorBase::InterpolateValue .) |
CInterpolatorBase::InterpolateVelocity | Интерполирует скорость при заданном смещение (переопределяет CUIAnimationInterpolatorBase::InterpolateVelocity .) |
CInterpolatorBase::SetCustomInterpolator | Сохраняет указатель на настраиваемый интерполятор, который будет обрабатывать события. |
CInterpolatorBase::SetDuration | Задает длительность интерполятора (переопределяет CUIAnimationInterpolatorBase::SetDuration .) |
CInterpolatorBase::SetInitialValueAndVelocity | Задает начальное значение и скорость интерполятора. (Переопределяет CUIAnimationInterpolatorBase::SetInitialValueAndVelocity .) |
Замечания
Этот обработчик создается и передается IUIAnimationTransitionFactory::CreateTransition
при CCustomTransition
создании объекта в рамках процесса инициализации анимации (запущенного CAnimationController::AnimateGroup
). Обычно этот класс не требуется использовать напрямую, он просто перенастраивает все события в производный CCustomInterpolator
класс, указатель которого передается конструктору CCustomTransition
.
Иерархия наследования
CUIAnimationCallbackBase
CUIAnimationInterpolatorBase
CInterpolatorBase
Требования
Заголовок: afxanimationcontroller.h
CInterpolatorBase::CInterpolatorBase
Создает объект CInterpolatorBase.
CInterpolatorBase();
CInterpolatorBase::CreateInstance
Создает экземпляр CInterpolatorBase и сохраняет указатель на настраиваемый интерполятор, который будет обрабатывать события.
static COM_DECLSPEC_NOTHROW HRESULT CreateInstance(
CCustomInterpolator* pInterpolator,
IUIAnimationInterpolator** ppHandler);
Параметры
pInterpolator
Указатель на настраиваемый интерполятор.
ppHandler
Выход. Содержит указатель на экземпляр CInterpolatorBase при возврате функции.
Возвращаемое значение
CInterpolatorBase::GetDependencies
Возвращает зависимости интерполятора.
IFACEMETHOD(GetDependencies)(
__out UI_ANIMATION_DEPENDENCIES* initialValueDependencies,
__out UI_ANIMATION_DEPENDENCIES* initialVelocityDependencies,
__out UI_ANIMATION_DEPENDENCIES* durationDependencies);
Параметры
initialValueDependencies
Выход. Аспекты интерполятора, зависящее от исходного значения, переданного в SetInitialValueAndVelocity.
initialVelocityDependencies
Выход. Аспекты интерполятора, зависящие от начальной скорости, передаваемой в SetInitialValueAndVelocity.
durationDependencies
Выход. Аспекты интерполятора, зависящее от длительности, переданной в SetDuration.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода GetDependencies.
CInterpolatorBase::GetDuration
Возвращает длительность интерполятора.
IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);
Параметры
duration
Выход. Длительность перехода в секундах.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода GetDuration.
CInterpolatorBase::GetFinalValue
Возвращает окончательное значение, к которому ведет интерполятор.
IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);
Параметры
значение
Выход. Окончательное значение переменной в конце перехода.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода GetFinalValue.
CInterpolatorBase::InterpolateValue
Интерполяет значение по заданному смещение
IFACEMETHOD(InterpolateValue)(
__in UI_ANIMATION_SECONDS offset,
__out DOUBLE* value);
Параметры
offset
Смещение от начала перехода. Смещение всегда больше или равно нулю и меньше длительности перехода. Этот метод не вызывается, если длительность перехода равна нулю.
значение
Выход. Интерполированное значение.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода ИнтерполатЗначение.
CInterpolatorBase::InterpolateVelocity
Интерполирует скорость при заданном смещение
IFACEMETHOD(InterpolateVelocity)(
__in UI_ANIMATION_SECONDS offset,
__out DOUBLE* velocity);
Параметры
offset
Смещение от начала перехода. Смещение всегда больше или равно нулю и меньше или равно длительности перехода. Этот метод не вызывается, если длительность перехода равна нулю.
скорость
Выход. Скорость переменной на смещение.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода ИнтерполатVelocity.
CInterpolatorBase::SetCustomInterpolator
Сохраняет указатель на настраиваемый интерполятор, который будет обрабатывать события.
void SetCustomInterpolator(CCustomInterpolator* pInterpolator);
Параметры
pInterpolator
Указатель на настраиваемый интерполятор.
CInterpolatorBase::SetDuration
Задает длительность интерполятора
IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);
Параметры
duration
Длительность перехода.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода SetDuration.
CInterpolatorBase::SetInitialValueAndVelocity
Задает начальное значение и скорость интерполятора.
IFACEMETHOD(SetInitialValueAndVelocity)(
__in DOUBLE initialValue,
__in DOUBLE initialVelocity);
Параметры
initialValue
Значение переменной в начале перехода.
initialVelocity
Скорость переменной в начале перехода.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. Он возвращает E_FAIL, если CCustomInterpolator не задан, или пользовательская реализация возвращает ЗНАЧЕНИЕ FALSE из метода SetInitialValueAndVelocity.