// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #include "emorview.hpp" #include "libvideostitch/inputDef.hpp" #include "libvideostitch/emor.hpp" #include static const float emorViewSize = 189; EmorView::EmorView(QWidget *parent) : QWidget(parent), emorA(0.0), emorB(0.0), emorC(0.0), emorD(0.0), emorE(0.0) {} void EmorView::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setPen(QColor(95, 95, 95)); painter.drawRect(0, 0, emorViewSize, emorViewSize); VideoStitch::Core::EmorResponseCurve emorCurve(emorA, emorB, emorC, emorD, emorE); const float *responseCurve = emorCurve.getResponseCurve(); QPointF *qpoints = new QPointF[1024]; for (int i = 0; i < 1024; ++i) { qpoints[i].setX(float(i) / 1024 * emorViewSize); qpoints[i].setY((1 - responseCurve[i]) * emorViewSize); } painter.setRenderHint(QPainter::Antialiasing); painter.drawPolyline(qpoints, 1024); }