uiacceltk/hitchcock/ServerCore/Inc/malfsrvtexturemanagerclient.h
changeset 0 15bf7259bb7c
equal deleted inserted replaced
-1:000000000000 0:15bf7259bb7c
       
     1 /*
       
     2 * Copyright (c) 2008 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:   Client interface for server side texture manager
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef M_ALFSRVTEXTUREMANAGERCLIENT_H
       
    21 #define M_ALFSRVTEXTUREMANAGERCLIENT_H
       
    22 
       
    23 #include <e32std.h>
       
    24 
       
    25 /**
       
    26  *  Client interface for server side texture manager.
       
    27  *
       
    28  *  This interface is used by server side texture manager for 
       
    29  *  auto size textures. @c GetTextureSize is used to query what is
       
    30  *  size of texture is being/has been delivered to client. 
       
    31  *  @c SetTextureSize is used to request new size for texture.
       
    32  *  Once a sequence of @c SetTextureSize calls have finished,
       
    33  *  server side texture manager calls @c HandleAllTextureSizesInformed.
       
    34  *
       
    35  *  @since S60 v5.0
       
    36  */
       
    37 class MAlfSrvTextureManagerClient
       
    38     {
       
    39 public:
       
    40 
       
    41     /**
       
    42      * Gets texture information from client
       
    43      *
       
    44      * @param aTextureId texture id.
       
    45      * @param aTextureSize current texture size being delivered to client.
       
    46      * @param aHasBeenDelivered ETrue if texture size has already been 
       
    47      *        delivered to client, EFalse otherwise.
       
    48      * @return ETrue if information found, EFalse otherwise.
       
    49      */
       
    50     virtual TBool GetTextureSize( 
       
    51         TInt aTextureId, 
       
    52         TSize& aTextureSize,
       
    53         TBool& aHasBeenDelivered ) = 0;
       
    54 
       
    55     /**
       
    56      * Sets new size for texture to be delivered to client.
       
    57      * @param aTextureId texture id.
       
    58      * @param aTextureSize new texture size.
       
    59      * @param aPriority priority for texture size to be delivered.
       
    60      *        negative: deliver urgently, 
       
    61      *        0: deliver immediately, 
       
    62      *        positive: deliver as soon as possible.
       
    63      */
       
    64     virtual void SetTextureSize(
       
    65         TInt aTextureId,
       
    66         const TSize& aTextureSize,
       
    67         TInt aPriority ) = 0;
       
    68 
       
    69     /**
       
    70      * Informs client that texture size does not need to be delivered
       
    71      * to client side.
       
    72      * @param aTextureId texture id.
       
    73      */
       
    74     virtual void RemoveTextureSize( TInt aTextureId ) = 0;
       
    75     
       
    76     /**
       
    77      * Informs client that all texture size information has been given 
       
    78      * (for now).
       
    79      */
       
    80     virtual void TextureSizeChangesCompleted() = 0;
       
    81 
       
    82     };
       
    83 
       
    84 #endif // M_ALFSRVTEXTUREMANAGERCLIENT_H