diff -r aaeeca1f15af -r e8d784ac1a4b scrsaver/scrsaverplugins/BmpAnimScrPlugin/inc/CBmpAnimSettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scrsaver/scrsaverplugins/BmpAnimScrPlugin/inc/CBmpAnimSettings.h Wed Sep 01 12:30:40 2010 +0100 @@ -0,0 +1,183 @@ +/* +* Copyright (c) 2003 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: Loads and stores the bitmap animator settings +* +*/ + + + +#ifndef C_CBMPANIMSETTINGS_H +#define C_CBMPANIMSETTINGS_H + +#include +#include "CBmpAnimIniData.h" + +// Default plugin name +_LIT(KPluginName, "BitmapAnimator"); +const TInt KMaxPluginNameLength = 30; + +// BmpAnim settings +class CBmpAnimSettings : public CBase + { +public: + // User constructor + static CBmpAnimSettings* NewL(); + + // Construction & destruction +private: + CBmpAnimSettings(); + void ConstructL(); +public: + virtual ~CBmpAnimSettings(); + +public: // Access functions + // Load the current settings from file (may be used from outside, + // hence public). Usually just called from ConstructL(), tho + TBool LoadSettingsL(); + + // Save settings + TBool SaveSettingsL(); + + // Get running time (-1 = not defined) + inline TInt RunningTime(); + + // Get loop count (-1 = not defined) + inline TInt LoopCount(); + + // Get suspend time (-1 = indefinitely) + inline TInt SuspendTime(); + + // Get / set default timing + inline TInt Timing(); + inline void SetTiming(TInt aTiming); + + // Get plugin name + inline TDesC& PluginName(); + + // Get bitmap file name + inline TDesC& BitmapFilename(); + + // Get landscape bitmap file name + inline TDesC& BitmapFilenameLandscape(); + + // Get/set lights on time (secs) + inline TInt Lights(); + inline void SetLights(TInt aSecs); + + // Landscape used? + inline TInt UseLandscape(); + + // Should bitmaps be scaled to screen + inline TInt ScaleBmps(); + +private: // Utility functions + // Opens the settings file (initialises the settings reader) + TInt OpenSettings(); + + // Figures out the bitmap file name + void LoadBitmapFileName(TBool aLandscape = EFalse); + +private: + // Settings file handler + CBmpAnimIniData* iIniData; + + // Time to run the animation. Overrides loop count + TInt iRunningTime; + + // Number of loops to be run. Used if run time is undefined + TInt iLoopCount; + + // Time to suspend the animation. -1 = indefinitely + TInt iSuspendTime; + + // Time to display each image. Individual image timing overrides this. + TInt iTiming; + + // Plugin name + TBuf iPluginName; + + // Bitmap file name + TFileName iMbmFileName; + + // Landscale bitmap file name + TFileName iMbmFileNameL; + + // Lights on time (secs) + TInt iLights; + + // Landscape images used (0 = no) + TInt iUseLandscape; + + // Bitmaps scaled to screen size (0 = no) + TInt iScaleBmps; + }; + + +// --- inlines --- + +// Get run time (-1 = not defined) +inline TInt CBmpAnimSettings::RunningTime() + { return iRunningTime; } + + +// Get loop count (-1 = not defined) +inline TInt CBmpAnimSettings::LoopCount() + { return iLoopCount; } + + +// Get suspend time (-1 = indefinitely) +inline TInt CBmpAnimSettings::SuspendTime() + { return iSuspendTime; } + + +// Get default timing +inline TInt CBmpAnimSettings::Timing() + { return iTiming; } + +// Set default timing +inline void CBmpAnimSettings::SetTiming(TInt aTiming) + { iTiming = aTiming; } + + +// Get default bitmap file +inline TDesC16& CBmpAnimSettings::PluginName() + { return iPluginName; } + + +// Get default bitmap file +inline TDesC16& CBmpAnimSettings::BitmapFilename() + { return iMbmFileName; } + +// Get landscape bitmap file +inline TDesC16& CBmpAnimSettings::BitmapFilenameLandscape() + { return iMbmFileNameL; } + +// Get lights on time (secs) +inline TInt CBmpAnimSettings::Lights() + { return iLights; } + + +// Set lights on time (secs) +inline void CBmpAnimSettings::SetLights(TInt aSecs) + { iLights = aSecs; } + +// Use landscape? +inline TInt CBmpAnimSettings::UseLandscape() + { return iUseLandscape; } + +// Scale bitmaps? +inline TInt CBmpAnimSettings::ScaleBmps() + { return iScaleBmps; } + +#endif // C_CBMPANIMSETTINGS_H