graphics_plat/surfacemanager_api/inc/surface_hints.h
author Faisal Memon <faisal.memon@nokia.com>
Fri, 20 Aug 2010 16:18:46 +0100
branchbug235_bringup_0
changeset 153 d8f29c307082
parent 146 4d1fe4a7ce83
permissions -rwxr-xr-x
Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
153
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     1
// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     2
// All rights reserved.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     3
// This component and the accompanying materials are made available
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     5
// which accompanies this distribution, and is available
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     7
//
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     8
// Initial Contributors:
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
     9
// Nokia Corporation - initial contribution.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    10
//
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    11
// Contributors:
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    12
//
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    13
// Description:
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    14
// Surface Manager API
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    15
//
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    16
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    17
#ifndef __SURFACE_HINTS_H__
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    18
#define __SURFACE_HINTS_H__
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    19
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    20
//- Include Files  ----------------------------------------------------------
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    21
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    22
#include <e32cmn.h>
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    23
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    24
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    25
//- Namespace ---------------------------------------------------------------
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    26
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    27
namespace surfaceHints
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    28
{
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    29
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    30
//- Constants ---------------------------------------------------------------
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    31
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    32
/** Hint of the surface content.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    33
    @see TSurfaceContent for possible values
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    34
*/
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    35
const TInt KSurfaceContent = 0x1;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    36
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    37
/** Hint of the expected update rate of the surface content.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    38
    Value for a surface containing e.g. 25 fps video the value should be 25.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    39
    For a static UI element the value should be 0.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    40
    @see TSurfaceUpdate
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    41
*/
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    42
const TInt KSurfaceUpdate = 0x2;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    43
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    44
/** Hint whether the surface content is copy protected and can it be
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    45
    shown on external displays.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    46
    @see TSurfaceProtection for possible values.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    47
*/
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    48
const TInt KSurfaceProtection = 0x3;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    49
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    50
/** Hint about the surface’s characteristics or properties,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    51
   For example if a surface can be persisted by the effects engine.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    52
   @see TSurfaceCharacteristics for possible values.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    53
*/
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    54
const TInt KSurfaceCharacteristics = 0x4;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    55
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    56
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    57
/** Values used for the KSurfaceContent key */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    58
enum TSurfaceContent
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    59
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    60
    /** No specific use-case */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    61
    EGeneric,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    62
    /** Camera viewfinder frames */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    63
    EViewFinder,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    64
    /** Images captured by camera */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    65
    EStillImage,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    66
    /** Decoded video frames */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    67
    EVideoPlayback,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    68
    /** Video frames from video telephony */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    69
    EVideoTelephony,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    70
    /** EGL surface */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    71
    EGfx,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    72
    /** Main UI surface */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    73
    EUi,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    74
    /** Composition target surface */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    75
    ECompositionTarget,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    76
    /** Indicates that the surface has to accessible by ARM.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    77
        This can be orr'ed with other TSurfaceContent enumerations. */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    78
    EArmAccess = 0x80000000
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    79
    };
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    80
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    81
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    82
/** Values used for the KSurfaceProtection key. The values are bitmasks and can be combined
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    83
* e.g. EAllowAnalogProtectionRequired | EAllowDigitalProtectionRequired.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    84
*/
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    85
enum TSurfaceProtection
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    86
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    87
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    88
    * Not allowed on external outputs
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    89
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    90
    EAllowInternalOnly                  = 0x00000000,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    91
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    92
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    93
    * Allowed on all external outputs
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    94
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    95
    EAllowAllExternals                  = 0xFFFFFFFF,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    96
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    97
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    98
    * Allow passing content over analog outputs,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
    99
    * e.g. composite and S-video
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   100
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   101
    EAllowAnalog                        = 0x00000010,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   102
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   103
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   104
    * Allow output over an analog output channel which has a protection
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   105
    * mechanism
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   106
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   107
    EAllowAnalogProtectionRequired      = 0x00000020,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   108
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   109
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   110
    * Allow passing content over digital outputs,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   111
    * e.g. DVI and HDMI
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   112
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   113
    EAllowDigital                       = 0x00000200,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   114
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   115
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   116
    * Licensed product must attempt to engage HDCP to protect the content.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   117
    * However it should be passed through to HDMI even if HDCP is not engaged or fails to engage.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   118
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   119
    EAllowDigitalProtectionRequested    = 0x00000400,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   120
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   121
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   122
    * Licensed product is required to engage HDCP to protect the content.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   123
    * If HDCP is not engaged or can not be engaged the content must not be passed through to HDMI.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   124
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   125
    EAllowDigitalProtectionRequired     = 0x00000800,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   126
    };
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   127
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   128
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   129
/** Values used for the KSurfaceCharacteristics key. The values are bitmasks and can be combined.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   130
*/
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   131
enum TSurfaceCharacteristics
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   132
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   133
    /**
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   134
    * Surface cannot be persisted once it has been closed by the creator
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   135
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   136
    ENotPersistable = 1,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   137
    };
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   138
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   139
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   140
class TSurfaceUpdate
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   141
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   142
    /** Constructor.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   143
        @param aUpdateRate   How often the surface content is redrawn per second.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   144
        @param aTearingFree  When ETrue surface updates should be synchronized
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   145
                             with display refresh rate, otherwise surface can
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   146
                             be updated as fast as possible.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   147
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   148
    inline TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree);
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   149
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   150
    /** Converts a value to TSurfaceUpdate */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   151
    inline TSurfaceUpdate(TInt aValue);
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   152
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   153
    /** Converts TSurfaceUpdate to a signed integer, so it can be used as
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   154
        a value for KSurfaceUpdate key. */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   155
    inline operator TInt() const;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   156
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   157
    /** Getter for surface update rate.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   158
        @return updates per second
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   159
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   160
    inline TUint UpdateRate() const;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   161
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   162
    /** Getter for surface update synchronization.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   163
        @return ETrue - updates should be synchronized with display refresh rate,
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   164
                EFalse - surface can be updated as fast as possible.
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   165
    */
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   166
    inline TBool TearingFree() const;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   167
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   168
    private:
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   169
        TUint iValue;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   170
    };
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   171
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   172
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   173
//- Forward Declarations ----------------------------------------------------
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   174
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   175
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   176
//- Class Definitions -------------------------------------------------------
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   177
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   178
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   179
//- Inline Functions --------------------------------------------------------
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   180
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   181
TSurfaceUpdate::TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree)
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   182
    : iValue( ( aUpdateRate & 0xFFFF ) | ( aTearingFree ? 0x80000000 : 0x0 ) )
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   183
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   184
    }
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   185
TSurfaceUpdate::TSurfaceUpdate(TInt aValue)
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   186
    : iValue( static_cast<TUint>( aValue ) )
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   187
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   188
    }
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   189
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   190
TSurfaceUpdate::operator TInt() const
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   191
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   192
    return static_cast<TInt>( iValue );
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   193
    }
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   194
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   195
TUint TSurfaceUpdate::UpdateRate() const
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   196
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   197
    return ( iValue & 0xFFFF );
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   198
    }
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   199
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   200
TBool TSurfaceUpdate::TearingFree() const
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   201
    {
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   202
    return ( iValue & 0x80000000 ) ? ETrue : EFalse;
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   203
    }
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   204
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   205
} //namespace surfaceHints
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   206
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   207
#endif //__SURFACE_HINTS_H__
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   208
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   209
// End of File
d8f29c307082 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending
Faisal Memon <faisal.memon@nokia.com>
parents: 146
diff changeset
   210