mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-19 13:15:45 -04:00
PostProcessing: Split into internal and display chains
This commit is contained in:
@ -1,26 +1,36 @@
|
||||
// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
|
||||
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ui_postprocessingsettingswidget.h"
|
||||
#include "ui_postprocessingchainconfigwidget.h"
|
||||
|
||||
#include "util/postprocessing.h"
|
||||
|
||||
#include <QtWidgets/QTableWidget>
|
||||
#include <QtWidgets/QWidget>
|
||||
|
||||
class SettingsWindow;
|
||||
class PostProcessingShaderConfigWidget;
|
||||
|
||||
class PostProcessingSettingsWidget : public QWidget
|
||||
class PostProcessingSettingsWidget : public QTabWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PostProcessingSettingsWidget(SettingsWindow* dialog, QWidget* parent);
|
||||
~PostProcessingSettingsWidget();
|
||||
};
|
||||
|
||||
class PostProcessingChainConfigWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend PostProcessingShaderConfigWidget;
|
||||
|
||||
public:
|
||||
PostProcessingSettingsWidget(SettingsWindow* dialog, QWidget* parent);
|
||||
~PostProcessingSettingsWidget();
|
||||
PostProcessingChainConfigWidget(SettingsWindow* dialog, QWidget* parent, const char* section);
|
||||
~PostProcessingChainConfigWidget();
|
||||
|
||||
private Q_SLOTS:
|
||||
void onAddButtonClicked();
|
||||
@ -44,7 +54,9 @@ private:
|
||||
|
||||
SettingsWindow* m_dialog;
|
||||
|
||||
Ui::PostProcessingSettingsWidget m_ui;
|
||||
Ui::PostProcessingChainConfigWidget m_ui;
|
||||
|
||||
const char* m_section;
|
||||
|
||||
PostProcessingShaderConfigWidget* m_shader_config = nullptr;
|
||||
};
|
||||
@ -54,8 +66,8 @@ class PostProcessingShaderConfigWidget : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PostProcessingShaderConfigWidget(QWidget* parent, PostProcessingSettingsWidget* widget, u32 stage_index,
|
||||
std::vector<PostProcessing::ShaderOption> options);
|
||||
PostProcessingShaderConfigWidget(QWidget* parent, PostProcessingChainConfigWidget* widget, const char* section,
|
||||
u32 stage_index, std::vector<PostProcessing::ShaderOption> options);
|
||||
~PostProcessingShaderConfigWidget();
|
||||
|
||||
private Q_SLOTS:
|
||||
@ -67,9 +79,10 @@ protected:
|
||||
|
||||
QGridLayout* m_layout;
|
||||
|
||||
PostProcessingSettingsWidget* m_widget;
|
||||
PostProcessingChainConfigWidget* m_widget;
|
||||
std::vector<QWidget*> m_widgets;
|
||||
|
||||
const char* m_section;
|
||||
u32 m_stage_index;
|
||||
std::vector<PostProcessing::ShaderOption> m_options;
|
||||
};
|
||||
|
Reference in New Issue
Block a user