mirror of
https://github.com/lostjared/Acid.Cam.v2.Qt.git
synced 2025-12-21 14:20:03 +01:00
added combo, radio buttons and working on getting the interface to work with filter transitions
This commit is contained in:
@@ -54,8 +54,8 @@ AC_MainWindow::AC_MainWindow(QWidget *parent) : QMainWindow(parent) {
|
||||
programMode = MODE_CAMERA;
|
||||
init_plugins();
|
||||
generate_map();
|
||||
setGeometry(100, 100, 800, 800);
|
||||
setFixedSize(800, 800);
|
||||
setGeometry(100, 100, 800, 700);
|
||||
setFixedSize(800, 700);
|
||||
setWindowTitle(tr("Acid Cam v2 - Qt"));
|
||||
createControls();
|
||||
createMenu();
|
||||
@@ -84,14 +84,18 @@ AC_MainWindow::AC_MainWindow(QWidget *parent) : QMainWindow(parent) {
|
||||
|
||||
void AC_MainWindow::createControls() {
|
||||
|
||||
/*
|
||||
filters = new QListWidget(this);
|
||||
filters->setGeometry(10, 30, 390, 180);
|
||||
filters->show();
|
||||
|
||||
*/
|
||||
custom_filters = new QListWidget(this);
|
||||
custom_filters->setGeometry(400, 30, 390, 180);
|
||||
custom_filters->show();
|
||||
|
||||
filters = new QComboBox(this);
|
||||
filters->setGeometry(10, 105, 380, 30);
|
||||
|
||||
for(int i = 0; i < ac::draw_max-4; ++i) {
|
||||
filters->addItem(ac::draw_strings[i].c_str());
|
||||
}
|
||||
@@ -107,6 +111,16 @@ void AC_MainWindow::createControls() {
|
||||
filters->addItem(name.c_str());
|
||||
}
|
||||
|
||||
connect(filters, SIGNAL(currentIndexChanged(int)), this, SLOT(comboFilterChanged(int)));
|
||||
|
||||
filter_single = new QRadioButton(tr("Single Filter"), this);
|
||||
filter_single->setGeometry(30, 40, 100, 15);
|
||||
|
||||
filter_custom = new QRadioButton(tr("Custom Filter"), this);
|
||||
filter_custom->setGeometry(30, 65, 100, 15);
|
||||
|
||||
filter_single->setChecked(true);
|
||||
|
||||
btn_add = new QPushButton(tr("Add"), this);
|
||||
btn_remove = new QPushButton(tr("Remove"), this);
|
||||
btn_moveup = new QPushButton(tr("Move Up"), this);
|
||||
@@ -201,7 +215,7 @@ void AC_MainWindow::createControls() {
|
||||
connect(color_maps, SIGNAL(currentIndexChanged(int)), this, SLOT(colorMapChanged(int)));
|
||||
|
||||
log_text = new QTextEdit(this);
|
||||
log_text->setGeometry(10, 450, 780,310);
|
||||
log_text->setGeometry(10, 325, 780,310);
|
||||
log_text->setReadOnly(true);
|
||||
|
||||
|
||||
@@ -210,7 +224,7 @@ void AC_MainWindow::createControls() {
|
||||
text += " loaded.\n";
|
||||
log_text->setText(text);
|
||||
|
||||
filters->setCurrentRow(0);
|
||||
filters->setCurrentIndex(0);
|
||||
|
||||
chk_negate = new QCheckBox(tr("Negate"), this);
|
||||
chk_negate->setGeometry(120,215,100, 20);
|
||||
@@ -228,7 +242,7 @@ void AC_MainWindow::createControls() {
|
||||
setWindowIcon(QPixmap(":/images/icon.png"));
|
||||
|
||||
progress_bar = new QProgressBar(this);
|
||||
progress_bar->setGeometry(0, 760, 800, 20);
|
||||
progress_bar->setGeometry(0, 640, 800, 20);
|
||||
progress_bar->setMinimum(0);
|
||||
progress_bar->setMaximum(100);
|
||||
progress_bar->hide();
|
||||
@@ -323,14 +337,19 @@ void AC_MainWindow::colorMapChanged(int pos) {
|
||||
playback->setColorMap(pos);
|
||||
}
|
||||
|
||||
void AC_MainWindow::comboFilterChanged(int pos) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
void AC_MainWindow::addClicked() {
|
||||
int row = filters->currentRow();
|
||||
int row = filters->currentIndex();
|
||||
if(row != -1) {
|
||||
QListWidgetItem *item = filters->item(row);
|
||||
custom_filters->addItem(item->text());
|
||||
//QListWidgetItem *item = filters->item(row);
|
||||
custom_filters->addItem(filters->currentText());
|
||||
QString qs;
|
||||
QTextStream stream(&qs);
|
||||
stream << "Added Filter: " << item->text() << "\n";
|
||||
stream << "Added Filter: " << filters->currentText() << "\n";
|
||||
Log(qs);
|
||||
std::vector<std::pair<int, int>> v;
|
||||
buildVector(v);
|
||||
|
||||
@@ -21,18 +21,19 @@ public:
|
||||
void Log(const QString &s);
|
||||
bool startCamera(int res, int dev, const QString &outdir, bool record, int type);
|
||||
bool startVideo(const QString &filename, const QString &outdir, bool record, int type);
|
||||
QListWidget *filters, *custom_filters;
|
||||
QListWidget /**filters,*/ *custom_filters;
|
||||
QPushButton *btn_add, *btn_remove, *btn_moveup, *btn_movedown;
|
||||
QTextEdit *log_text;
|
||||
QCheckBox *chk_negate;
|
||||
QComboBox *combo_rgb;
|
||||
QSlider *slide_r, *slide_g, *slide_b, *slide_bright, *slide_gamma, *slide_saturation;
|
||||
QProgressBar *progress_bar;
|
||||
QComboBox *color_maps;
|
||||
QComboBox *color_maps, *filters;
|
||||
QMenu *file_menu, *controls_menu, *help_menu;
|
||||
QAction *file_exit, *file_new_capture, *file_new_video;
|
||||
QAction *controls_snapshot, *controls_pause, *controls_step, *controls_stop, *controls_setimage, *controls_showvideo;
|
||||
QAction *help_about;
|
||||
QRadioButton *filter_single, *filter_custom;
|
||||
public slots:
|
||||
void addClicked();
|
||||
void rmvClicked();
|
||||
@@ -56,6 +57,7 @@ public slots:
|
||||
void slideChanged(int pos);
|
||||
void colorChanged(int pos);
|
||||
void colorMapChanged(int pos);
|
||||
void comboFilterChanged(int pos);
|
||||
private:
|
||||
void createControls();
|
||||
void createMenu();
|
||||
|
||||
@@ -12,6 +12,7 @@ Playback::Playback(QObject *parent) : QThread(parent) {
|
||||
isStep = false;
|
||||
isPaused = false;
|
||||
bright_ = gamma_ = saturation_ = 0;
|
||||
single_mode = true;
|
||||
}
|
||||
|
||||
void Playback::Play() {
|
||||
@@ -20,8 +21,8 @@ void Playback::Play() {
|
||||
stop = false;
|
||||
}
|
||||
}
|
||||
//start(LowPriority);
|
||||
start(HighPriority);
|
||||
start(LowPriority);
|
||||
//start(HighPriority);
|
||||
}
|
||||
|
||||
void Playback::setVideo(cv::VideoCapture cap, cv::VideoWriter wr, bool record) {
|
||||
@@ -109,6 +110,10 @@ void Playback::setColorOptions(int b, int g, int s) {
|
||||
mutex.unlock();
|
||||
}
|
||||
|
||||
void Playback::setIndexChanged(int pos) {
|
||||
|
||||
}
|
||||
|
||||
void Playback::setRGB(int r, int g, int b) {
|
||||
mutex.lock();
|
||||
ac::swapColor_r = r;
|
||||
|
||||
@@ -33,6 +33,7 @@ private:
|
||||
int device_num;
|
||||
unsigned int red, green, blue;
|
||||
unsigned int bright_, gamma_, saturation_;
|
||||
bool single_mode;
|
||||
public:
|
||||
Playback(QObject *parent = 0);
|
||||
~Playback();
|
||||
@@ -52,6 +53,7 @@ public:
|
||||
void setImage(const cv::Mat &image);
|
||||
void setStep();
|
||||
void setDisplayed(bool shown);
|
||||
void setIndexChanged(int pos);
|
||||
signals:
|
||||
void procImage(const QImage image);
|
||||
void stopRecording();
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include<QDir>
|
||||
#include<QFile>
|
||||
#include<QProgressBar>
|
||||
#include<QRadioButton>
|
||||
#include"ac.h"
|
||||
#include"fractal.h"
|
||||
#include<unordered_map>
|
||||
|
||||
Reference in New Issue
Block a user