Поделиться через


Класс CInterpolatorBase

Замечание

Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Реализует обратный вызов, используемый 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.

См. также

Классы