AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
ARotationAnimator.h
1/*
2 * AUI Framework - Declarative UI toolkit for modern C++20
3 * Copyright (C) 2020-2024 Alex2772 and Contributors
4 *
5 * SPDX-License-Identifier: MPL-2.0
6 *
7 * This Source Code Form is subject to the terms of the Mozilla Public
8 * License, v. 2.0. If a copy of the MPL was not distributed with this
9 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 */
11
12#pragma once
13
14
15#include <AUI/Render/IRenderer.h>
16#include "AAnimator.h"
17#include "AUI/Util/AAngleRadians.h"
18
19class API_AUI_VIEWS ARotationAnimator: public AAnimator {
20public:
21 ARotationAnimator(AAngleRadians begin, AAngleRadians end) : mBegin(begin), mEnd(end) {}
22
23 void doAnimation(AView* view, float theta, IRenderer& render) override;
24
25private:
26 AAngleRadians mBegin;
27 AAngleRadians mEnd;
28};
29
Strong type used to store angle in radians.
Definition: AAngleRadians.h:42
Definition: AAnimator.h:26
virtual void doAnimation(AView *view, float theta, IRenderer &render)
Does the animation (sets matrix, colors, etc...)
Definition: AAnimator.h:45
Definition: ARotationAnimator.h:19
Base class of all UI objects.
Definition: AView.h:77
Base class for rendering.
Definition: IRenderer.h:149