uhh yeah this might be fubar

This commit is contained in:
itsmattkc
2020-11-07 22:44:27 +11:00
parent 13dd31d5be
commit 83cefbd7c7
25 changed files with 1131 additions and 597 deletions
+12 -6
View File
@@ -22,6 +22,8 @@
#include <QMessageBox>
#include "render/backend/opengl/openglrenderer.h"
OLIVE_NAMESPACE_ENTER
ManagedDisplayWidget::ManagedDisplayWidget(QWidget *parent) :
@@ -30,6 +32,8 @@ ManagedDisplayWidget::ManagedDisplayWidget(QWidget *parent) :
color_service_(nullptr)
{
setContextMenuPolicy(Qt::CustomContextMenu);
attached_renderer_ = new OpenGLRenderer();
}
ManagedDisplayWidget::~ManagedDisplayWidget()
@@ -102,7 +106,7 @@ void ManagedDisplayWidget::ColorConfigChanged()
SetColorTransform(color_manager_->GetCompliantColorSpace(color_transform_, true));
}
OpenGLColorProcessorPtr ManagedDisplayWidget::color_service()
ColorProcessorPtr ManagedDisplayWidget::color_service()
{
return color_service_;
}
@@ -113,6 +117,8 @@ void ManagedDisplayWidget::ContextCleanup()
color_service_ = nullptr;
attached_renderer_->Destroy();
doneCurrent();
}
@@ -188,6 +194,8 @@ void ManagedDisplayWidget::initializeGL()
SetupColorProcessor();
connect(context(), &QOpenGLContext::aboutToBeDestroyed, this, &ManagedDisplayWidget::ContextCleanup, Qt::DirectConnection);
static_cast<OpenGLRenderer*>(attached_renderer_)->Init(context());
}
void ManagedDisplayWidget::EnableDefaultContextMenu()
@@ -280,11 +288,9 @@ void ManagedDisplayWidget::SetupColorProcessor()
try {
color_service_ = OpenGLColorProcessor::Create(color_manager_,
color_manager_->GetReferenceColorSpace(),
color_transform_);
color_service_->Enable(context(), true);
color_service_ = ColorProcessor::Create(color_manager_,
color_manager_->GetReferenceColorSpace(),
color_transform_);
} catch (OCIO::Exception& e) {
+8 -3
View File
@@ -23,7 +23,7 @@
#include <QOpenGLWidget>
#include "render/backend/opengl/openglcolorprocessor.h"
#include "render/backend/renderer.h"
#include "render/colormanager.h"
#include "widget/menu/menu.h"
@@ -98,7 +98,7 @@ protected:
/**
* @brief Provides access to the color processor (nullptr if none is set)
*/
OpenGLColorProcessorPtr color_service();
ColorProcessorPtr color_service();
/**
* @brief Override when setting up OpenGL context
@@ -128,6 +128,11 @@ private:
*/
void ClearOCIOLutTexture();
/**
* @brief Renderer abstraction
*/
Renderer* attached_renderer_;
/**
* @brief Connected color manager
*/
@@ -136,7 +141,7 @@ private:
/**
* @brief Color management service
*/
OpenGLColorProcessorPtr color_service_;
ColorProcessorPtr color_service_;
/**
* @brief Internal color transform storage