Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengimplementasikan pengontrol animasi, yang menyediakan antarmuka pusat untuk membuat dan mengelola animasi.
Sintaks
class CAnimationController : public CObject;
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| CAnimationController::CAnimationController | Membuat pengontrol animasi. |
| CAnimationController::~CAnimationController | Destruktor. Dipanggil ketika objek pengontrol animasi sedang dihancurkan. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| CAnimationController::AddAnimationObject | Menambahkan objek animasi ke grup yang termasuk dalam pengontrol animasi. |
| CAnimationController::AddKeyframeToGroup | Menambahkan keyframe ke grup. |
| CAnimationController::AnimateGroup | Menyiapkan grup untuk menjalankan animasi dan secara opsional menjadwalkannya. |
| CAnimationController::CleanUpGroup | Kelebihan beban. Dipanggil oleh kerangka kerja untuk membersihkan grup ketika animasi telah dijadwalkan. |
| CAnimationController::CreateKeyframe | Kelebihan beban. Membuat keyframe yang bergantung pada transisi dan menambahkannya ke grup yang ditentukan. |
| CAnimationController::EnableAnimationManagerEvent | Mengatur atau merilis handler untuk dipanggil saat status manajer animasi berubah. |
| CAnimationController::EnableAnimationTimerEventHandler | Mengatur atau merilis handler untuk peristiwa waktu dan handler untuk pembaruan waktu. |
| CAnimationController::EnablePriorityComparisonHandler | Mengatur atau merilis handler perbandingan prioritas untuk dipanggil untuk menentukan apakah papan cerita terjadwal dapat dibatalkan, disimpulkan, dipangkas, atau dikompresi. |
| CAnimationController::EnableStoryboardEventHandler | Mengatur atau merilis handler untuk status papan cerita dan memperbarui peristiwa. |
| CAnimationController::FindAnimationGroup | Kelebihan beban. Menemukan grup animasi menurut papan ceritanya. |
| CAnimationController::FindAnimationObject | Menemukan objek animasi yang berisi variabel animasi tertentu. |
| CAnimationController::GetKeyframeStoryboardStart | Mengembalikan keyframe yang mengidentifikasi awal papan cerita. |
| CAnimationController::GetUIAnimationManager | Menyediakan akses ke objek IUIAnimationManager yang dienkapsulasi. |
| CAnimationController::GetUIAnimationTimer | Menyediakan akses ke objek IUIAnimationTimer yang dienkapsulasi. |
| CAnimationController::GetUITransitionFactory | Penunjuk ke antarmuka IUIAnimationTransitionFactory atau NULL, jika pembuatan pustaka transisi gagal. |
| CAnimationController::GetUITransitionLibrary | Menyediakan akses ke objek IUIAnimationTransitionLibrary yang dienkapsulasi. |
| CAnimationController::IsAnimationInProgress | Memberi tahu apakah setidaknya satu grup sedang memutar animasi. |
| CAnimationController::IsValid | Memberi tahu apakah pengontrol animasi valid. |
| CAnimationController::OnAnimationIntegerValueChanged | Dipanggil oleh kerangka kerja ketika nilai bilangan bulat variabel animasi telah berubah. |
| CAnimationController::OnAnimationManagerStatusChanged | Dipanggil oleh kerangka kerja sebagai respons terhadap peristiwa StatusChanged dari manajer animasi. |
| CAnimationController::OnAnimationTimerPostUpdate | Dipanggil oleh kerangka kerja setelah pembaruan animasi selesai. |
| CAnimationController::OnAnimationTimerPreUpdate | Dipanggil oleh kerangka kerja sebelum pembaruan animasi dimulai. |
| CAnimationController::OnAnimationTimerRenderingTooSlow | Dipanggil oleh kerangka kerja ketika kecepatan bingkai penyajian untuk animasi berada di bawah kecepatan bingkai minimum yang diinginkan. |
| CAnimationController::OnAnimationValueChanged | Dipanggil oleh kerangka kerja ketika nilai variabel animasi telah berubah. |
| CAnimationController::OnBeforeAnimationStart | Dipanggil oleh kerangka kerja tepat sebelum animasi dijadwalkan. |
| CAnimationController::OnHasPriorityCancel | Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan. |
| CAnimationController::OnHasPriorityCompress | Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan. |
| CAnimationController::OnHasPriorityConclude | Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan. |
| CAnimationController::OnHasPriorityTrim | Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan. |
| CAnimationController::OnStoryboardStatusChanged | Dipanggil oleh kerangka kerja ketika status papan cerita telah berubah. |
| CAnimationController::OnStoryboardUpdated | Dipanggil oleh kerangka kerja ketika papan cerita telah diperbarui. |
| CAnimationController::RemoveAllAnimationGroups | Menghapus semua grup animasi dari pengontrol animasi. |
| CAnimationController::RemoveAnimationGroup | Menghapus grup animasi dengan ID yang ditentukan dari pengontrol animasi. |
| CAnimationController::RemoveAnimationObject | Hapus objek animasi dari pengontrol animasi. |
| CAnimationController::RemoveTransitions | Menghapus transisi dari objek animasi yang termasuk dalam grup yang ditentukan. |
| CAnimationController::ScheduleGroup | Menjadwalkan animasi. |
| CAnimationController::SetRelatedWnd | Membangun hubungan antara pengontrol animasi dan jendela. |
| CAnimationController::UpdateAnimationManager | Mengarahkan manajer animasi untuk memperbarui nilai semua variabel animasi. |
Metode yang Dilindungi
| Nama | Deskripsi |
|---|---|
| CAnimationController::CleanUpGroup | Kelebihan beban. Pembantu yang membersihkan grup. |
| CAnimationController::OnAfterSchedule | Dipanggil oleh kerangka kerja ketika animasi untuk grup yang ditentukan baru saja dijadwalkan. |
Anggota Data yang Dilindungi
| Nama | Deskripsi |
|---|---|
| CAnimationController::gkeyframeStoryboardStart | Keyframe yang mewakili awal papan cerita. |
| CAnimationController::m_bIsValid | Menentukan apakah pengontrol animasi valid atau tidak. Anggota ini diatur ke FALSE jika OS saat ini tidak mendukung Windows Animation API. |
| CAnimationController::m_lstAnimationGroups | Daftar grup animasi yang termasuk dalam pengontrol animasi ini. |
| CAnimationController::m_pAnimationManager | Menyimpan penunjuk ke objek COM Manajer Animasi. |
| CAnimationController::m_pAnimationTimer | Menyimpan penunjuk ke objek COM Pengawas Animasi. |
| CAnimationController::m_pRelatedWnd | Penunjuk ke objek CWnd terkait, yang dapat secara otomatis digambar ulang ketika status manajer animasi telah berubah, atau peristiwa pembaruan pasca terjadi. Bisa NULL. |
| CAnimationController::m_pTransitionFactory | Menyimpan penunjuk ke objek COM Transition Factory. |
| CAnimationController::m_pTransitionLibrary | Menyimpan penunjuk ke objek COM Pustaka Transisi. |
Keterangan
Kelas CAnimationController adalah kelas kunci yang mengelola animasi. Anda dapat membuat satu atau beberapa instans pengontrol animasi dalam aplikasi dan, secara opsional, menghubungkan instans pengontrol animasi ke objek CWnd menggunakan CAnimationController::SetRelatedWnd. Koneksi ini diperlukan untuk mengirim pesan WM_PAINT ke jendela terkait secara otomatis ketika status manajer animasi telah berubah atau timer animasi telah diperbarui. Jika Anda tidak mengaktifkan relasi ini, Anda harus menggambar ulang jendela yang menampilkan animasi secara manual. Untuk tujuan ini, Anda dapat memperoleh kelas dari CAnimationController dan mengambil alih OnAnimationManagerStatusChanged dan/atau OnAnimationTimerPostUpdate dan membatalkan satu atau beberapa jendela jika perlu.
Hierarki Warisan
CAnimationController
Persyaratan
Header: afxanimationcontroller.h
CAnimationController::~CAnimationController
Destruktor. Dipanggil ketika objek pengontrol animasi sedang dihancurkan.
virtual ~CAnimationController(void);
CAnimationController::AddAnimationObject
Menambahkan objek animasi ke grup yang termasuk dalam pengontrol animasi.
CAnimationGroup* AddAnimationObject(CAnimationBaseObject* pObject);
Parameter
pObject
Penunjuk ke objek animasi.
Tampilkan Nilai
Penunjuk ke grup animasi yang sudah ada atau baru di mana pObject telah ditambahkan jika fungsi berhasil; NULL jika pObject telah ditambahkan ke grup milik pengontrol animasi lain.
Keterangan
Panggil metode ini untuk menambahkan objek animasi ke pengontrol animasi. Objek akan ditambahkan ke grup sesuai dengan GroupID objek (lihat CAnimationBaseObject::SetID). Pengontrol animasi akan membuat grup baru jika merupakan objek pertama yang ditambahkan dengan GroupID yang ditentukan. Objek animasi hanya dapat ditambahkan ke satu pengontrol animasi. Jika Anda perlu menambahkan objek ke pengontrol lain, hubungi RemoveAnimationObject terlebih dahulu. Jika Anda memanggil SetID dengan GroupID baru untuk objek yang telah ditambahkan ke grup, objek akan dihapus dari grup lama dan ditambahkan ke grup lain dengan ID yang ditentukan.
CAnimationController::AddKeyframeToGroup
Menambahkan keyframe ke grup.
BOOL AddKeyframeToGroup(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe);
Parameter
nGroupID
Menentukan ID Grup.
pKeyframe
Penunjuk ke keyframe.
Tampilkan Nilai
TRUE jika fungsi berhasil; jika tidak FALSE.
Keterangan
Biasanya Anda tidak perlu memanggil metode ini, gunakan CAnimationController::CreateKeyframe sebagai gantinya, yang membuat dan menambahkan keyframe yang dibuat ke grup secara otomatis.
CAnimationController::AnimateGroup
Menyiapkan grup untuk menjalankan animasi dan secara opsional menjadwalkannya.
BOOL AnimateGroup(
UINT32 nGroupID,
BOOL bScheduleNow = TRUE);
Parameter
nGroupID
Menentukan GroupID.
bScheduleNow
Menentukan apakah akan segera menjalankan animasi.
Tampilkan Nilai
TRUE jika animasi berhasil dijadwalkan dan dijalankan.
Keterangan
Metode ini melakukan pekerjaan aktual membuat papan cerita, menambahkan variabel animasi, menerapkan transisi dan mengatur keyframe. Dimungkinkan untuk menunda penjadwalan jika Anda mengatur bScheduleNow ke FALSE. Dalam hal ini grup yang ditentukan akan menyimpan papan cerita yang telah disiapkan untuk animasi. Pada saat itu Anda dapat mengatur peristiwa untuk papan cerita dan variabel animasi. Ketika Anda benar-benar perlu menjalankan panggilan animasi CAnimationController::ScheduleGroup.
CAnimationController::CAnimationController
Membuat pengontrol animasi.
CAnimationController(void);
CAnimationController::CleanUpGroup
Dipanggil oleh kerangka kerja untuk membersihkan grup ketika animasi telah dijadwalkan.
void CleanUpGroup(UINT32 nGroupID);
void CleanUpGroup(CAnimationGroup* pGroup);
Parameter
nGroupID
Menentukan GroupID.
pGroup
Penunjuk ke grup animasi untuk dibersihkan.
Keterangan
Metode ini menghapus semua transisi dan keyframe dari grup yang ditentukan, karena tidak relevan setelah animasi dijadwalkan.
CAnimationController::CreateKeyframe
Membuat keyframe yang bergantung pada transisi dan menambahkannya ke grup yang ditentukan.
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseTransition* pTransition);
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe,
UI_ANIMATION_SECONDS offset = 0.0);
Parameter
nGroupID
Menentukan ID Grup yang keyframe-nya dibuat.
pTransisi
Penunjuk ke transisi. Keyframe akan dimasukkan ke papan cerita setelah transisi ini.
pKeyframe
Pointer ke keyframe dasar untuk keyframe ini.
offset
Offset dalam detik dari keyframe dasar yang ditentukan oleh pKeyframe.
Tampilkan Nilai
Penunjuk ke keyframe yang baru dibuat jika fungsi berhasil.
Keterangan
Anda dapat menyimpan pointer yang dikembalikan dan mendasarkan keyframe lain pada keyframe yang baru dibuat (lihat kelebihan beban kedua). Dimungkinkan untuk memulai transisi di keyframe - lihat CBaseTransition::SetKeyframes. Anda tidak perlu menghapus keyframe yang dibuat dengan cara ini, karena dihapus secara otomatis oleh grup animasi. Berhati-hatilah saat membuat keyframe berdasarkan keyframe dan transisi lainnya dan hindari referensi melingkar.
CAnimationController::EnableAnimationManagerEvent
Mengatur atau merilis handler untuk dipanggil saat status manajer animasi berubah.
virtual BOOL EnableAnimationManagerEvent(BOOL bEnable = TRUE);
Parameter
bEnable
Menentukan apakah akan mengatur atau merilis handler.
Tampilkan Nilai
TRUE jika handler berhasil diatur atau dirilis.
Keterangan
Ketika handler diatur (diaktifkan) Windows Animation memanggil OnAnimationManagerStatusChanged saat status manajer animasi berubah.
CAnimationController::EnableAnimationTimerEventHandler
Mengatur atau merilis handler untuk peristiwa waktu dan handler untuk pembaruan waktu.
virtual BOOL EnableAnimationTimerEventHandler(
BOOL bEnable = TRUE,
UI_ANIMATION_IDLE_BEHAVIOR idleBehavior = UI_ANIMATION_IDLE_BEHAVIOR_DISABLE);
Parameter
bEnable
Menentukan apakah akan mengatur atau melepaskan handler.
idleBehavior
Menentukan perilaku menganggur untuk penangan pembaruan timer.
Tampilkan Nilai
TRUE jika handler berhasil diatur atau dirilis; FALSE jika metode ini dipanggil untuk kedua kalinya tanpa merilis handler terlebih dahulu, atau jika terjadi kesalahan lain.
Keterangan
Ketika handler diatur (diaktifkan) Windows Animation API memanggil metode OnAnimationTimerPreUpdate, OnAnimationTimerPostUpdate, OnRenderingTooSlow. Anda perlu mengaktifkan timer animasi untuk mengizinkan papan cerita pembaruan Windows Animation API. Jika tidak, Anda harus memanggil CAnimationController::UpdateAnimationManager untuk mengarahkan manajer animasi untuk memperbarui nilai semua variabel animasi.
CAnimationController::EnablePriorityComparisonHandler
Mengatur atau merilis handler perbandingan prioritas untuk dipanggil untuk menentukan apakah papan cerita terjadwal dapat dibatalkan, disimpulkan, dipangkas, atau dikompresi.
virtual BOOL EnablePriorityComparisonHandler(DWORD dwHandlerType);
Parameter
dwHandlerType
Kombinasi bendera UI_ANIMATION_PHT_ (lihat komentar), yang menentukan penangan apa yang akan diatur atau dilepaskan.
Tampilkan Nilai
TRUE jika handler berhasil diatur atau dirilis.
Keterangan
Ketika handler diatur (diaktifkan) Windows Animation memanggil metode virtual berikut tergantung pada dwHandlerType: OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress. dwHandler dapat menjadi kombinasi dari bendera berikut: UI_ANIMATION_PHT_NONE - lepaskan semua handler UI_ANIMATION_PHT_CANCEL - atur Batalkan perbandingan handler UI_ANIMATION_PHT_CONCLUDE - atur Handler perbandingan akhir UI_ANIMATION_PHT_COMPRESS - set Kompres handler perbandingan UI_ANIMATION_PHT_TRIM - atur handler perbandingan pangkas UI_ANIMATION_PHT_CANCEL_REMOVE - hapus handler perbandingan Batal UI_ANIMATION_PHT_CONCLUDE_REMOVE - hapus handler perbandingan Akhiri UI_ANIMATION_PHT_COMPRESS_REMOVE - hapus handler kompres perbandingan UI_ANIMATION_PHT_TRIM_REMOVE - hapus handler perbandingan Pangkas
CAnimationController::EnableStoryboardEventHandler
Mengatur atau merilis handler untuk status papan cerita dan memperbarui peristiwa.
virtual BOOL EnableStoryboardEventHandler(
UINT32 nGroupID,
BOOL bEnable = TRUE);
Parameter
nGroupID
Menentukan ID Grup.
bEnable
Menentukan apakah akan mengatur atau merilis handler.
Tampilkan Nilai
TRUE jika handler berhasil diatur atau dirilis; FALSE jika grup animasi yang ditentukan sekarang ditemukan atau animasi untuk grup yang ditentukan belum dimulai dan papan cerita internalnya adalah NULL.
Keterangan
Ketika handler diatur (diaktifkan) Windows Animation API memanggil metode virtual OnStoryboardStatusChanges dan OnStoryboardUpdated. Handler harus diatur setelah CAnimationController::Animate dipanggil untuk grup animasi yang ditentukan, karena membuat objek IUIAnimationStoryboard yang dienkapsulasi.
CAnimationController::FindAnimationGroup
Menemukan grup animasi menurut ID Grupnya.
CAnimationGroup* FindAnimationGroup(UINT32 nGroupID);
CAnimationGroup* FindAnimationGroup(IUIAnimationStoryboard* pStoryboard);
Parameter
nGroupID
Menentukan GroupID.
pStoryboard
Penunjuk ke papan cerita.
Tampilkan Nilai
Penunjuk ke grup animasi atau NULL jika grup dengan ID yang ditentukan tidak ditemukan.
Keterangan
Gunakan metode ini untuk menemukan grup animasi saat runtime. Grup dibuat dan ditambahkan ke daftar internal grup animasi saat objek animasi pertama dengan GroupID tertentu ditambahkan ke pengontrol animasi.
CAnimationController::FindAnimationObject
Menemukan objek animasi yang berisi variabel animasi tertentu.
BOOL FindAnimationObject(
IUIAnimationVariable* pVariable,
CAnimationBaseObject** ppObject,
CAnimationGroup** ppGroup);
Parameter
pVariable
Penunjuk ke variabel animasi.
ppObject
Output. Berisi penunjuk ke objek animasi atau NULL.
ppGroup
Output. Berisi penunjuk ke grup animasi yang menyimpan objek animasi, atau NULL.
Tampilkan Nilai
TRUE jika objek ditemukan; jika tidak FALSE.
Keterangan
Dipanggil dari penanganan aktivitas ketika diperlukan untuk menemukan objek animasi dari variabel animasi masuk.
CAnimationController::gkeyframeStoryboardStart
Keyframe yang mewakili awal papan cerita.
static CBaseKeyFrame gkeyframeStoryboardStart;
CAnimationController::GetKeyframeStoryboardStart
Mengembalikan keyframe yang mengidentifikasi awal papan cerita.
static CBaseKeyFrame* GetKeyframeStoryboardStart();
Tampilkan Nilai
Pointer ke keyframe dasar, yang mengidentifikasi awal papan cerita.
Keterangan
Dapatkan keyframe ini untuk mendasarkan keyframe atau transisi lain pada saat ketika papan cerita dimulai.
CAnimationController::GetUIAnimationManager
Menyediakan akses ke objek IUIAnimationManager yang dienkapsulasi.
IUIAnimationManager* GetUIAnimationManager();
Tampilkan Nilai
Penunjuk ke antarmuka IUIAnimationManager atau NULL, jika pembuatan manajer animasi gagal.
Keterangan
Jika OS saat ini tidak mendukung Windows Animation API, metode ini mengembalikan NULL dan setelah itu semua panggilan berikutnya di CAnimationController::IsValid mengembalikan FALSE. Anda mungkin perlu mengakses IUIAnimationManager untuk memanggil metode antarmukanya, yang tidak dibungkus oleh pengontrol animasi.
CAnimationController::GetUIAnimationTimer
Menyediakan akses ke objek IUIAnimationTimer yang dienkapsulasi.
IUIAnimationTimer* GetUIAnimationTimer();
Tampilkan Nilai
Penunjuk ke antarmuka IUIAnimationTimer atau NULL, jika pembuatan timer animasi gagal.
Keterangan
Jika OS saat ini tidak mendukung Windows Animation API, metode ini mengembalikan NULL dan setelah itu semua panggilan berikutnya di CAnimationController::IsValid mengembalikan FALSE.
CAnimationController::GetUITransitionFactory
Penunjuk ke antarmuka IUIAnimationTransitionFactory atau NULL, jika pembuatan pustaka transisi gagal.
IUIAnimationTransitionFactory* GetUITransitionFactory();
Tampilkan Nilai
Pointer ke IUIAnimationTransitionFactory atau NULL, jika pembuatan pabrik transisi gagal.
Keterangan
Jika OS saat ini tidak mendukung Windows Animation API, metode ini mengembalikan NULL dan setelah itu semua panggilan berikutnya di CAnimationController::IsValid mengembalikan FALSE.
CAnimationController::GetUITransitionLibrary
Menyediakan akses ke objek IUIAnimationTransitionLibrary yang dienkapsulasi.
IUIAnimationTransitionLibrary* GetUITransitionLibrary();
Tampilkan Nilai
Penunjuk ke antarmuka IUIAnimationTransitionLibrary atau NULL, jika pembuatan pustaka transisi gagal.
Keterangan
Jika OS saat ini tidak mendukung Windows Animation API, metode ini mengembalikan NULL dan setelah itu semua panggilan berikutnya di CAnimationController::IsValid mengembalikan FALSE.
CAnimationController::IsAnimationInProgress
Memberi tahu apakah setidaknya satu grup sedang memutar animasi.
virtual BOOL IsAnimationInProgress();
Tampilkan Nilai
TRUE jika ada animasi yang sedang berlangsung untuk pengontrol animasi ini; jika tidak FALSE.
Keterangan
Memeriksa status manajer animasi dan mengembalikan TRUE jika statusnya UI_ANIMATION_MANAGER_BUSY.
CAnimationController::IsValid
Memberi tahu apakah pengontrol animasi valid.
BOOL IsValid() const;
Tampilkan Nilai
TRUE jika pengontrol animasi valid; jika tidak FALSE.
Keterangan
Metode ini mengembalikan FALSE hanya jika WINDOWS Animation API tidak didukung pada OS saat ini dan pembuatan manajer animasi gagal karena tidak terdaftar. Anda perlu memanggil GetUIAnimationManager setidaknya sekali setelah inisialisasi pustaka COM untuk menyebabkan pengaturan bendera ini.
CAnimationController::m_bIsValid
Menentukan apakah pengontrol animasi valid atau tidak. Anggota ini diatur ke FALSE jika OS saat ini tidak mendukung Windows Animation API.
BOOL m_bIsValid;
CAnimationController::m_lstAnimationGroups
Daftar grup animasi yang termasuk dalam pengontrol animasi ini.
CList<CAnimationGroup*, CAnimationGroup*> m_lstAnimationGroups;
CAnimationController::m_pAnimationManager
Menyimpan penunjuk ke objek COM Manajer Animasi.
ATL::CComPtr<IUIAnimationManager> m_pAnimationManager;
CAnimationController::m_pAnimationTimer
Menyimpan penunjuk ke objek COM Pengawas Animasi.
ATL::CComPtr<IUIAnimationTimer> m_pAnimationTimer;
CAnimationController::m_pRelatedWnd
Penunjuk ke objek CWnd terkait, yang dapat secara otomatis digambar ulang ketika status manajer animasi telah berubah, atau peristiwa pembaruan pasca terjadi. Bisa NULL.
CWnd* m_pRelatedWnd;
CAnimationController::m_pTransitionFactory
Menyimpan penunjuk ke objek COM Transition Factory.
ATL::CComPtr<IUIAnimationTransitionFactory> m_pTransitionFactory;
CAnimationController::m_pTransitionLibrary
Menyimpan penunjuk ke objek COM Pustaka Transisi.
ATL::CComPtr<IUIAnimationTransitionLibrary> m_pTransitionLibrary;
CAnimationController::OnAfterSchedule
Dipanggil oleh kerangka kerja ketika animasi untuk grup yang ditentukan baru saja dijadwalkan.
virtual void OnAfterSchedule(CAnimationGroup* pGroup);
Parameter
pGroup
Penunjuk ke grup animasi, yang telah dijadwalkan.
Keterangan
Implementasi default menghapus keyframe dari grup dan transisi yang ditentukan dari variabel animasi yang termasuk dalam grup yang ditentukan. Dapat ditimpa di kelas turunan untuk mengambil tindakan tambahan apa pun pada jadwal animasi.
CAnimationController::OnAnimationIntegerValueChanged
Dipanggil oleh kerangka kerja ketika nilai bilangan bulat variabel animasi telah berubah.
virtual void OnAnimationIntegerValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
INT32 newValue,
INT32 prevValue);
Parameter
pGroup
Penunjuk ke grup animasi yang menyimpan objek animasi yang nilainya telah berubah.
pObject
Penunjuk ke objek animasi yang berisi variabel animasi yang nilainya telah berubah.
variabel
Penunjuk ke variabel animasi.
nilainilai baru
Menentukan nilai baru.
prevValue
Menentukan nilai sebelumnya.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa variabel animasi dengan EnableIntegerValueChangedEvent yang dipanggil untuk variabel animasi atau objek animasi tertentu. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi.
CAnimationController::OnAnimationManagerStatusChanged
Dipanggil oleh kerangka kerja sebagai respons terhadap peristiwa StatusChanged dari manajer animasi.
virtual void OnAnimationManagerStatusChanged(
UI_ANIMATION_MANAGER_STATUS newStatus,
UI_ANIMATION_MANAGER_STATUS previousStatus);
Parameter
newStatus
Status manajer animasi baru.
previousStatus
Status manajer animasi sebelumnya.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa manajer animasi dengan EnableAnimationManagerEvent. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi. Implementasi default memperbarui jendela terkait jika telah diatur dengan SetRelatedWnd.
CAnimationController::OnAnimationTimerPostUpdate
Dipanggil oleh kerangka kerja setelah pembaruan animasi selesai.
virtual void OnAnimationTimerPostUpdate();
Keterangan
Metode ini dipanggil jika Anda mengaktifkan penanganan aktivitas pengatur waktu menggunakan EnableAnimationTimerEventHandler. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi.
CAnimationController::OnAnimationTimerPreUpdate
Dipanggil oleh kerangka kerja sebelum pembaruan animasi dimulai.
virtual void OnAnimationTimerPreUpdate();
Keterangan
Metode ini dipanggil jika Anda mengaktifkan penanganan aktivitas pengatur waktu menggunakan EnableAnimationTimerEventHandler. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi.
CAnimationController::OnAnimationTimerRenderingTooSlow
Dipanggil oleh kerangka kerja ketika kecepatan bingkai penyajian untuk animasi berada di bawah kecepatan bingkai minimum yang diinginkan.
virtual void OnAnimationTimerRenderingTooSlow(UINT32 fps);
Parameter
Fps
Kecepatan bingkai saat ini dalam bingkai per detik.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan penanganan aktivitas pengatur waktu menggunakan EnableAnimationTimerEventHandler. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi. Kecepatan bingkai minimum yang diinginkan ditentukan dengan memanggil IUIAnimationTimer::SetFrameRateThreshold.
CAnimationController::OnAnimationValueChanged
Dipanggil oleh kerangka kerja ketika nilai variabel animasi telah berubah.
virtual void OnAnimationValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
DOUBLE newValue,
DOUBLE prevValue);
Parameter
pGroup
Penunjuk ke grup animasi yang menyimpan objek animasi yang nilainya telah berubah.
pObject
Penunjuk ke objek animasi yang berisi variabel animasi yang nilainya telah berubah.
variabel
Penunjuk ke variabel animasi.
nilainilai baru
Menentukan nilai baru.
prevValue
Menentukan nilai sebelumnya.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa variabel animasi dengan EnableValueChangedEvent yang dipanggil untuk variabel animasi atau objek animasi tertentu. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi.
CAnimationController::OnBeforeAnimationStart
Dipanggil oleh kerangka kerja tepat sebelum animasi dijadwalkan.
virtual void OnBeforeAnimationStart(CAnimationGroup* pGroup);
Parameter
pGroup
Penunjuk ke grup animasi yang animasinya akan dimulai.
Keterangan
Panggilan ini dirutekan ke CWnd terkait dan dapat ditimpa di kelas turunan untuk melakukan tindakan tambahan sebelum animasi dimulai untuk grup yang ditentukan.
CAnimationController::OnHasPriorityCancel
Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan.
virtual BOOL OnHasPriorityCancel(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parameter
pGroupScheduled
Grup yang memiliki papan cerita terjadwal saat ini.
pGroupNew
Grup yang memiliki papan cerita baru yang sedang menjadwalkan konflik dengan papan cerita terjadwal yang dimiliki oleh pGroupScheduled.
priorityEffect
Efek potensial pada pGroupNew jika pGroupScheduled memiliki prioritas yang lebih tinggi.
Tampilkan Nilai
Harus mengembalikan TRUE jika storyboard yang dimiliki oleh pGroupNew memiliki prioritas. Harus mengembalikan FALSE jika storyboard yang dimiliki oleh pGroupScheduled memiliki prioritas.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa perbandingan prioritas menggunakan CAnimationController::EnablePriorityComparisonHandler dan menentukan UI_ANIMATION_PHT_CANCEL. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi. Baca dokumentasi WINDOWS Animation API untuk informasi selengkapnya tentang Manajemen Konflik.
CAnimationController::OnHasPriorityCompress
Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan.
virtual BOOL OnHasPriorityCompress(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parameter
pGroupScheduled
Grup yang memiliki papan cerita terjadwal saat ini.
pGroupNew
Grup yang memiliki papan cerita baru yang sedang menjadwalkan konflik dengan papan cerita terjadwal yang dimiliki oleh pGroupScheduled.
priorityEffect
Efek potensial pada pGroupNew jika pGroupScheduled memiliki prioritas yang lebih tinggi.
Tampilkan Nilai
Harus mengembalikan TRUE jika storyboard yang dimiliki oleh pGroupNew memiliki prioritas. Harus mengembalikan FALSE jika storyboard yang dimiliki oleh pGroupScheduled memiliki prioritas.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa perbandingan prioritas menggunakan CAnimationController::EnablePriorityComparisonHandler dan menentukan UI_ANIMATION_PHT_COMPRESS. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi. Baca dokumentasi WINDOWS Animation API untuk informasi selengkapnya tentang Manajemen Konflik.
CAnimationController::OnHasPriorityConclude
Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan.
virtual BOOL OnHasPriorityConclude(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parameter
pGroupScheduled
Grup yang memiliki papan cerita terjadwal saat ini.
pGroupNew
Grup yang memiliki papan cerita baru yang sedang menjadwalkan konflik dengan papan cerita terjadwal yang dimiliki oleh pGroupScheduled.
priorityEffect
Efek potensial pada pGroupNew jika pGroupScheduled memiliki prioritas yang lebih tinggi.
Tampilkan Nilai
Harus mengembalikan TRUE jika storyboard yang dimiliki oleh pGroupNew memiliki prioritas. Harus mengembalikan FALSE jika storyboard yang dimiliki oleh pGroupScheduled memiliki prioritas.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa perbandingan prioritas menggunakan CAnimationController::EnablePriorityComparisonHandler dan menentukan UI_ANIMATION_PHT_CONCLUDE. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi. Baca dokumentasi WINDOWS Animation API untuk informasi selengkapnya tentang Manajemen Konflik.
CAnimationController::OnHasPriorityTrim
Dipanggil oleh kerangka kerja untuk mengatasi konflik penjadwalan.
virtual BOOL OnHasPriorityTrim(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parameter
pGroupScheduled
Grup yang memiliki papan cerita terjadwal saat ini.
pGroupNew
Grup yang memiliki papan cerita baru yang sedang menjadwalkan konflik dengan papan cerita terjadwal yang dimiliki oleh pGroupScheduled.
priorityEffect
Efek potensial pada pGroupNew jika pGroupScheduled memiliki prioritas yang lebih tinggi.
Tampilkan Nilai
Harus mengembalikan TRUE jika storyboard yang dimiliki oleh pGroupNew memiliki prioritas. Harus mengembalikan FALSE jika storyboard yang dimiliki oleh pGroupScheduled memiliki prioritas.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa perbandingan prioritas menggunakan CAnimationController::EnablePriorityComparisonHandler dan menentukan UI_ANIMATION_PHT_TRIM. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi. Baca dokumentasi WINDOWS Animation API untuk informasi selengkapnya tentang Manajemen Konflik.
CAnimationController::OnStoryboardStatusChanged
Dipanggil oleh kerangka kerja ketika status papan cerita telah berubah.
virtual void OnStoryboardStatusChanged(
CAnimationGroup* pGroup,
UI_ANIMATION_STORYBOARD_STATUS newStatus,
UI_ANIMATION_STORYBOARD_STATUS previousStatus);
Parameter
pGroup
Penunjuk ke grup animasi yang memiliki papan cerita yang statusnya telah berubah.
newStatus
Menentukan status baru.
previousStatus
Menentukan status sebelumnya.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa papan cerita menggunakan CAnimationController::EnableStoryboardEventHandler. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi.
CAnimationController::OnStoryboardUpdated
Dipanggil oleh kerangka kerja ketika papan cerita telah diperbarui.
virtual void OnStoryboardUpdated(CAnimationGroup* pGroup);
Parameter
pGroup
Penunjuk ke grup yang memiliki papan cerita.
Keterangan
Metode ini dipanggil jika Anda mengaktifkan peristiwa papan cerita menggunakan CAnimationController::EnableStoryboardEventHandler. Ini dapat ditimpa dalam kelas turunan untuk mengambil tindakan khusus aplikasi.
CAnimationController::RemoveAllAnimationGroups
Menghapus semua grup animasi dari pengontrol animasi.
void RemoveAllAnimationGroups();
Keterangan
Semua grup akan dihapus, penunjuknya, jika disimpan di tingkat aplikasi, harus dibatalkan. Jika CAnimationGroup::m_bAutodestroyAnimationObjects untuk grup yang dihapus adalah TRUE, semua objek animasi yang termasuk dalam grup tersebut akan dihapus; jika tidak, referensi mereka ke pengontrol animasi induk akan diatur ke NULL dan dapat ditambahkan ke pengontrol lain.
CAnimationController::RemoveAnimationGroup
Menghapus grup animasi dengan ID yang ditentukan dari pengontrol animasi.
void RemoveAnimationGroup(UINT32 nGroupID);
Parameter
nGroupID
Menentukan ID grup animasi.
Keterangan
Metode ini menghapus grup animasi dari daftar grup internal dan menghapusnya, oleh karena itu jika Anda menyimpan penunjuk ke grup animasi tersebut, itu harus dibatalkan. Jika CAnimationGroup::m_bAutodestroyAnimationObjects TRUE, semua objek animasi yang termasuk dalam grup tersebut akan dihapus; jika tidak, referensi mereka ke pengontrol animasi induk akan diatur ke NULL dan dapat ditambahkan ke pengontrol lain.
CAnimationController::RemoveAnimationObject
Hapus objek animasi dari pengontrol animasi.
void RemoveAnimationObject(
CAnimationBaseObject* pObject,
BOOL bNoDelete = FALSE);
Parameter
pObject
Penunjuk ke objek animasi.
bNoDelete
Jika parameter ini TRUE, objek tidak akan dihapus saat dihapus.
Keterangan
Menghapus objek animasi dari pengontrol animasi dan grup animasi. Panggil fungsi ini jika objek tertentu tidak boleh dianimasikan lagi, atau jika Anda perlu memindahkan objek ke pengontrol animasi lain. Dalam kasus terakhir bNoDelete harus TRUE.
CAnimationController::RemoveTransitions
Menghapus transisi dari objek animasi yang termasuk dalam grup yang ditentukan.
void RemoveTransitions(UINT32 nGroupID);
Parameter
nGroupID
Menentukan ID Grup.
Keterangan
Grup mengulangi objek animasinya dan memanggil ClearTransitions(FALSE) untuk setiap objek animasi. Metode ini dipanggil oleh kerangka kerja setelah animasi dijadwalkan.
CAnimationController::ScheduleGroup
Menjadwalkan animasi.
BOOL ScheduleGroup(
UINT32 nGroupID,
UI_ANIMATION_SECONDS time = 0.0);
Parameter
nGroupID
Menentukan ID Grup animasi yang akan dijadwalkan.
time
Menentukan waktu untuk menjadwalkan.
Tampilkan Nilai
TRUE jika animasi berhasil dijadwalkan. FALSE jika papan cerita belum dibuat, atau terjadi kesalahan lainnya.
Keterangan
Anda harus memanggil AnimateGroup dengan parameter bScheduleNow diatur ke FALSE sebelum ScheduleGroup. Anda dapat menentukan waktu animasi yang diinginkan yang diperoleh dari IUIAnimationTimer::GetTime. Jika parameter waktu adalah 0,0, animasi dijadwalkan untuk waktu saat ini.
CAnimationController::SetRelatedWnd
Membangun hubungan antara pengontrol animasi dan jendela.
void SetRelatedWnd(CWnd* pWnd);
Parameter
pWnd
Penunjuk ke objek jendela yang akan diatur.
Keterangan
Jika objek CWnd terkait diatur, pengontrol animasi dapat memperbaruinya secara otomatis (mengirim pesan WM_PAINT) ketika status manajer animasi telah berubah atau peristiwa pembaruan pasca timer telah terjadi.
CAnimationController::UpdateAnimationManager
Mengarahkan manajer animasi untuk memperbarui nilai semua variabel animasi.
virtual void UpdateAnimationManager();
Keterangan
Memanggil metode ini memajukan manajer animasi ke waktu saat ini, mengubah status papan cerita seperlunya dan memperbarui variabel animasi apa pun ke nilai terinterpolasi yang sesuai. Secara internal metode ini memanggil IUIAnimationTimer::GetTime(timeNow) dan IUIAnimationManager::Update(timeNow). Ambil alih metode ini dalam kelas turunan untuk menyesuaikan perilaku ini.