uiaccelerator_plat/alf_visual_api/inc/alf/alfmaterial.h
changeset 0 15bf7259bb7c
equal deleted inserted replaced
-1:000000000000 0:15bf7259bb7c
       
     1 /*
       
     2 * Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef T_ALFMATERIAL_H
       
    21 #define T_ALFMATERIAL_H
       
    22 
       
    23 #include <alf/alfimage.h>
       
    24 #include <alf/alftimedvalue.h>
       
    25 #include <gdi.h>
       
    26 
       
    27 /** Surface material. */    
       
    28 enum TAlfMaterialPreset
       
    29     {
       
    30     /** Material that uses custom parameters. */
       
    31     EAlfMaterialCustom,
       
    32     
       
    33     EAlfMaterialChrome,
       
    34     EAlfMaterialPlastic,
       
    35     /*
       
    36      * Speculer Image in material (iSpecularImage) has to be set
       
    37      * before setting  EAlfMaterialGlass preset. If iSpecularImage
       
    38      * is not set, Toolkit will Panic, while drawing the mesh.
       
    39      */
       
    40     EAlfMaterialGlass,
       
    41     /*
       
    42      * Speculer Image in material (iSpecularImage) has to be set
       
    43      * before setting  EAlfMaterialBrushedMetal preset. If iSpecularImage
       
    44      * is not set, Toolkit will Panic, while drawing the mesh.
       
    45      */
       
    46     EAlfMaterialBrushedMetal,
       
    47     /*
       
    48      * Speculer Image in material (iSpecularImage) has to be set
       
    49      * before setting  EAlfMaterialTexture preset. If iSpecularImage
       
    50      * is not set, Toolkit will Panic, while drawing the mesh.
       
    51      */
       
    52     EAlfMaterialTexture,
       
    53     EAlfMaterialShadow
       
    54     };
       
    55 
       
    56 struct TAlfMaterial
       
    57     {
       
    58     /** Preset type. */
       
    59     TAlfMaterialPreset iPreset;
       
    60     
       
    61     /** Color. */
       
    62     TRgb iColor;
       
    63     
       
    64     /** Image used as the texture for the surface. */
       
    65     TAlfImage iTextureImage;
       
    66     
       
    67     /** Image used as the specular reflection for the surface. */
       
    68     TAlfImage iSpecularImage;
       
    69 
       
    70     /** Strength of specular reflections. */
       
    71     TAlfTimedValue iSpecular;
       
    72 
       
    73     
       
    74     /**
       
    75      * Default constructor for initializing the struct.
       
    76      */
       
    77     inline TAlfMaterial()
       
    78         : iPreset(EAlfMaterialCustom), iColor(KRgbWhite)
       
    79         {
       
    80         iSpecular.SetValueNow(1);
       
    81         }
       
    82         
       
    83     };
       
    84 
       
    85 #endif // T_ALFMATERIAL_H