mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-05 15:30:00 +01:00
44 lines
754 B
C++
44 lines
754 B
C++
#ifndef INTERPOLATOR_H
|
|
#define INTERPOLATOR_H
|
|
|
|
#include "Source.h"
|
|
#include "SourceList.h"
|
|
|
|
class SourceInterpolator
|
|
{
|
|
public:
|
|
SourceInterpolator(Source *subject, const SourceCore &target);
|
|
|
|
void apply (float percent);
|
|
float current() const;
|
|
|
|
protected:
|
|
Source *subject_;
|
|
|
|
SourceCore from_;
|
|
SourceCore to_;
|
|
SourceCore current_state_;
|
|
float current_cursor_;
|
|
|
|
void interpolateGroup (View::Mode m);
|
|
void interpolateImageProcessing ();
|
|
};
|
|
|
|
class Interpolator
|
|
{
|
|
public:
|
|
Interpolator();
|
|
~Interpolator();
|
|
|
|
void add (Source *s, const SourceCore &target );
|
|
|
|
void apply (float percent);
|
|
float current() const;
|
|
|
|
protected:
|
|
std::list<SourceInterpolator *> interpolators_;
|
|
|
|
};
|
|
|
|
#endif // INTERPOLATOR_H
|