// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A // PARTICULAR PURPOSE. // // Copyright (c) Microsoft Corporation. All rights reserved #pragma once #include "UIAnimationHelper.h" // Event handler object for manager status changes class CManagerEventHandler : public CUIAnimationManagerEventHandlerBase { public: static HRESULT CreateInstance ( CMainWindow *pMainWindow, IUIAnimationManagerEventHandler **ppManagerEventHandler ) throw() { CManagerEventHandler *pManagerEventHandler; HRESULT hr = CUIAnimationCallbackBase::CreateInstance( ppManagerEventHandler, &pManagerEventHandler ); if (SUCCEEDED(hr)) { pManagerEventHandler->m_pMainWindow = pMainWindow; } return hr; } // IUIAnimationManagerEventHandler IFACEMETHODIMP OnManagerStatusChanged ( UI_ANIMATION_MANAGER_STATUS newStatus, UI_ANIMATION_MANAGER_STATUS previousStatus ) { HRESULT hr = S_OK; if (newStatus == UI_ANIMATION_MANAGER_BUSY) { hr = m_pMainWindow->Invalidate(); } return hr; } protected: CManagerEventHandler() : m_pMainWindow(NULL) { } CMainWindow *m_pMainWindow; };