textinput/peninputarc/inc/pensrvcliinc/peninputuilayoutownerinf.h
changeset 0 eb1f2e154e89
equal deleted inserted replaced
-1:000000000000 0:eb1f2e154e89
       
     1 /*
       
     2 * Copyright (c) 2006-2006 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:  interface for pen input ui layout owner
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef M_FEPUILAYOUTOWNERINF_H
       
    21 #define M_FEPUILAYOUTOWNERINF_H
       
    22 
       
    23 #include <bitdev.h>
       
    24 
       
    25 /**
       
    26  * Class MLayoutOwner.
       
    27  *
       
    28  * Interface for layout owner. 
       
    29  * A layout owner is responsible for displaying the layout.
       
    30  *
       
    31   * @since S60 V4.0
       
    32  */
       
    33 class MLayoutOwner
       
    34     {
       
    35 public:
       
    36     /**
       
    37      * Update a rectangle area
       
    38      *
       
    39      * @since S60 v4.0
       
    40      * @param aRect The rectangle area to be updated
       
    41      * @param aFullUpdateFlag Full update flag. Re-calculates the image due to background change. 
       
    42      * @param aImmedFlag Flags indicates whethere updating is executed immediately or buffered.
       
    43      */
       
    44     virtual void UpdateArea(const TRect& aRect,TBool aFullUpdateFlag, TBool aImmedFlag) = 0;
       
    45 
       
    46     /**
       
    47      * Set layout position. This should only be called after layout has change 
       
    48      * its position, i.e, the layout top left is the new position.
       
    49      *
       
    50      * @since S60 v4.0
       
    51      * @param aNewPos The new top left position of the layout
       
    52      * @return Return the old position of the layout
       
    53      */
       
    54     virtual TPoint SetPosition(const TPoint& aNewPos) = 0;
       
    55 
       
    56     /**
       
    57      * Get the Bitmap context for drawing.
       
    58      *
       
    59      * @since S60 v4.0
       
    60      * @return bitmap context
       
    61      */
       
    62     virtual CBitmapContext* BitmapContext () = 0;
       
    63 
       
    64     /**
       
    65      * Get the bitmap device
       
    66      *
       
    67      * @since S60 v4.0
       
    68      * @return The bitmap device for drawing
       
    69      */
       
    70     virtual CFbsBitmapDevice* BitmapDevice() = 0;
       
    71 
       
    72     /**
       
    73      * Get the mask bitmap device
       
    74      *
       
    75      * @since S60 v4.0
       
    76      * @return The mask bitmap device for drawing
       
    77      */
       
    78     virtual CFbsBitmapDevice* MaskBmpDevice() = 0;
       
    79     
       
    80     /**
       
    81      * Hide or show the layout
       
    82      *
       
    83      * @since S60 v4.0     
       
    84      * @param aHideFlat Flag to hide or show the layout.Hide layout if it's true.
       
    85      */
       
    86     virtual void Hide(TBool aHideFlag) = 0;
       
    87     
       
    88     /**
       
    89      * Signal owner that there is an event
       
    90      *
       
    91      * @since S60 v4.0     
       
    92      * @param aEventType The event type
       
    93      * @param aEventData The event data
       
    94      */    
       
    95     virtual void SignalOwner(TInt aEventType, const TDesC& aEventData) = 0;
       
    96     
       
    97     /**
       
    98      * Handle layout size change event
       
    99      *
       
   100      * @since S60 v4.0     
       
   101      * @param aSize The new layout size
       
   102      * @return standard symbian error code
       
   103      */       
       
   104     virtual TInt LayoutSizeChanged(const TSize& aSize, TBool aNeedUpdate = ETrue) = 0;
       
   105     
       
   106     /**
       
   107      * Get layout position and it's rect.
       
   108      * The position is relative to it's parent window or screen.
       
   109      * The size includes all invisible layout area as well as the shadow.
       
   110      *
       
   111      * @since S60 v4.0     
       
   112      * @return layout position.
       
   113      */       
       
   114     virtual TRect LayoutRect() = 0;    
       
   115 		
       
   116     /**
       
   117      * Update UI layout immediatelly.
       
   118      *
       
   119      * @since S60 v5.0     
       
   120      * @return None.
       
   121      */       
       
   122     virtual void FlushUi() = 0;    
       
   123     };
       
   124 
       
   125 #endif //M_FEPUILAYOUTOWNERINF_H
       
   126