#include <movit/resource_pool.h>
#include <movit/util.h>
-#include "context.h"
+#include "shared/context.h"
#include "flags.h"
#include "mixer.h"
#include "ui_analyzer.h"
context = create_context(surface);
if (!make_current(context, surface)) {
printf("oops\n");
- exit(1);
+ abort();
}
grab_timer.setSingleShot(true);
if (!make_current(context, surface)) {
printf("oops\n");
- exit(1);
+ abort();
}
glDeleteBuffers(1, &pbo);
check_error();
if (!make_current(context, surface)) {
printf("oops\n");
- exit(1);
+ abort();
}
Mixer::DisplayFrame frame;
void Analyzer::grab_pixel(int x, int y)
{
- const QPixmap *pixmap = ui->grabbed_frame_label->pixmap();
- if (pixmap != nullptr) {
- x = lrint(x * double(pixmap->width()) / ui->grabbed_frame_label->width());
- y = lrint(y * double(pixmap->height()) / ui->grabbed_frame_label->height());
- x = std::min(x, pixmap->width() - 1);
- y = std::min(y, pixmap->height() - 1);
-
- char buf[256];
- snprintf(buf, sizeof(buf), "Selected coordinate (x,y): (%d,%d)", x, y);
- ui->coord_label->setText(buf);
-
- QRgb pixel = grabbed_image.pixel(x, y);
- ui->red_label->setText(QString::fromStdString(to_string(qRed(pixel))));
- ui->green_label->setText(QString::fromStdString(to_string(qGreen(pixel))));
- ui->blue_label->setText(QString::fromStdString(to_string(qBlue(pixel))));
-
- snprintf(buf, sizeof(buf), "#%02x%02x%02x", qRed(pixel), qGreen(pixel), qBlue(pixel));
- ui->hex_label->setText(buf);
- }
+ QPixmap pixmap = ui->grabbed_frame_label->pixmap(Qt::ReturnByValue);
+ x = lrint(x * double(pixmap.width()) / ui->grabbed_frame_label->width());
+ y = lrint(y * double(pixmap.height()) / ui->grabbed_frame_label->height());
+ x = std::min(x, pixmap.width() - 1);
+ y = std::min(y, pixmap.height() - 1);
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "Selected coordinate (x,y): (%d,%d)", x, y);
+ ui->coord_label->setText(buf);
+
+ QRgb pixel = grabbed_image.pixel(x, y);
+ ui->red_label->setText(QString::fromStdString(to_string(qRed(pixel))));
+ ui->green_label->setText(QString::fromStdString(to_string(qGreen(pixel))));
+ ui->blue_label->setText(QString::fromStdString(to_string(qBlue(pixel))));
+
+ snprintf(buf, sizeof(buf), "#%02x%02x%02x", qRed(pixel), qGreen(pixel), qBlue(pixel));
+ ui->hex_label->setText(buf);
}
void Analyzer::resizeEvent(QResizeEvent* event)