Files
oak-editor/project/effect.h
T
2018-07-20 19:06:57 +01:00

45 lines
958 B
C++

#ifndef EFFECT_H
#define EFFECT_H
#include <QObject>
#include <QString>
class QWidget;
class CollapsibleWidget;
class QGridLayout;
struct Clip;
class QXmlStreamReader;
class QXmlStreamWriter;
enum EffectTypes { EFFECT_TYPE_INVALID, EFFECT_TYPE_VIDEO, EFFECT_TYPE_AUDIO };
class Effect : public QObject
{
Q_OBJECT
public:
Effect(Clip* c, int t, int i); // default constructor
Clip* parent_clip;
int type;
int id;
QString name;
CollapsibleWidget* container;
QGridLayout* ui_layout;
QWidget* ui;
bool is_enabled();
virtual Effect* copy(Clip* c);
virtual void load(QXmlStreamReader* stream);
virtual void save(QXmlStreamWriter* stream);
virtual void process_gl(int* anchor_x, int* anchor_y);
virtual void post_gl();
virtual void process_audio(quint8* samples, int nb_bytes);
public slots:
void field_changed();
void checkbox_command();
};
#endif // EFFECT_H