engine: internals supporting the facade migration

UndoStack push_pre_executed, FolderAddChild-based true folder moves,
NodeViewDeleteCommand delete-then-reconnect support, event emission
points for the facade event bus, and related internal adjustments.
This commit is contained in:
2026-07-26 22:43:09 +08:00
parent e9f173916f
commit f95590e924
38 changed files with 302 additions and 746 deletions
+4 -47
View File
@@ -19,50 +19,7 @@
***/
#include "managedcolor.h"
namespace olive
{
ManagedColor::ManagedColor()
{
}
ManagedColor::ManagedColor(const double &r, const double &g, const double &b,
const double &a)
: Color(r, g, b, a)
{
}
ManagedColor::ManagedColor(const char *data, const PixelFormat &format,
int channel_layout)
: Color(data, format, channel_layout)
{
}
ManagedColor::ManagedColor(const Color &c)
: Color(c)
{
}
const QString &ManagedColor::color_input() const
{
return color_input_;
}
void ManagedColor::set_color_input(const QString &color_input)
{
color_input_ = color_input;
}
const ColorTransform &ManagedColor::color_output() const
{
return color_transform_;
}
void ManagedColor::set_color_output(const ColorTransform &color_output)
{
color_transform_ = color_output;
}
}
// ManagedColor has moved to application code
// (app/widget/manageddisplay/colorprocessorhandle.h) as part of the C ABI
// migration. This translation unit is intentionally left empty (the file is
// kept so the existing build rules keep working).
+5 -29
View File
@@ -22,34 +22,10 @@
#ifndef OAK_MANAGEDCOLOR_H
#define OAK_MANAGEDCOLOR_H
#include <olive/core/core.h>
#include "colortransform.h"
namespace olive
{
class ManagedColor : public Color {
public:
ManagedColor();
ManagedColor(const double &r, const double &g, const double &b,
const double &a = 1.0);
ManagedColor(const char *data, const PixelFormat &format,
int channel_layout);
ManagedColor(const Color &c);
const QString &color_input() const;
void set_color_input(const QString &color_input);
const ColorTransform &color_output() const;
void set_color_output(const ColorTransform &color_output);
private:
QString color_input_;
ColorTransform color_transform_;
};
}
// ManagedColor has moved to application code
// (app/widget/manageddisplay/colorprocessorhandle.h) as part of the C ABI
// migration: it is a pure UI value type that the engine never uses. This
// header is intentionally left empty (the file is kept so the existing
// build rules keep working) and must not be included by new code.
#endif // OAK_MANAGEDCOLOR_H
+6
View File
@@ -446,6 +446,12 @@ bool RenderWorkerPool::submit_frame(
ticket->moveToThread(this);
// Mark the ticket running the moment it is accepted for rendering.
// Otherwise there is a window between dispatch and worker pickup where the
// ticket still appears idle, and clear_single_frame_renders() -- which only
// spares running tickets -- would cancel a frame the viewer just requested.
ticket->start();
QMutexLocker locker(&mutex_);
queue_.push_back(job);
wait_.wakeOne();