camerauis/cameraapp/generic/inc/cameracontroller/camcameracontrollerflags.hrh
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 07 Jan 2010 16:18:56 +0200
changeset 0 1ddebce53859
permissions -rw-r--r--
Revision: 200951 Kit: 201001

/*
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Build flags concerning Camera Controller
*
*/


#ifndef CAM_CAMERACONTROLLERFLAGS_H
#define CAM_CAMERACONTROLLERFLAGS_H

// ===========================================================================

#if ( defined(__WINSCW__) || defined(__WINS__) || defined(WINSCW) || defined(WINS) )
  #define CAMERAAPP_EMULATOR_BUILD
#endif


// ---------------------------------------------------------
// In emulator build need to emulate CCamera
#ifdef CAMERAAPP_EMULATOR_BUILD
  #define CAMERAAPP_CAPI_EMULATOR
#endif

// ---------------------------------------------------------
// Camera API details
// 
// CAMERAAPP_CAPI_V2     : ECam Camera API v2 support.
//                        Use MCameraObserver2 interface,
//                        New2L and New2DuplicateL
//
// CAMERAAPP_CAPI_V2_SS  : ECam snapshot support 
//                        (CCameraSnapshot).
//
// CAMERAAPP_CAPI_V2_ADV : ECam advanced settings support 
//                        (CCameraAdvancedSettings).
//
// CAMERAAPP_CAPI_V2_DVF : ECam direct viewfinding support
//                        (CCameraDirectViewFinder).
//
// CAMERAAPP_CAPI_V2_OL  : ECam overlays support (CCameraOverlay). 
//                        Should be defined if direct vf enabled.
//
// CAMERAAPP_CAPI_V2_IP  : ECam image processing support
//                        (CCameraImageProcessing). 
//


// Camera API v2
#if! defined( CAMERAAPP_CAPI_EMULATOR )
  // Emulator does not have implementation for new ECam classes.
  // Only define CAPI v2 for hw.
    
    #define CAMERAAPP_CAPI_V2

#endif

// These should only be enabled if Camera API v2 is in use.
#ifdef  CAMERAAPP_CAPI_V2

  // Snapshot --------------------------
  #define  CAMERAAPP_CAPI_V2_SS
  
  // Advanced settings -----------------
  #define  CAMERAAPP_CAPI_V2_ADV

  // Image processing ------------------
  #ifdef CAMERAAPP_CAPI_V2_ADV
    #define  CAMERAAPP_CAPI_V2_IP
  #endif

  // Direct viewfinder -----------------
  #define   CAMERAAPP_CAPI_V2_DVF

  // Overlays --------------------------
  #ifdef CAMERAAPP_CAPI_V2_DVF
    #define  CAMERAAPP_CAPI_V2_OL
  #endif
  
  // Histogram -------------------------
  #undef  CAMERAAPP_CAPI_V2_HG

#endif

// Flash simulation 
//   - need Advanced settings
#ifdef CAMERAAPP_CAPI_V2_ADV
  #undef CAMERAAPP_FLASH_SIMULATOR
#endif

// ---------------------------------------------------------
// CAE flags:
//
//   CAMERAAPP_CAE_FOR_VIDEO : CCaeEngine is used for video recording
//   CAMERAAPP_CAE_FIX       : Release CCamera before using CCaeEngine
//                            and vice versa.
#define CAMERAAPP_CAE_FOR_VIDEO
#ifdef  CAMERAAPP_CAE_FOR_VIDEO

#ifdef CAMERAAPP_EMULATOR_BUILD
  #define CAMERAAPP_CAE_FIX
#else
  #undef CAMERAAPP_CAE_FIX
#endif

#endif // CAMERAAPP_CAE_FOR_VIDEO
// ---------------------------------------------------------



// ---------------------------------------------------------
// Performance tests flags
// 
// CAMERAAPP_PERFORMANCE_CONTROLLER : Enable measuring time for 
//                               Camera Controller operations.
#ifdef _DEBUG
  #define CAMERAAPP_PERFORMANCE_CONTROLLER
#endif
// ---------------------------------------------------------


// moved from camproductvariant.h to here.
// For simulating errors & delays in CAE callbacks
#undef CAMERAAPP_CAE_ERR_SIMULATION

// ===========================================================================
#endif

// end of file