#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() { std::vector> buffers; return buffers; } /* Does renderer implement options dialog */ virtual bool hasOptions() const { return false; } /* Returns options dialog for renderer */ virtual QDialog *getOptions(QWidget *parent) { return nullptr; } /* Reloads options of renderer */ virtual void reloadOptions() { } virtual bool hasBlitFunc() { return false; } virtual void blit(int x, int y, int w, int h) { } int r_monitor_index = 0; protected: bool eventDelegate(QEvent *event, bool &result); void drawStatusBarIcons(QPainter* painter); QRect source { 0, 0, 0, 0 }; QRect destination; QWidget *parentWidget { nullptr }; std::vector buf_usage; };