Files
oak-editor/app/node/block/transition/transition.h
T
itsmattkc 8358d7d221 moved progress calculations from openglworker to transitionblock
These functions are universal transition functions that have use outside of
the OpenGL workers.
2020-01-06 16:35:45 +11:00

47 lines
941 B
C++

#ifndef TRANSITIONBLOCK_H
#define TRANSITIONBLOCK_H
#include "node/block/block.h"
class TransitionBlock : public Block
{
public:
TransitionBlock();
virtual Type type() const override;
NodeInput* out_block_input() const;
NodeInput* in_block_input() const;
virtual void Retranslate() override;
rational in_offset() const;
rational out_offset() const;
Block* connected_out_block() const;
Block* connected_in_block() const;
double GetTotalProgress(const rational& time) const;
double GetOutProgress(const rational& time) const;
double GetInProgress(const rational& time) const;
private:
double GetInternalTransitionTime(const rational& time) const;
NodeInput* out_block_input_;
NodeInput* in_block_input_;
Block* connected_out_block_;
Block* connected_in_block_;
private slots:
void BlockConnected(NodeEdgePtr edge);
void BlockDisconnected(NodeEdgePtr edge);
};
#endif // TRANSITIONBLOCK_H