Bagikan melalui


Kelas CInterpolatorBase

Menerapkan panggilan balik, yang dipanggil oleh API Animasi ketika harus menghitung nilai baru variabel animasi.

Sintaks

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

Anggota

Konstruktor Publik

Nama Deskripsi
CInterpolatorBase::CInterpolatorBase Membuat CInterpolatorBase objek.

Metode Publik

Nama Deskripsi
CInterpolatorBase::CreateInstance Membuat instans CInterpolatorBase dan menyimpan pointer ke interpolator kustom, yang akan menangani peristiwa.
CInterpolatorBase::GetDependencies Mendapatkan dependensi interpolator. (Mengambil alih CUIAnimationInterpolatorBase::GetDependencies.)
CInterpolatorBase::GetDuration Mendapatkan durasi interpolator. (Mengambil alih CUIAnimationInterpolatorBase::GetDuration.)
CInterpolatorBase::GetFinalValue Mendapatkan nilai akhir yang ditunjukkan oleh interpolator. (Mengambil alih CUIAnimationInterpolatorBase::GetFinalValue.)
CInterpolatorBase::InterpolateValue Menginterpolasi nilai pada offset tertentu (Ambil alih CUIAnimationInterpolatorBase::InterpolateValue.)
CInterpolatorBase::InterpolateVelocity Menginterpolasi kecepatan pada offset tertentu (Mengambil alih CUIAnimationInterpolatorBase::InterpolateVelocity.)
CInterpolatorBase::SetCustomInterpolator Menyimpan pointer ke interpolator kustom, yang akan menangani peristiwa.
CInterpolatorBase::SetDuration Mengatur durasi interpolator (Ambil alih CUIAnimationInterpolatorBase::SetDuration.)
CInterpolatorBase::SetInitialValueAndVelocity Mengatur nilai awal dan kecepatan interpolator. (Mengambil alih CUIAnimationInterpolatorBase::SetInitialValueAndVelocity.)

Keterangan

Handler ini dibuat dan diteruskan ke IUIAnimationTransitionFactory::CreateTransition ketika CCustomTransition objek sedang dibuat sebagai bagian dari proses inisialisasi animasi (dimulai oleh CAnimationController::AnimateGroup). Biasanya Anda tidak perlu menggunakan kelas ini secara langsung, itu hanya merutekan semua peristiwa ke CCustomInterpolatorkelas turunan, yang penunjuknya diteruskan ke konstruktor .CCustomTransition

Hierarki Warisan

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

Persyaratan

Header: afxanimationcontroller.h

CInterpolatorBase::CInterpolatorBase

Membuat objek CInterpolatorBase.

CInterpolatorBase();

CInterpolatorBase::CreateInstance

Membuat instans CInterpolatorBase dan menyimpan pointer ke interpolator kustom, yang akan menangani peristiwa.

static COM_DECLSPEC_NOTHROW HRESULT CreateInstance(
    CCustomInterpolator* pInterpolator,
    IUIAnimationInterpolator** ppHandler);

Parameter

pInterpolator
Penunjuk ke interpolator kustom.

ppHandler
Output. Berisi pointer ke instans CInterpolatorBase saat fungsi kembali.

Tampilkan Nilai

CInterpolatorBase::GetDependencies

Mendapatkan dependensi interpolator.

IFACEMETHOD(GetDependencies)(
    __out UI_ANIMATION_DEPENDENCIES* initialValueDependencies,
    __out UI_ANIMATION_DEPENDENCIES* initialVelocityDependencies,
    __out UI_ANIMATION_DEPENDENCIES* durationDependencies);

Parameter

initialValueDependencies
Output. Aspek interpolator yang bergantung pada nilai awal yang diteruskan ke SetInitialValueAndVelocity.

initialVelocityDependencies
Output. Aspek interpolator yang bergantung pada kecepatan awal yang diteruskan ke SetInitialValueAndVelocity.

durationDependencies
Output. Aspek interpolator yang bergantung pada durasi yang diteruskan ke SetDuration.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode GetDependencies.

CInterpolatorBase::GetDuration

Mendapatkan durasi interpolator.

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

Parameter

durasi
Output. Durasi transisi, dalam hitungan detik.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode GetDuration.

CInterpolatorBase::GetFinalValue

Mendapatkan nilai akhir yang ditunjukkan oleh interpolator.

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

Parameter

value
Output. Nilai akhir variabel di akhir transisi.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode GetFinalValue.

CInterpolatorBase::InterpolateValue

Menginterpolasi nilai pada offset tertentu

IFACEMETHOD(InterpolateValue)(
    __in UI_ANIMATION_SECONDS offset,
    __out DOUBLE* value);

Parameter

offset
Offset dari awal transisi. Offset selalu lebih besar dari atau sama dengan nol dan kurang dari durasi transisi. Metode ini tidak dipanggil jika durasi transisi adalah nol.

value
Output. Nilai terinterpolasi.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode InterpolateValue.

CInterpolatorBase::InterpolateVelocity

Menginterpolasi kecepatan pada offset tertentu

IFACEMETHOD(InterpolateVelocity)(
    __in UI_ANIMATION_SECONDS offset,
    __out DOUBLE* velocity);

Parameter

offset
Offset dari awal transisi. Offset selalu lebih besar dari atau sama dengan nol dan kurang dari atau sama dengan durasi transisi. Metode ini tidak dipanggil jika durasi transisi adalah nol.

kecepatan
Output. Kecepatan variabel pada offset.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode InterpolateVelocity.

CInterpolatorBase::SetCustomInterpolator

Menyimpan pointer ke interpolator kustom, yang akan menangani peristiwa.

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

Parameter

pInterpolator
Penunjuk ke interpolator kustom.

CInterpolatorBase::SetDuration

Mengatur durasi interpolator

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

Parameter

durasi
Durasi transisi.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode SetDuration.

CInterpolatorBase::SetInitialValueAndVelocity

Mengatur nilai awal dan kecepatan interpolator.

IFACEMETHOD(SetInitialValueAndVelocity)(
    __in DOUBLE initialValue,
    __in DOUBLE initialVelocity);

Parameter

initialValue
Nilai variabel pada awal transisi.

initialVelocity
Kecepatan variabel pada awal transisi.

Tampilkan Nilai

Jika metode berhasil, metode akan mengembalikan S_OK. Ini mengembalikan E_FAIL jika CCustomInterpolator tidak diatur, atau implementasi kustom mengembalikan FALSE dari metode SetInitialValueAndVelocity.

Lihat juga

Kelas