tx-gxx-linux/device/gxx-linux/capimage/ICapturer.h

41 lines
1.1 KiB
C++

#pragma once
#include <memory>
#include <functional>
#include <thread>
#include <string>
#include "regsaccess.h"
#include "commondef.h"
#include "CorrectParam.h"
class ICapturer
{
public:
virtual ~ICapturer() {}
virtual void Fpga_regsAccess_reset(bool enable) = 0;
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<IRegsAccess> 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<void(int,std::string)> callback) = 0;
};