pixelsampler: added pixel sampler panel
When visible, this panel will show the current reference and display transformed color under the cursor of any viewer.
This commit is contained in:
@@ -19,6 +19,7 @@ add_subdirectory(curve)
|
||||
add_subdirectory(footageviewer)
|
||||
add_subdirectory(node)
|
||||
add_subdirectory(param)
|
||||
add_subdirectory(pixelsampler)
|
||||
add_subdirectory(project)
|
||||
add_subdirectory(sequenceviewer)
|
||||
add_subdirectory(taskmanager)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Olive - Non-Linear Video Editor
|
||||
# Copyright (C) 2019 Olive Team
|
||||
#
|
||||
# This program is free 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
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
set(OLIVE_SOURCES
|
||||
${OLIVE_SOURCES}
|
||||
panel/pixelsampler/pixelsamplerpanel.h
|
||||
panel/pixelsampler/pixelsamplerpanel.cpp
|
||||
PARENT_SCOPE
|
||||
)
|
||||
@@ -0,0 +1,23 @@
|
||||
#include "pixelsamplerpanel.h"
|
||||
|
||||
PixelSamplerPanel::PixelSamplerPanel(QWidget *parent) :
|
||||
PanelWidget(parent)
|
||||
{
|
||||
// FIXME: This won't work if there's ever more than one of this panel
|
||||
setObjectName("ProjectPanel");
|
||||
|
||||
sampler_widget_ = new ManagedPixelSamplerWidget();
|
||||
setWidget(sampler_widget_);
|
||||
|
||||
Retranslate();
|
||||
}
|
||||
|
||||
void PixelSamplerPanel::SetValues(const Color &reference, const Color &display)
|
||||
{
|
||||
sampler_widget_->SetValues(reference, display);
|
||||
}
|
||||
|
||||
void PixelSamplerPanel::Retranslate()
|
||||
{
|
||||
SetTitle(tr("Pixel Sampler"));
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef PIXELSAMPLERPANEL_H
|
||||
#define PIXELSAMPLERPANEL_H
|
||||
|
||||
#include "widget/panel/panel.h"
|
||||
#include "widget/viewer/pixelsamplerwidget.h"
|
||||
|
||||
class PixelSamplerPanel : public PanelWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PixelSamplerPanel(QWidget* parent = nullptr);
|
||||
|
||||
public slots:
|
||||
void SetValues(const Color& reference, const Color& display);
|
||||
|
||||
private:
|
||||
virtual void Retranslate() override;
|
||||
|
||||
ManagedPixelSamplerWidget* sampler_widget_;
|
||||
|
||||
};
|
||||
|
||||
#endif // PIXELSAMPLERPANEL_H
|
||||
@@ -45,3 +45,11 @@ VideoRenderBackend *ViewerPanelBase::video_renderer() const
|
||||
{
|
||||
return static_cast<ViewerWidget*>(GetTimeBasedWidget())->video_renderer();
|
||||
}
|
||||
|
||||
void ViewerPanelBase::ConnectPixelSamplerPanel(PixelSamplerPanel *psp)
|
||||
{
|
||||
ViewerWidget* vw = static_cast<ViewerWidget*>(GetTimeBasedWidget());
|
||||
|
||||
connect(psp, &PixelSamplerPanel::visibilityChanged, vw, &ViewerWidget::SetSignalCursorColorEnabled);
|
||||
connect(vw, &ViewerWidget::CursorColor, psp, &PixelSamplerPanel::SetValues);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef VIEWERPANELBASE_H
|
||||
#define VIEWERPANELBASE_H
|
||||
|
||||
#include "panel/pixelsampler/pixelsamplerpanel.h"
|
||||
#include "panel/timebased/timebased.h"
|
||||
#include "widget/viewer/viewer.h"
|
||||
|
||||
@@ -24,6 +25,8 @@ public:
|
||||
|
||||
VideoRenderBackend* video_renderer() const;
|
||||
|
||||
void ConnectPixelSamplerPanel(PixelSamplerPanel *psp);
|
||||
|
||||
};
|
||||
|
||||
#endif // VIEWERPANELBASE_H
|
||||
|
||||
Reference in New Issue
Block a user