diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/uiklaf/private/lafenv.h --- a/epoc32/include/uiklaf/private/lafenv.h Wed Mar 31 12:27:01 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,376 +0,0 @@ -// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -#ifndef __LAFENV_H__ -#define __LAFENV_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -class MParser; -class CCoeEnv; -class CFont; -class TLogicalFont; -class CLafSystemFont; - -class LafEnv -/** Application environment level LAF functions. - -@publishedPartner -@released */ - { -public: - /** Creates an EText parser. - - @param aIndex Index of parser to retrieve. A LAF can supply multiple parsers, - indexed from 0. - @return EText parser */ - IMPORT_C static MParser* CreateTextParserL(TInt aIndex); - /** Draws a logical border. - - @param aBorder Border specification to draw - @param aGc Graphics context to which to draw - @param aRect Drawing rectangle - @param aBorderColors Colours with which to draw */ - IMPORT_C static void DrawLogicalBorder(const TGulBorder& aBorder,CGraphicsContext& aGc,const TRect& aRect,const TGulBorder::TColors& aBorderColors); - /** Gets the margins of a specified logical border. - - @param aBorder Border specification - @return Border's margins */ - IMPORT_C static TMargins LogicalBorderMargins(const TGulBorder& aBorder); - /** Populates an array with a set of system bitmaps. - - CEikonEnv calls this to get system bitmaps, and uses the array in subsequent - calls to MatchBitmap(). - - @param aEnv Application's control environment - @param aBitmaps On return, array of system bitmaps */ - IMPORT_C static void CreateSystemBitmapsL(CCoeEnv& aEnv, CArrayPtrFlat& aBitmaps); - /** Populates an array with a set of system fonts. - - CEikonEnv calls this to get system fonts, and uses the array in subsequent - calls to MatchFont(). - - A minimum of one font must be created. - - @param aEnv Application's control environment - @param aFonts On return, array of system fonts */ - IMPORT_C static void CreateSystemFontsL(CCoeEnv& aEnv,CArrayPtr& aFonts); - /** Gets the nearest match in the specified fonts for a specified logical system - font. - - The return value must be non-NULL. - - @param aFonts Fonts from which to select the match - @param aLogicalFont The logical font to match - @return Font that is the best match to aLogicalFont */ - IMPORT_C static const CFont* MatchFont(CArrayPtr& aFonts,const TLogicalFont& aLogicalFont); - /** Gets the nearest match in the specified bitmaps for a specified system bitmap - type. - - The desired bitmap is specified by the identifer aBmpUid: for possible UIDs, - see KLafUidEikonTexturedVal etc. - - The return value must be non-NULL. - - @param aSystemBmps Bitmaps from which to select the match - @param aBmpUid The bitmap type to match - @return Bitmap that is the best match to aBmpUid */ - IMPORT_C static CFbsBitmap* MatchBitmap(const CArrayPtrFlat& aSystemBmps, TUid aBmpUid); - /** Gets the corner of the screen which the busy message should appear in by default - on the device. - - @return Default corner - @see CEikonEnv::BusyMsgL() */ - IMPORT_C static TGulAlignment DefaultBusyMsgCorner(); - /** Tests if the specified key corresponds to the hardware default key. - - @param aCharCode Key to test - @return True if the key is the default */ - IMPORT_C static TBool IsDefaultKey(TUint aCharCode); - /** Gets the default line spacing used to format text paragraphs. - - @return Default line spacing in twips */ - IMPORT_C static TInt DefaultLineSpacingInTwips(); - /** Gets the height of single-line edit control for the system normal font. - - @param aLafEnv Environment access - @return Height of single-line edit control */ - IMPORT_C static TInt EditableControlStandardHeight(const MLafEnv& aLafEnv); - /** Sets any device-specific font attributes to be applied to the system character - formatting layer. - - Applications can access the format layer through CEikonEnv::SystemCharFormatLayerL(). - This format layer is also used in Edwins. - - @param aCharFormat On return, the character formatting to apply - @param aCharFormatMask On return, the character formatting mask to apply */ - IMPORT_C static void PrepareCharFormatAndMask(TCharFormat& aCharFormat,TCharFormatMask& aCharFormatMask); - /** Specifies (and creates if necessary) a default directory for documents. - - The function is called on application startup. The parameters provided are - to allow an implementation to generate a document directory based on the application - being launched. - - @param aFilePath On return, the default / generated directory path - @param aAppUid UID of application being launched - @param aLs Application's session with the Application Architecture server - @param aEnv Thread's control environment */ - IMPORT_C static void GetDefaultPath(TDes& aFilePath,TUid aAppUid,RApaLsSession& aLs,CCoeEnv& aEnv); - /** Loads the system resource file. - - The system resource file defines resources required by the system environment, - and which can also be used by applications. The function is called by CCoeEnv's - construction function. - - @param aEnv Thread's control environment - @return System wide error code */ - IMPORT_C static TInt LoadCoreResFileL(CCoeEnv& aEnv); - /** Loads the private resource file. - - The private resource file defines resources required by the system environment, - but not intended for application use. The function is called by CCoeEnv's - construction function. - - @param aEnv Thread's control environment - @return System wide error code */ - IMPORT_C static TInt LoadPrivResFileL(CCoeEnv& aEnv); - /** Gets the name of the resource file that contains resources for the EIKCOCTL - component. - - @return Resource file for the EIKCOCTL component */ - IMPORT_C static const TDesC& CoctlResourceFile(); - /** Allows the LAF to update the list of system bitmaps, in response to a colour - settings change. - - @param aEnv Thread's control environment - @param aBitmaps On return, updated array of system bitmaps - @param aColorList New colour settings */ - IMPORT_C static void UpdateSystemBitmapsL(CCoeEnv& aEnv, CArrayPtrFlat& aBitmaps, const CColorList& aColorList); - - /** Performs the releasing of the fonts but doesn't delete the array itself - - @param aSystemFontArray array of fonts to release - */ - IMPORT_C static void ReleaseSystemFonts( CArrayPtr& aSystemFontArray); - - /** Creates busy message window. - - @param aEnv Thread's control environment - @return Busy message window */ - IMPORT_C static MEikBusyMsgWin* NewBusyMsgWinL(CCoeEnv& aEnv); - /** Creates info message window. - - @param aEnv Thread's control environment - @return Info message window */ - IMPORT_C static MEikInfoMsgWin* NewInfoMsgWinL(CCoeEnv& aEnv); - - /** Creates info message window, overridden function to allow another RWindowGroup to be - used rather the the the CCoeEnv's RootWin() function. - - @param aEnv Thread's control environment - @param aWinGroup window group for displaying the Info Msg - @return Info message window */ - IMPORT_C static MEikInfoMsgWin* NewInfoMsgWinL(CCoeEnv& aEnv, RWindowGroup& aWinGroup); - /** Asks if display of the task list is disabled during initialization - - @return ETrue if task list is disabled, otherwise EFalse */ - IMPORT_C static TBool IsTaskListDisabledAtInitialization(); - /** Displays a one or two line alert as a notifier window customisable by the system GUI. - - @param aMsg1 Line one of the message to be displayed. - @param aMsg2 Line two of the message to be displayed */ - IMPORT_C static void DisplayAlertAsNotifier(const TDesC& aMsg1, const TDesC& aMsg2); - - /** Updates an existing color list - - @param aColorList The color list to be updated. */ - IMPORT_C static void UpdateColorListL(CColorList* aColorList); - - /** Plays an audible alert, if supported by the system GUI. */ - IMPORT_C static void Beep(); - - /** Updates an existing array of system fonts. - - @param aEnv Thread's control environment - @param aSystemFontArray The array of fonts to be updated */ - IMPORT_C static void UpdateSystemFontsL(CCoeEnv* aEnv, CArrayPtr& aSystemFontArray); - - /** A list of events that are handled by the HandleExtensionEventL() function.*/ - enum TLafEnvExtensionEvent - { - /** Event sent in CEikonEnv::ConstructL right before CCoeEnv::ConstructL() */ - ELafEnvPreCoeEnvConstructL, - /** Event sent in CEikonEnv::ConstructL right after CCoeEnv::ConstructL() */ - ELafEnvPostCoeEnvConstructL - }; - - /** Handles events listed by TLafEnvExtensionEvent - @param aEnv The instance of CEikonEnv from which this function has been called - @param aEvent The event - */ - IMPORT_C static void HandleExtensionEventL(CEikonEnv& aEnv, TLafEnvExtensionEvent aEvent); - - /** Allows debug keys to display output. - @param aResourceId The resource to use for the note - */ - IMPORT_C static void InfoNote(TInt aResourceId,...); - - /** Creates a default system colour list. - @param aEnv The instance of CEikonEnv from which this function has been called - @return A list of colours - */ - IMPORT_C static CColorList* CreateColorListL(CEikonEnv& aEnv); - - /** Gets the name of the clock DLL - @return The name of the clock DLL - */ - IMPORT_C static const TDesC& ClockDllName(); - - /** The behaviour of CEikonEnv can be customized. This enum lists - the things that can be customized. */ - enum TLafEnvPolicyItem - { - /** The action to take when there is an error during startup. */ - ELafEnvPolicyExitIfErrorDuringStartup, - /** The action to take when the document is corrupt. */ - ELafEnvPolicyDeleteCorruptDocumentAndContinue, - /** This affects the way the environment is deleted. */ - ELAfEnvPolicyDeferredEnvironmentDeletion, - }; - - /** CEikonEnv will use this function to find out how it should behave. - The list of things that can be customized this way are listed by - TLafEnvPolicyItem. - @param aItem The policy item. - @return An integer that indicates what the action should be. - */ - IMPORT_C static TInt PolicyItem(TLafEnvPolicyItem aItem); - -public: - inline static TInt ShadowHeight(); -private: - /** Defines types of constant setting relevant to LAFs. */ - enum TConstantType - { - /** Window shadow height. */ - EShadowHeight - }; -private: - /** Gets the value for a specified constant setting. - - @param aConstant Type of constant setting to get - @return Value for the constant setting */ - IMPORT_C static TInt Constant(TConstantType aConstant); - }; - -// identifiers for legacy system fonts - -/** UID for the system "normal" font. - -@see TLogicalFont::iFontId -@publishedPartner -@released */ -#define KLafUidNormalFontVal 0x10005F02 - -/** UID for the system "title" font. - -@see TLogicalFont::iFontId -@publishedPartner -@released */ -#define KLafUidTitleFontVal 0x10005F03 - -/** UID for the system "annotation" font. - -@see TLogicalFont::iFontId -@publishedPartner -@released */ -#define KLafUidAnnotationFontVal 0x10005F04 - -/** UID for the system "legend" font. - -@see TLogicalFont::iFontId -@publishedPartner -@released */ -#define KLafUidLegendFontVal 0x10005F05 - -/** UID for the system "symbol" font. - -@see TLogicalFont::iFontId -@publishedPartner -@released */ -#define KLafUidSymbolFontVal 0x10005F06 - -/** UID for the system "dense" font. - -@see TLogicalFont::iFontId -@publishedPartner -@released */ -#define KLafUidDenseFontVal 0x10005F07 - -// identifiers for legacy system bitmaps -/** UID for a textured block system bitmap. - -@see LafEnv::MatchBitmap() -@publishedPartner -@released */ -#define KLafUidEikonTexturedVal 0x100048F4 - -/** UID for a gray block system bitmap. - -@see LafEnv::MatchBitmap() -@publishedPartner -@released */ -#define KLafUidEikonGrayVal 0x100048F5 - -/** UID for a horizontal option button system bitmap. - -@see LafEnv::MatchBitmap() -@publishedPartner -@released */ -#define KLafUidEikonOptiVal 0x100048F6 - -/** UID for a highlighted horizontal option button system bitmap. - -@see LafEnv::MatchBitmap() -@publishedPartner -@released */ -#define KLafUidEikonOptihVal 0x100048F7 - -/** UID for a horizontal option button mask system bitmap. - -@see LafEnv::MatchBitmap() -@publishedPartner -@released */ -#define KLafUidEikonOptimVal 0x100048F8 - -// Inlines - -inline TInt LafEnv::ShadowHeight() -/** Gets the height of shadows to apply to windows. - -@return Shadow height. */ - {//static - return Constant(EShadowHeight); - } - -#endif