diff -r 000000000000 -r 15bf7259bb7c uiaccelerator_plat/alf_extension_api/inc/alf/alflayouthandlers.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiaccelerator_plat/alf_extension_api/inc/alf/alflayouthandlers.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,283 @@ +/* +* Copyright (c) 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: definitions of alf built-in layout support +* +*/ + + + +#ifndef __ALFLAYOUTHANDLERS__ +#define __ALFLAYOUTHANDLERS__ + +#include + +//---------------------------- +// basic layout +//---------------------------- +class CAlfLayoutHandler: public CAlfVisualHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// anchor layout +//---------------------------- +class CAlfAnchorLayoutHandler: public CAlfLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfAnchorLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfAnchorLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// anchor layout +//---------------------------- + +class TAknWindowLineLayout; +class TAknTextLineLayout; +class CHuiAnchorLayout; + +class CAlfLCTAnchorLayoutHandler: public CAlfAnchorLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfLCTAnchorLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfLCTAnchorLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +private: + TBool IsParentRelative(TInt aVal) const; + void SetAnchors(CHuiAnchorLayout* aAnchor, TInt aOrdinal, const TAknWindowLineLayout& aLine, const THuiTimedPoint& aTimedPoint); + void DoSetAnchors(CHuiAnchorLayout* aAnchor, TInt aOrdinal, TInt aLeft, TInt aTop, TInt aRight, TInt aBottom, const THuiTimedPoint& aTimedPoint); + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// grid layout +//---------------------------- +class CAlfGridLayoutHandler: public CAlfLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfGridLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfGridLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// LCT grid layout +//---------------------------- +class CAlfLCTGridLayoutHandler: public CAlfGridLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfLCTGridLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfLCTGridLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// deck layout +//---------------------------- +class CAlfDeckLayoutHandler: public CAlfLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfDeckLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + + +protected: // from CBase + IMPORT_C ~CAlfDeckLayoutHandler(); + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// flow layout +//---------------------------- +class CAlfFlowLayoutHandler: public CAlfLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfFlowLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfFlowLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + +//---------------------------- +// curve path layout +//---------------------------- +class CAlfCurvePathLayoutHandler: public CAlfLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfCurvePathLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfCurvePathLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + struct TCurvePathLayoutPrivateData; + TCurvePathLayoutPrivateData* iCurvePathLayoutPrivateData; + }; + +//---------------------------- +// viewport layout +//---------------------------- +class CAlfViewportLayoutHandler: public CAlfLayoutHandler + { +public: // new methods + IMPORT_C static MAlfExtension* NewL(MAlfInterfaceProvider& aResolver, CHuiControl* aOwner, CHuiLayout* aParentLayout); + IMPORT_C CAlfViewportLayoutHandler(MAlfInterfaceProvider& aResolver); + +public: // from CAlfVisualHandler + IMPORT_C void ConstructL(CHuiVisual* aVisual, CHuiControl& aOwner, CHuiLayout* aParentLayout); + +protected: // from CBase + IMPORT_C ~CAlfViewportLayoutHandler(); + +public: // From MAlfExtension + IMPORT_C void Release(); + IMPORT_C TAny* GetInterface(const THuiInterfaceSupport& aInterface); + IMPORT_C void HandleCmdL(TInt aCommandId, const TDesC8& aInputBuffer, TDes8& aResponse); public: // From MAlfExtension + +protected: // From CAlfVisualHandler + IMPORT_C void VisualHandlerExtension(const TUid& aExtensionUid, TAny** aExtensionParameters); + +private: + TAny* iSpare; + }; + + + + +#endif