/** Copyright (c) 2006-2006 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: interface for pen input ui layout owner**/#ifndef M_FEPUILAYOUTOWNERINF_H#define M_FEPUILAYOUTOWNERINF_H#include <bitdev.h>/** * Class MLayoutOwner. * * Interface for layout owner. * A layout owner is responsible for displaying the layout. * * @since S60 V4.0 */class MLayoutOwner {public: /** * Update a rectangle area * * @since S60 v4.0 * @param aRect The rectangle area to be updated * @param aFullUpdateFlag Full update flag. Re-calculates the image due to background change. * @param aImmedFlag Flags indicates whethere updating is executed immediately or buffered. */ virtual void UpdateArea(const TRect& aRect,TBool aFullUpdateFlag, TBool aImmedFlag) = 0; /** * Set layout position. This should only be called after layout has change * its position, i.e, the layout top left is the new position. * * @since S60 v4.0 * @param aNewPos The new top left position of the layout * @return Return the old position of the layout */ virtual TPoint SetPosition(const TPoint& aNewPos) = 0; /** * Get the Bitmap context for drawing. * * @since S60 v4.0 * @return bitmap context */ virtual CBitmapContext* BitmapContext () = 0; /** * Get the bitmap device * * @since S60 v4.0 * @return The bitmap device for drawing */ virtual CFbsBitmapDevice* BitmapDevice() = 0; /** * Get the mask bitmap device * * @since S60 v4.0 * @return The mask bitmap device for drawing */ virtual CFbsBitmapDevice* MaskBmpDevice() = 0; /** * Hide or show the layout * * @since S60 v4.0 * @param aHideFlat Flag to hide or show the layout.Hide layout if it's true. */ virtual void Hide(TBool aHideFlag) = 0; /** * Signal owner that there is an event * * @since S60 v4.0 * @param aEventType The event type * @param aEventData The event data */ virtual void SignalOwner(TInt aEventType, const TDesC& aEventData) = 0; /** * Handle layout size change event * * @since S60 v4.0 * @param aSize The new layout size * @return standard symbian error code */ virtual TInt LayoutSizeChanged(const TSize& aSize, TBool aNeedUpdate = ETrue) = 0; /** * Get layout position and it's rect. * The position is relative to it's parent window or screen. * The size includes all invisible layout area as well as the shadow. * * @since S60 v4.0 * @return layout position. */ virtual TRect LayoutRect() = 0; /** * Update UI layout immediatelly. * * @since S60 v5.0 * @return None. */ virtual void FlushUi() = 0; };#endif //M_FEPUILAYOUTOWNERINF_H