#pragma once #include #include #include #include #include "regsaccess.h" #include "commondef.h" #include "CorrectParam.h" class ICapturer { public: virtual ~ICapturer() {} virtual void open() = 0; virtual void open(HGScanConfig config,FPGAConfigParam fpgaparam) = 0; virtual void close() = 0; virtual void start() = 0; virtual void stop() = 0; virtual bool is_runing() = 0; virtual void snap() = 0; virtual void stopsnap() = 0; virtual int getautosizeheight() = 0; virtual void set_size(int width, int height) = 0; virtual void* readFrame(int timeout) = 0; virtual void set_gain(int ix, int val) = 0; virtual void set_offset(int ix, int val) = 0; virtual void set_expo(int ix, int val) = 0; virtual std::shared_ptr regs() = 0; virtual void reset() = 0; virtual int width() = 0; virtual int height() = 0; virtual int color() = 0; virtual void init_autocorrect(int colormode=0) = 0; virtual void setcapturecall(std::function callback) = 0; };