uiacceltk/hitchcock/CommonInc/alfrenderstageutils.h
changeset 0 15bf7259bb7c
child 3 d8a3531bc6b8
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:   
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef _ALFRSUAPI_H_
       
    19 #define _ALFRSUAPI_H_
       
    20 
       
    21 const TInt KAlfCompositionAgnosticWindowTreeObserverInterfaceId(0x2002BCFB);
       
    22     
       
    23 class MAlfCompositionAgnosticWindowTreeObserver
       
    24     {
       
    25 public:
       
    26 	enum TFlags
       
    27 		{
       
    28 		/** For a window to be drawn, it needs to be activated and visible and have visible parents.
       
    29 	 	Making a window invisible, implies that its children should be invisible as well.
       
    30 	 	The default value for a window is true. */
       
    31 		EVisible = 1,
       
    32 		/** Non-fading windows should not be drawn faded regardless of their fade-count.
       
    33 		The default value is false. */
       
    34 		ENonFading,
       
    35 		/** Windows with this attribute enabled uses alpha channel to control its transparency.
       
    36 		The default value is false. */
       
    37 		EAlphaChannelTransparencyEnabled,
       
    38 		/** True if a clipping rect should be applied when drawing a standard text cursor, false otherwise.
       
    39 		The default value is false. */
       
    40 		ECursorClipRectSet
       
    41 		};
       
    42 	/**
       
    43 	 This enum encapsulates the set of non-boolean attribute changes that can be observed
       
    44 	 using the MWsWindowTreeObserver interface. 
       
    45 	 @see AttributeChanged */
       
    46 	enum TAttributes
       
    47 		{
       
    48 		/** Cursor type.
       
    49 		@see MWsStandardTextCursor::Type()*/
       
    50 		ECursorType = 1,
       
    51 		/** Cursor clip rect.
       
    52 		@see MWsStandardTextCursor::ClipRect()*/
       
    53 		ECursorClipRect,
       
    54 		/** Cursor flags.
       
    55 		@see MWsStandardTextCursor::Flags()*/
       
    56 		ECursorFlags,
       
    57 		/** Cursor color.
       
    58 		@see MWsStandardTextCursor::Color()*/
       
    59 		ECursorColor,
       
    60 		/** Window shape.
       
    61 		@see MWsWindow::WindowArea()*/
       
    62 		EWindowShape,
       
    63 		/** Window group name
       
    64 		@see MWsWindowGroup::Name()*/
       
    65 		EWindowGroupName
       
    66       };
       
    67       
       
    68     virtual void NodeCreated(const MWsWindowTreeNode& aWindowTreeNode, const MWsWindowTreeNode* aParent) = 0;
       
    69     virtual void NodeReleased(const MWsWindowTreeNode& aWindowTreeNode) = 0;
       
    70     virtual void NodeActivated(const MWsWindowTreeNode& aWindowTreeNode) = 0;
       
    71     virtual void NodeExtentChanged(const MWsWindowTreeNode& aWindowTreeNode, const TRect& aRect) = 0;
       
    72     virtual void SiblingOrderChanged(const MWsWindowTreeNode& aWindowTreeNode, TInt aNewPos) = 0;
       
    73     virtual void FlagChanged(const MWsWindowTreeNode& aWindowTreeNode, TInt aFlag, TBool aNewValue) = 0;
       
    74     virtual void AttributeChanged(const MWsWindowTreeNode& aWindowTreeNode, TInt aAttribute) = 0;
       
    75     virtual void FadeCountChanged(const MWsWindowTreeNode& aWindowTreeNode, TInt aFadeCount) = 0;
       
    76     virtual void TransparentRegionChanged(const MWsWindowTreeNode& aWindowTreeNode, const TRegion& aNewTransparentRegion, const TRegion* aNewOpaqueRegion) = 0;
       
    77     //virtual void ElementAdded(const MWsWindowTreeNode& aWindowTreeNode, const TRect& aElement) = 0;
       
    78     virtual void MovedToWindowGroup(const MWsWindowTreeNode& aWindowTreeNode, const MWsWindowTreeNode& aNewWindowGroupNode) = 0;
       
    79     virtual void WindowGroupChained(const MWsWindowTreeNode& aParent, const MWsWindowTreeNode& aChild) = 0;
       
    80     virtual void WindowGroupChainBrokenAfter(const MWsWindowTreeNode& aWindowGroupNode) = 0;
       
    81     virtual void FadeAllChildren(const MWsWindowTreeNode& aWindowTreeNode, TBool aFaded) = 0;
       
    82     };
       
    83 
       
    84 class RAlfBridgerClient;
       
    85 
       
    86 class MAlfBridge
       
    87     {
       
    88     public:
       
    89     enum TEvent {
       
    90         EAlfBridgeCreated, // data: MAlfBridge
       
    91         EAlfNativeWindowCreated, // data: TAlfNativeWindowData
       
    92         ESetWindowTreeObserver, // data: MAlfCompositionAgnosticWindowTreeObserver*
       
    93         EExternalize, // externalize complete state data: Todo
       
    94         EInternalize  // reset the state from data data: Todo
       
    95         };
       
    96     
       
    97     virtual void CommitL() = 0;
       
    98     virtual void WriteIntsL(TUint8 aCommand, TInt aCount, TInt* aArray) = 0;
       
    99     virtual RAlfBridgerClient* Client() = 0;
       
   100     };
       
   101 
       
   102 #endif // _ALFRSUAPI_H_