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


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

Для заданного измерения GetDependencies извлекает аспекты интерполятора, которые зависят от начального значения или скорости, передаваемых методу IUIAnimationInterpolator2::SetInitialValueAndVelocity или длительности, передаваемой методу IUIAnimationInterpolator2::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 , если от входных данных ничего не зависит.
Например, рассмотрим интерполятор, который:
  • Принимает конечное значение в качестве параметра.
  • Всегда приходит к постепенной остановке на этом конечном значении.
  • Имеет длительность, определяемую разницей между конечным и начальным значением.
В этом случае интерполятор должен возвращать 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 8, Windows 7 и Обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header uianimation.h
DLL UIAnimation.dll

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

IUIAnimationInterpolator2