65 lines
1.7 KiB
C++
65 lines
1.7 KiB
C++
#ifndef MAINWINDOW_H
|
|
#define MAINWINDOW_H
|
|
|
|
#include <QMainWindow>
|
|
#include <QSlider>
|
|
#include <QPushButton>
|
|
#include <QLabel>
|
|
#include <QCheckBox>
|
|
#include "glwidget.h"
|
|
#include "videodecoder.h"
|
|
|
|
class MainWindow : public QMainWindow {
|
|
Q_OBJECT
|
|
public:
|
|
explicit MainWindow(QWidget *parent = nullptr);
|
|
~MainWindow() override;
|
|
void openVideoFileDirect(const QString &fileName);
|
|
|
|
private slots:
|
|
void openVideoFile();
|
|
void togglePlayPause();
|
|
void toggleMute();
|
|
void setVideoPosition(int position);
|
|
void onPositionChanged(qint64 positionMs);
|
|
void onPlaybackFinished();
|
|
|
|
// Slots de actualización de los sliders del Shader
|
|
void onCrtToggled(bool checked);
|
|
void onCurvatureChanged(int value);
|
|
void onScanlineDensityChanged(int value);
|
|
void onScanlineOpacityChanged(int value);
|
|
void onAberrationChanged(int value);
|
|
void onVignetteChanged(int value);
|
|
void onBrightnessChanged(int value);
|
|
|
|
private:
|
|
void setupUI();
|
|
|
|
GLWidget *m_glWidget;
|
|
VideoDecoder *m_videoDecoder;
|
|
bool m_updatingSeek;
|
|
|
|
// Elementos de la interfaz multimedia
|
|
QPushButton *m_playBtn;
|
|
QPushButton *m_muteBtn;
|
|
QSlider *m_seekBar;
|
|
QLabel *m_timeLabel;
|
|
|
|
// Sliders del Shader y sus etiquetas indicadoras
|
|
QCheckBox *m_crtCheckbox;
|
|
QSlider *m_curvatureSlider;
|
|
QLabel *m_curvatureLabel;
|
|
QSlider *m_scanlineDensitySlider;
|
|
QLabel *m_scanlineDensityLabel;
|
|
QSlider *m_scanlineOpacitySlider;
|
|
QLabel *m_scanlineOpacityLabel;
|
|
QSlider *m_aberrationSlider;
|
|
QLabel *m_aberrationLabel;
|
|
QSlider *m_vignetteSlider;
|
|
QLabel *m_vignetteLabel;
|
|
QSlider *m_brightnessSlider;
|
|
QLabel *m_brightnessLabel;
|
|
};
|
|
|
|
#endif // MAINWINDOW_H
|