Sayonara Player
Loading...
Searching...
No Matches
GUI_LevelPainter.h
1/* GUI_LevelPainter.h */
2
3/* Copyright (C) 2011-2024 Michael Lugmair (Lucio Carreras)
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef GUI_LEVELPAINTER_H
22#define GUI_LEVELPAINTER_H
23
24#include "VisualPlugin.h"
25#include "Interfaces/Engine/AudioDataReceiver.h"
26#include "Utils/Pimpl.h"
27
29
30UI_FWD(GUI_LevelPainter)
31
33 public VisualPlugin,
34 public Engine::LevelDataReceiver
35{
36 Q_OBJECT
37 UI_CLASS(GUI_LevelPainter)
38 PIMPL(GUI_LevelPainter)
39
40 public:
41 GUI_LevelPainter(LevelDataProvider* dataProvider, PlayManager* playManager, QWidget* parent = nullptr);
42 ~GUI_LevelPainter() override;
43
44 [[nodiscard]] QString name() const override;
45 [[nodiscard]] QString displayName() const override;
46 [[nodiscard]] bool isActive() const override;
47
48 protected:
49 void initUi() override;
50 void retranslate() override;
51
52 [[nodiscard]] QWidget* widget() override;
53 [[nodiscard]] bool hasSmallButtons() const override;
54 void finalizeInitialization() override;
55
56 [[nodiscard]] ColorStyle extractStyle(const RawColorStyle& rawColorStyle) const override;
57 bool applyStyle(const ColorStyle& colorStyle) override;
58
59 [[nodiscard]] int loadStyleIndex() const override;
60 void saveStyleIndex(int index) const override;
61 void paint() override;
62
63 [[nodiscard]] bool isFadeoutCompleted() const override;
64 void notifyDataProvider(bool isActive) override;
65
66 protected slots: // NOLINT(*-redundant-access-specifiers)
67 void doFadeoutStep() override;
68 void setLevel(float left, float right) override;
69
70 private:
71 void reload();
72};
73
74#endif // GUI_LEVELPAINTER_H
Definition GUI_LevelPainter.h:35
void initUi() override
GUI will be initialized on first show up. Please use this to make Sayonara starting fast.
QString name() const override
must be overwritten
QString displayName() const override
must be overwritten
Definition AudioDataProvider.h:35
Definition PlayManager.h:34
Definition VisualPlugin.h:39
Definition VisualStyleTypes.h:37
Definition VisualStyleTypes.h:58