#pragma once #include #include "CoverFlowRecyclerViewBase.h" #include "animation/Animator.h" class CoverFlowRecyclerView : public CoverFlowRecyclerViewBase { public: void Update() override; void Draw(GraphicsContext& graphicsContext) override; private: struct ViewPoolEntryEx { Animator yAngleAnimator; Animator> xPositionAnimator; Animator> zPositionAnimator; }; std::array _viewPoolEx; void UpdateItemPosition(int viewPoolIndex, bool initial) override; void SwapViewPoolEntry(int indexA, int indexB) override { CoverFlowRecyclerViewBase::SwapViewPoolEntry(indexA, indexB); std::swap(_viewPoolEx[indexA], _viewPoolEx[indexB]); } };