⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cameraappcontroller.cpp

📁 S60官方摄像头程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
-----------------------------------------------------------------------------
*/
void CCameraAppController::StopViewFinder()
    {
    iCameraCaptureEngine->StopViewFinder();
    }

/*
-----------------------------------------------------------------------------

	void CCameraAppController::SnapL()

	Description: Gets the snapped image from Camera driver
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::SnapL()
    {
    iCameraCaptureEngine->SnapL();
    }

/*
-----------------------------------------------------------------------------

	CFbsBitmap& CCameraAppController::GetSnappedImage() 

	Description: Gives snapped image to be displayed in PostExposure view
	Comments   :

    Return values: Snapped CFbsBitmap object reference

-----------------------------------------------------------------------------
*/
CFbsBitmap& CCameraAppController::GetSnappedImage() 
    {
    return *iBitmapSnap;
    }

/*
-----------------------------------------------------------------------------

	void CCameraAppController::SaveImageL()

	Description: Saves the snapped image on disk
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::SaveImageL()
    {    
	
	// Get the next usable file name
	GetNextUsableFileName();

	// Save the image
    iCameraCaptureEngine->SaveImageL( QualityFactor(), &iNewFileName, &iFs );
    }

/*
-----------------------------------------------------------------------------

	TJpegQualityFactor CCameraAppController::QualityFactor() const

	Description: Returns current quality factor
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
TJpegQualityFactor CCameraAppController::QualityFactor() const
    {
    return KHighQualityFactor; 
    }

/*
-----------------------------------------------------------------------------

	void CCameraAppController::CreateSoundPlayerL()

	Description: Initializes snap sound player
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::CreateSoundPlayerL()
    {
    iSoundPlayer = (STATIC_CAST(CAknAppUi*,CEikonEnv::Static()->AppUi()))->KeySounds();
    if ( iSoundPlayer )
        {
        iSoundPlayer->AddAppSoundInfoListL( R_CAMERA_SNAP_SOUND );
        }
    }

/*
-----------------------------------------------------------------------------

	void CCameraAppController::PlaySnapSound( )

	Description: Plays snap sound by calling engine's StartPlay()
	Comments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::PlaySnapSound( )
    {
    if ( iSoundPlayer )
        {
        iSoundPlayer->PlaySound( KSnapSoundId );
        }
    }

/*
-----------------------------------------------------------------------------

	void CCameraAppController::ShowConversionStatusL( const TDesC &aStatus )

	Description: show the status of the current image converting status
	omments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::ShowConversionStatusL( const TDesC &aStatus )
	{
	if ( iContainer )
		(STATIC_CAST(CCameraAppBaseContainer*, iContainer))->ShowConversionStatusL( aStatus );
	}

/*
-----------------------------------------------------------------------------

	TBool CCameraAppController::IsImageConversionInProgress()

	Description: return to status showing whether the image conversion is 
				 in progress or not.
	omments   :

    Return values: true if image is being converted

-----------------------------------------------------------------------------
*/
TBool CCameraAppController::IsImageConversionInProgress()
	{
	return iCameraCaptureEngine->IsImageConversionInProgress();		
	}

/*
-----------------------------------------------------------------------------

	void CCameraAppController::RedrawNaviTabsL()

	Description: redraw navi tabs, showing "Standard" and "Portrait"
	omments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::RedrawNaviTabsL()
	{
	if ( iContainer )
		(STATIC_CAST(CCameraAppBaseContainer*, iContainer))->RedrawNaviTabsL();

	if ( iCameraCaptureEngine )
		iCameraCaptureEngine->SetEngineState( EEngineIdle );
	}

/*
-----------------------------------------------------------------------------

	TEngineState CCameraAppController::GetEngineState()

	Description: get engine state
	omments   :

    Return values: engine state

-----------------------------------------------------------------------------
*/
TEngineState CCameraAppController::GetEngineState()
	{
	return iCameraCaptureEngine->GetEngineState();
	}

/*
-----------------------------------------------------------------------------

	TEngineState CCameraAppController::GetEngineState()

	Description: set engine state
	omments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::SetEngineState( TEngineState aState )
	{
	iCameraCaptureEngine->SetEngineState( aState );
	}


// Disable the constant condition warning
#pragma warning ( disable: 4127 )
/*
-----------------------------------------------------------------------------

	void CCameraAppController::GetNextUsableFileName()

	Description: get the next usable file name
	omments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::GetNextUsableFileName()
	{	
	TInt index = 0;

	do {
		iNewFileName.Copy( iImagePath->Des() );
		iNewFileName.Append( KImageFileName );

		TBuf<5> num;
		num.Num( index );
		iNewFileName.Append( num );

		iNewFileName.Append( KJpgFileExtension );

		if ( !BaflUtils::FileExists( CEikonEnv::Static()->FsSession(),iNewFileName ) )
			break;
		
		index ++;
		
		} while ( 1 );
	}

/*
-----------------------------------------------------------------------------

	void CCameraAppController::HandleError(TInt aError)
	
	Description: handle to error messages from the capture engine
	omments   :

    Return values: N/A

-----------------------------------------------------------------------------
*/
void CCameraAppController::HandleError(TInt aError)
	{
    TInt reason(KErrNone);
    switch( aError )
        {
        case KErrNone:
            reason = KErrNone;
            break;
        case KErrInUse:
			{
            reason = ECameraInUse;

			// Since the camera is in use, we need to display a message, 
			// showing the message "Camera in use by another application"
			if ( iContainer )
				STATIC_CAST(CCameraAppBaseContainer*, iContainer)->ShowErrorMessage( 
				_L("Camera in use by another app.") );
			}
            break;
        }
	}

/*
-----------------------------------------------------------------------------

	TBool CCameraAppController::IsCameraUsedByAnotherApp()
	
	Description: return whether the camera is being used another app.
	Comments   : 

    Return values: true if it is used by another app.

-----------------------------------------------------------------------------
*/
TBool CCameraAppController::IsCameraUsedByAnotherApp()
	{
	return iCameraCaptureEngine->IsCameraUsedByAnotherApp();
	}

/*
-----------------------------------------------------------------------------

	TInt CCameraAppController::SetZoomL(TBool aEnable)
	
	Description: Set the zoom factor. It will increase or decrease the zoom 
				 factor
	Comments   : 

    Return values: zoom factor of the camera

-----------------------------------------------------------------------------
*/
TInt CCameraAppController::SetZoomL(TBool aEnable)
	{
    return iCameraCaptureEngine->SetZoomFactorL( aEnable );
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -