#pragma once #include #include #include #include #include #include #include #include #include class QWidget; class RendererCommon { public: RendererCommon(); void onResize(int width, int height); virtual void finalize() { } virtual uint32_t getBytesPerRow() { return 2048 * 4; } virtual std::vector> getBuffers() = 0; /* Does renderer implement options dialog */ virtual bool hasOptions() const { return false; } /* Returns options dialog for renderer */ virtual QDialog *getOptions(QWidget *parent) { return nullptr; } protected: bool eventDelegate(QEvent *event, bool &result); QRect source, destination; QWidget *parentWidget { nullptr }; std::vector buf_usage; };