mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
67e09de085
Load the setting's cameria preview opengl context lazily and destroy it when done. Only preallocte Core's video buffer if we have any calls active, free up when all calls are done
82 lines
2.2 KiB
C++
82 lines
2.2 KiB
C++
/*
|
|
Copyright (C) 2014 by Project Tox <https://tox.im>
|
|
|
|
This file is part of qTox, a Qt-based graphical interface for Tox.
|
|
|
|
This program is libre software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
See the COPYING file for more details.
|
|
*/
|
|
|
|
#ifndef AVFORM_H
|
|
#define AVFORM_H
|
|
|
|
#include "genericsettings.h"
|
|
#include "src/widget/videosurface.h"
|
|
#include "src/video/camera.h"
|
|
#include <QGroupBox>
|
|
#include <QVBoxLayout>
|
|
#include <QPushButton>
|
|
|
|
namespace Ui {
|
|
class AVSettings;
|
|
}
|
|
|
|
class Camera;
|
|
|
|
class AVForm : public GenericForm
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
AVForm();
|
|
~AVForm();
|
|
virtual void present();
|
|
|
|
private:
|
|
void getAudioInDevices();
|
|
void getAudioOutDevices();
|
|
|
|
void createVideoSurface();
|
|
void killVideoSurface();
|
|
|
|
private slots:
|
|
void on_ContrastSlider_sliderMoved(int position);
|
|
void on_SaturationSlider_sliderMoved(int position);
|
|
void on_BrightnessSlider_sliderMoved(int position);
|
|
void on_HueSlider_sliderMoved(int position);
|
|
void on_videoModescomboBox_currentIndexChanged(int index);
|
|
|
|
// audio
|
|
void onInDevChanged(const QString& deviceDescriptor);
|
|
void onOutDevChanged(const QString& deviceDescriptor);
|
|
void onFilterAudioToggled(bool filterAudio);
|
|
void on_playbackSlider_valueChanged(int value);
|
|
|
|
// camera
|
|
void onPropProbingFinished(Camera::Prop prop, double val);
|
|
void onResProbingFinished(QList<QSize> res);
|
|
|
|
virtual void hideEvent(QHideEvent*);
|
|
virtual void showEvent(QShowEvent*);
|
|
|
|
void on_HueSlider_valueChanged(int value);
|
|
void on_BrightnessSlider_valueChanged(int value);
|
|
void on_SaturationSlider_valueChanged(int value);
|
|
void on_ContrastSlider_valueChanged(int value);
|
|
|
|
protected:
|
|
bool eventFilter(QObject *o, QEvent *e);
|
|
|
|
private:
|
|
Ui::AVSettings *bodyUI;
|
|
VideoSurface* CamVideoSurface;
|
|
};
|
|
|
|
#endif
|