📄 sgxcamera.hpp
字号:
/**
*** Class Name : SGXCamera
*** Version : 1.0.0
***
*** Author : Sophia Cradle Incorporated
*** Platform : x86, ARM
*** OS : BREW 2.1
*** Target SophiaFramework Version : 3.0
*** Compiler : Visual C++ 6.0, Visual C++ .NET 2003,
*** RVCTB 1.2
**/
#ifndef __SOPHIACRADLE_SFGCAMERA_HPP
#define __SOPHIACRADLE_SFGCAMERA_HPP
#include <SophiaFramework.hpp>
#define PICTURE_WIDTH 240 // 僇儊儔偱庢摼偡傞夋憸偺暆
#define PICTURE_HEIGHT 320 // 僇儊儔偱庢摼偡傞夋憸偺崅偝
SFMTYPEDEFCLASS(SGXCamera)
class SGXCamera {
SFMSEALCOPY(SGXCamera)
public:
enum StatusEnum { // 僇儊儔偺摦嶌忬懺
STATUS_PREVIEW, // 僾儗價儏乕儌乕僪偱摦嶌拞
STATUS_FRAME, // 僾儗價儏乕偺怴偨側僼儗乕儉偑昤夋偝傟偨
STATUS_RECORD, // 僗僫僢僾僔儑僢僩嶣塭奐巒拞
STATUS_ENCODE, // 僗僫僢僾僔儑僢僩偺嶣塭偑姰椆偟偨
STATUS_STOP
};
private:
typedef Void (*NotifySPP)(StatusEnum status, SFCError error, VoidPtr reference);
SFBCameraSmp _camera; // 僇儊儔偦偺傕偺
StatusEnum _status; // 僇儊儔偺忬懺曐懚梡
SFBBitmapSmp _bitmap; // 僇儊儔偱庢摼偟偨價僢僩儅僢僾
SFXRectangle _rect; // 夋柺忋偺僇儊儔夋憸昞帵椞堟
AEEMediaData _mediaData; // 儊僨傿傾 僨乕僞
ACharPtr _mimeType; // MIME TYPE
Bool _previewable; // 尰嵼僾儗價儏乕壜擻偐偳偆偐
Bool _recordable; // 僗僫僢僾僔儑僢僩儌乕僪偱偺嶣塭偑壜擻偐偳偆偐
Bool _toStop;
NotifySPP _spp; // 偙偺僋儔僗傪巊梡偟偰偄傞僋儔僗偺丄僇儊儔偵娭偡傞僐乕儖僶僢僋娭悢
VoidPtr _reference; // 偙偺僋儔僗傪巊梡偟偰偄傞僋儔僗偺僐乕儖僶僢僋娭悢偵搉偡僨乕僞傊偺嶲徠
public:
explicit SGXCamera(Void); // 僐儞僗僩儔僋僞
virtual ~SGXCamera(Void); // 僨傿僗僩儔僋僞
SFCError Initialize(SFXRectangleConstRef rect, NotifySPP spp, VoidPtr reference); // 僇儊儔偺弶婜壔傪峴偆
SFCError Preview(Void); // 僾儗價儏乕奐巒
SFCError Record(Void); // 僗僫僢僾僔儑僢僩儌乕僪奐巒
Void Suspend(Void); // 僇儊儔偺廔椆張棟
SFCError Resume(Void); // 僇儊儔偺婎杮揑側弶婜壔張棟
Void Terminate(Void); // 屻巒枛
SFBBitmapSmpConstRef GetBitmap(Void) const; // 嶣塭偝傟偨價僢僩儅僢僾傪庢摼偡傞
Bool IsPreviewable(Void) const; // 尰嵼僾儗價儏乕壜擻偐偳偆偐挷傋傞
friend Void OnCameraSHP(VoidPtr reference, AEECameraNotify *notify); // 僐乕儖僶僢僋僴儞僪儔(僟儈乕)
Void OnCamera(AEECameraNotify *notify); // 僐乕儖僶僢僋僴儞僪儔(幚懱)
SInt16 GetBrightness(Void) const; // 尰嵼偺僇儊儔偺柧傞偝傪庢摼偡傞
Bool GetBrightnessRange(SInt16Ptr minimum, SInt16Ptr maximum) const; // 僇儊儔偵愝掕壜擻側柧傞偝偺斖埻傪庢摼偡傞
Void SetBrightness(SInt16 value); // 僇儊儔偺柧傞偝傪愝掕偡傞
SInt16 GetZoom(Void) const; // 尰嵼偺僘乕儉抣傪庢摼偡傞
Bool GetZoomRange(SInt16Ptr mininum, SInt16Ptr maximum) const; // 愝掕壜擻側僘乕儉抣偺暆傪庢摼偡傞
Void SetZoom(SInt16 value); // 僘乕儉傪愝掕偡傞
private:
Void AfterSnapshot(Void); // 僗僫僢僾 僔儑僢僩嶣塭屻偺張棟
};
inline SFBBitmapSmpConstRef SGXCamera::GetBitmap(Void) const
{
return _bitmap;
}
inline Bool SGXCamera::IsPreviewable(Void) const
{
return _previewable;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -