Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов 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.