// 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 timer events class CTimerEventHandler : public CUIAnimationTimerEventHandlerBase { public: static HRESULT CreateInstance ( CMainWindow *pMainWindow, IUIAnimationTimerEventHandler **ppTimerEventHandler ) throw() { CTimerEventHandler *pTimerEventHandler; HRESULT hr = CUIAnimationCallbackBase::CreateInstance( ppTimerEventHandler, &pTimerEventHandler ); if (SUCCEEDED(hr)) { pTimerEventHandler->m_pMainWindow = pMainWindow; } return hr; } // IUIAnimationTimerEventHandler IFACEMETHODIMP OnPreUpdate() { return S_OK; } IFACEMETHODIMP OnPostUpdate() { HRESULT hr = m_pMainWindow->Invalidate(); return hr; } IFACEMETHODIMP OnRenderingTooSlow ( UINT32 /* fps */ ) { return S_OK; } protected: CTimerEventHandler() : m_pMainWindow(NULL) { } CMainWindow *m_pMainWindow; };