Refactor: Make progress a base render method

Should be no functional changes.
This commit is contained in:
Sergey Sharybin
2023-08-11 12:42:16 +02:00
committed by Sergey Sharybin
parent 6df46fd2fc
commit ed058088b3
5 changed files with 17 additions and 4 deletions

View File

@@ -38,7 +38,7 @@ class RenderMonitor {
inline void progress(float i)
{
if (_re) {
_re->progress_cb(_re->prh, i);
_re->progress(i);
}
}

View File

@@ -502,7 +502,7 @@ void RE_engine_update_progress(RenderEngine *engine, float progress)
if (re) {
CLAMP(progress, 0.0f, 1.0f);
re->progress_cb(re->prh, progress);
re->progress(progress);
}
}

View File

@@ -1430,10 +1430,10 @@ static void do_render_sequencer(Render *re)
/* set overall progress of sequence rendering */
if (re->r.efra != re->r.sfra) {
re->progress_cb(re->prh, float(cfra - re->r.sfra) / (re->r.efra - re->r.sfra));
re->progress(float(cfra - re->r.sfra) / (re->r.efra - re->r.sfra));
}
else {
re->progress_cb(re->prh, 1.0f);
re->progress(1.0f);
}
}

View File

@@ -41,6 +41,13 @@ Render::~Render()
render_result_free(pushedresult);
}
void Render::progress(float progress)
{
if (progress_cb) {
progress_cb(prh, progress);
}
}
void Render::draw_lock()
{
if (draw_lock_cb) {

View File

@@ -49,6 +49,8 @@ struct BaseRender {
const char *view_name) = 0;
virtual void compositor_free() = 0;
virtual void progress(float progress) = 0;
virtual void draw_lock() = 0;
virtual void draw_unlock() = 0;
@@ -94,6 +96,8 @@ struct ViewRender : public BaseRender {
}
void compositor_free() override {}
void progress(const float /*progress*/) override {}
void draw_lock() override {}
void draw_unlock() override {}
@@ -128,6 +132,8 @@ struct Render : public BaseRender {
const char *view_name) override;
void compositor_free() override;
void progress(float progress) override;
void draw_lock() override;
void draw_unlock() override;