Класс 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.

См. также

Классы