📄 filmreel2container.h
字号:
#ifndef FILMREEL2CONTAINER_H
#define FILMREEL2CONTAINER_H
// INCLUDES
#include "CameraObserver.h"
// System includes
#include <coecntrl.h> // CCoeControl
#include <ecam.h> // CCamera
#include <MdaImageConverter.h> // for MMdaImageUtilObserver
// FORWARD DECLARATIONS
class CAknNavigationControlContainer;
class CAknNavigationDecorator;
class CAknNaviLabel;
class CCameraTimer;
class CFbsBitmap;
// CLASS DECLARATION
/**
*
* @class CFilmReel2Container FilmReel2Container.h
* @brief This is the container class for an example based on the
* standard Symbian OS architecture, demonstrating the use of the camera server
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*
*/
class CFilmReel2Container : public CCoeControl, public MCameraObserver,
public MMdaImageUtilObserver, public MCameraTimerObserver
{
public: // Constructors and destructor
static CFilmReel2Container* NewL(const TRect& aRect);
static CFilmReel2Container* NewLC(const TRect& aRect);
~CFilmReel2Container();
public: // new methods
enum TContainerState
{
ENotReady = 0,
EPreviewing,
ERecording,
EDisplayingResult,
ESavingImage,
EPoweredDown
};
TContainerState CurrentState() const;
void SaveImageL();
void PreviewModeL();
void RecordModeL();
void DisplayModeL();
void RequestPictureAfterPause();
const TFileName& FileName() const;
const TFileName& ImageName() const;
void SetNaviLabelTextL(TInt aTextResourceId);
void SetNaviLabelTextL(const TDesC& aText);
public: // from MCameraObserver
virtual void ReserveComplete (TInt aError);
virtual void PowerOnComplete (TInt aError);
virtual void ViewFinderFrameReady (CFbsBitmap& aFrame);
virtual void ImageReady (CFbsBitmap* aBitmap, HBufC8* aData, TInt aError);
virtual void FrameBufferReady (MFrameBuffer* aFrameBuffer, TInt aError);
public: // from MCameraTimerObserver
void TimerCompleted();
public: // from MMdaImageUtilObserver
virtual void MiuoOpenComplete(TInt aError);
virtual void MiuoConvertComplete(TInt aError);
virtual void MiuoCreateComplete(TInt aError);
private: // Constructor
void ConstructL(const TRect& aRect);
private: // from CoeControl
void Draw(const TRect& aRect) const;
private: // new methods
void DisplayMessage(const TDesC& aMessage, CWindowGc& aGc) const;
void PowerOnCompleteL();
void ViewFinderFrameReadyL(CFbsBitmap& aFrame);
void ImageReadyL(CFbsBitmap* aBitmap, HBufC8* aData);
private: //data
TContainerState iContainerState;
CCamera* iCamera;
CFbsBitmap* iBitmap;
CFbsBitmap* iBitmapViewer;
CFbsBitmap* iCollageBitmap;
CFbsBitGc* iBGc;
CFbsBitmapDevice* iBitmapDevice;
TInt iX;
TInt iY;
TInt iCount;
CMdaImageBitmapToFileUtility* iFileSaver;
TMdaJfifClipFormat* iFormat;
CCameraTimer* iCameraTimer;
TFileName iFileName;
TFileName iImageName;
HBufC* iNotReadyText;
HBufC* iTimeOutText;
CAknNavigationControlContainer* iNaviPane; // Not directly owned by this class.
CAknNaviLabel* iNaviLabel; // Not directly owned by this class.
CAknNavigationDecorator* iNaviDecoratorForLabel;
};
#endif // #ifndef FILMREEL2CONTAINER_H
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -