File indexing completed on 2024-04-28 04:52:22

0001 /*
0002     SPDX-FileCopyrightText: 2010 Simon Andreas Eugster <simon.eu@gmail.com>
0003     This file is part of kdenlive. See www.kdenlive.org.
0004 
0005 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006 */
0007 
0008 #pragma once
0009 
0010 #include "abstractgfxscopewidget.h"
0011 #include "ui_rgbparade_ui.h"
0012 
0013 class QImage;
0014 class RGBParade_UI;
0015 class RGBParadeGenerator;
0016 
0017 /**
0018  * @brief Displays the RGB waveform of a frame.
0019  * This is the same as the Waveform, but for each colour channel separately.
0020  */
0021 class RGBParade : public AbstractGfxScopeWidget
0022 {
0023 public:
0024     explicit RGBParade(QWidget *parent = nullptr);
0025     ~RGBParade() override;
0026     QString widgetName() const override;
0027 
0028 protected:
0029     void readConfig() override;
0030     void writeConfig();
0031     QRect scopeRect() override;
0032 
0033 private:
0034     Ui::RGBParade_UI *m_ui;
0035     RGBParadeGenerator *m_rgbParadeGenerator;
0036 
0037     QAction *m_aAxis;
0038     QAction *m_aGradRef;
0039 
0040     bool isHUDDependingOnInput() const override;
0041     bool isScopeDependingOnInput() const override;
0042     bool isBackgroundDependingOnInput() const override;
0043 
0044     QImage renderHUD(uint accelerationFactor) override;
0045     QImage renderGfxScope(uint accelerationFactor, const QImage &) override;
0046     QImage renderBackground(uint accelerationFactor) override;
0047 };