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


Метод IUIAnimationInterpolator::GetDependencies (uianimation.h)

Возвращает аспекты интерполятора, которые зависят от начального значения или скорости, передаваемых в SetInitialValueAndVelocity, или зависят от длительности, передаваемой в SetDuration.

Синтаксис

HRESULT GetDependencies(
  [out] UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
  [out] UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
  [out] UI_ANIMATION_DEPENDENCIES *durationDependencies
);

Параметры

[out] initialValueDependencies

Аспекты интерполятора, зависящие от начального значения, переданного в SetInitialValueAndVelocity.

[out] initialVelocityDependencies

Аспекты интерполятора, которые зависят от начальной скорости, передаваемой в SetInitialValueAndVelocity.

[out] durationDependencies

Аспекты интерполятора, зависящие от длительности, передаваемой в SetDuration.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в статье Коды ошибок анимации Windows .

Комментарии

Этот метод вызывается для определения того, на какие аспекты пользовательского интерполятора влияют определенные входные данные: значение, скорость и длительность. Для каждого из этих входных данных интерполятор возвращает одно из следующих значений:

  • Побитовое ИЛИ всех элементов UI_ANIMATION_DEPENDENCIES , которые применяются.
  • UI_ANIMATION_DEPENDENCY_NONE , если от входных данных ничего не зависит.
Например, рассмотрим интерполятор (1), который принимает конечное значение в качестве параметра, (2) который всегда постепенно останавливается на этом конечном значении, и (3) длительность которого определяется разницей между окончательным и начальным значениями. Интерполятор должен возвращать UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES|UI_ANIMATION_DURATION для initialValueDependencies. Он не должен возвращать UI_ANIMATION_DEPENDENCY_FINAL_VALUE , так как он устанавливается при создании интерполятора и не влияет на исходное значение. Аналогичным образом он не должен возвращать UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY , так как наклон кривой всегда равен нулю при достижении конечного значения.

Важно, чтобы интерполятор возвращал правильный набор флагов. Если флаг отсутствует для выходных данных, анимация Windows предполагает, что соответствующий параметр не влияет на этот аспект результатов интерполятора. Например, если настраиваемый интерполятор не включает UI_ANIMATION_DEPENDENCY_FINAL_VALUE для initialVelocityDependencies, анимация Windows может вызвать SetInitialValueAndVelocity с произвольным параметром скорости, а затем вызвать GetFinalValue , чтобы определить окончательное значение. Реализация Интерполятора GetFinalValue должна возвращать тот же результат независимо от того, какой параметр скорости был передан в SetInitialValueAndVelocity , так как интерполятор утверждал, что конечное значение перехода не зависит от начальной скорости.

Примечание Если флаги, возвращаемые для durationDependencies , не содержат UI_ANIMATION_DEPENDENCY_DURATION, Метод SetDuration никогда не будет вызываться в интерполяторе.
 

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista и Обновление платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header uianimation.h
DLL UIAnimation.dll

См. также раздел

IUIAnimationInterpolator

UI_ANIMATION_DEPENDENCIES