Windows-classic-samples/Samples/DynamicDPI/cpp/LinearEaseInOutAnimation.h
2025-11-28 00:35:46 +09:00

35 lines
1.0 KiB
C++

//// 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
// <summary>
// This fade in/out animation is used when the user hovers over application UI such as buttons.
// </summary>
class CLinearEaseInOutAnimation
{
private:
bool m_complete;
bool m_infinite;
bool m_goBackwards;
float m_currentTime;
float m_currentValue;
float m_begin;
float m_change;
float m_duration;
float LinearEaseInOut(_In_ float time, _In_ float begin, _In_ float change, _In_ float duration);
public:
CLinearEaseInOutAnimation();
CLinearEaseInOutAnimation(_In_ float begin, _In_ float change, _In_ float duration, _In_ bool infinite);
~CLinearEaseInOutAnimation(void);
float GetCurrentValue();
void Tick();
bool IsComplete();
};