📄 barcodereader.hpp
字号:
#ifndef __SOPHIACRADLE_BARCODEREADER_HPP
#define __SOPHIACRADLE_BARCODEREADER_HPP
#include <SophiaFramework.hpp>
#include "SGXCamera.hpp"
#include "SGXBarCode.hpp"
SFMTYPEDEFCLASS(BarCodeReader)
class BarCodeReader {
SFMSEALCOPY(BarCodeReader)
public:
enum StatusEnum { // 奜晹僀儀儞僩僴儞僪儔梡忬懺僐乕僪
STATUS_FRAME = 0, // 怴偟偄僾儗價儏乕夋憸傪庢摼偟偨
STATUS_GOTBARCODE, // 僶乕僐乕僪夝愅姰椆
STATUS_STOP,
STATUS_LIMIT
};
enum CameraStatusEnum { // 僇儊儔偺忬懺僐乕僪
CAMERASTATUS_NOT_INITIALIZED = 0, // 枹弶婜壔
CAMERASTATUS_READY, // 懸婡忬懺
CAMERASTATUS_ACTIVE, // 僇儊儔婲摦拞
CAMERASTATUS_SUSPEND, // 僇儊儔媥巭拞
CAMERASTATUS_LIMIT
};
private:
typedef Void (*NotifySPP)(StatusEnum status, VoidPtr reference);
SGXCamera _camera;
SGXBarCode _barcode;
CameraStatusEnum _status;
VoidPtr _reference;
NotifySPP _spp;
SFXAnsiString _isbn;
SFXRectangle _previewrect;
public:
BarCodeReader(Void);
virtual ~BarCodeReader(Void);
//Void Suspend(Void);
//SFCError Resume(Void);
SFCError Initialize(SFXRectangleConstRef rect, NotifySPP spp, VoidPtr reference);
SFXAnsiStringConstRef GetCode(Void) const;
SFBBitmapSmpConstRef GetBitmap(Void) const;
SFCError Start(Void);
Void Stop(Void);
Void Terminate(Void);
CameraStatusEnum GetCameraStatus(Void) const;
private:
static Void OnCameraSHP(SGXCamera::StatusEnum status, SFCError error, VoidPtr reference);
Void OnCamera(SGXCamera::StatusEnum status, SFCError error);
Bool CheckISBN(SFXAnsiStringConstRef code);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -