--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerFreqBand.h Tue Feb 02 01:08:46 2010 +0200
@@ -0,0 +1,216 @@
+/*
+* Copyright (c) 2005 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: Declares classes related to Equalizer Settings
+*
+*/
+
+
+
+
+#ifndef EQUALIZERFREQBAND_H
+#define EQUALIZERFREQBAND_H
+
+// INCLUDES
+#include <AknDialog.h>
+#include "EqualizerPrivateConstants.h"
+
+// FORWARD DECLARATIONS
+class CAudioEqualizerUtility;
+class CAudioEqualizer;
+
+// CLASS DECLARATIONS
+
+NONSHARABLE_CLASS(CEqualizerFreqBand) : public CCoeControl
+ {
+ public: // Constructors and destructor
+ /**
+ * This function is called to create an object of
+ * type CEqualizerFreqBand - Two phase Construction
+ * @since 3.0
+ * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+ * @param aAudEqUtility a reference to CAudioEqualizerUtility
+ * @param aPresetIndex the index of the Preset being edited
+ * @param aIsActivePreset whether the preset is active or not?
+ * @param aBandIndex the index of the Frequncy band
+ * @param aContainerRect the CEqualizerFreqBandContainer rectangle
+ */
+ static CEqualizerFreqBand* NewL(CEqualizerEditingDialog* aEqEditingDialog,
+ CAudioEqualizerUtility*& aAudEqUtility,
+ const TInt aPresetIndex, const TBool aIsActivePreset, const TInt aBandIndex,
+ TRect& aContainerRect);
+ /**
+ * This function is called to create an object of
+ * type CEqualizerFreqBand - Two phase Construction
+ * @since 3.0
+ * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+ * @param aAudEqUtility a reference to CAudioEqualizerUtility
+ * @param aPresetIndex the index of the Preset being edited
+ * @param aIsActivePreset whether the preset is active or not?
+ * @param aBandIndex the index of the Frequncy band
+ * @param aContainerRect the CEqualizerFreqBandContainer rectangle
+ */
+ static CEqualizerFreqBand* NewLC(CEqualizerEditingDialog* aEqEditingDialog,
+ CAudioEqualizerUtility*& aAudEqUtility,
+ const TInt aPresetIndex, const TBool aIsActivePreset, const TInt aBandIndex,
+ TRect& aContainerRect);
+ /**
+ * Destructor
+ * @since 3.0
+ */
+ virtual ~CEqualizerFreqBand();
+
+ public: // Functions from base classes
+ /**
+ * From CCoeControl Called when user presses a key
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+ TEventCode aType);
+
+ public:
+
+ /**
+ * Function to return the Rect of the controls from the
+ * layout [read from the CDL file].
+ * TRect aRect : parent controls rect
+ * TInt aVariety : equalizer variety based on the number
+ * of frequnecy bands
+ * TInt aComponentNumber : Controls which are enumerated for
+ * which the rectangle is required from the layout
+ */
+ static TRect ComponentRect(const TRect& aRect, TInt aVariety,
+ TInt aComponentNumber);
+
+ private://Constructors
+ /**
+ * This function is called to create an object of
+ * type CEqualizerFreqBand - First phase Constructor
+ * @since 3.0
+ * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+ * @param aAudEqUtility a reference to CAudioEqualizerUtility
+ * @param aPresetIndex the index of the Preset being edited
+ * @param aIsActivePreset whether the preset is active or not?
+ * @param aBandIndex the index of the Frequncy band
+ * @param aContainerRect the CEqualizerFreqBandContainer rectangle
+ */
+ CEqualizerFreqBand(CEqualizerEditingDialog* aEqEditingDialog,CAudioEqualizerUtility*& aAudEqUtility,
+ const TInt aPresetIndex, const TBool aIsActivePreset,
+ const TInt aBandIndex,
+ TRect& aContainerRect);
+
+ /*
+ * Second Phase Constructor
+ */
+ void ConstructL();
+
+ private: // New functions
+ /**
+ *This function is called to load the bitmaps from the icons file
+ */
+ void LoadBitmapsL();
+
+ /**
+ * This member is called by the Equalizer UI to update the new band
+ * level in the engine
+ * a new preset.
+ * @ since Series 60 3.0
+ * lastIncFlag : Flag which indicates that the slider has reached the
+ * the limits
+ */
+ void UpdateBandLevelInEngineL(TBool lastIncFlag);
+ public: // New functions
+ /**
+ * This function is used to set new values for CAudioEqualizerUtility*
+ * @since 3.0
+ * @param aAudEqUtility New pointer to CAudioEqualizerUtility
+ */
+ void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility);
+
+#ifdef RD_SCALABLE_UI_V2
+ /**
+ * This function is used by the frequency band container to send
+ * pointer events to individual bands
+ * @since 3.2
+ * @param aPointerEvent pointer event
+ */
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+#endif //RD_SCALABLE_UI_V2
+
+ private: // Functions from base classes
+ /**
+ * From CCoeControl Called to draw a control
+ */
+ void Draw(const TRect& aRect) const;
+ /**
+ * From CCoeControl Called when the control's size is changed
+ */
+ void SizeChanged();
+ /**
+ * From CCoeControl Called when a control's focus is changed
+ */
+ void FocusChanged(TDrawNow aDrawNow);
+
+ /**
+ * From CCoeControl
+ * This function is called when there is a skin change or
+ * change in the layout
+ */
+ void HandleResourceChange(TInt aType);
+
+ private: //Data
+ //Pointers to hold the equalizer backgroung bitmap and mask
+ CFbsBitmap * iBgBitmap;
+ CFbsBitmap * iBgBitmapMask;
+
+ //Pointers to hold the equalizer scale bitmap and mask
+ CFbsBitmap * iSliderBitmap;
+ CFbsBitmap * iSliderBitmapMask;
+
+ // Stores the zero position of mover
+ TInt iZeroPos;
+ // Minimum frequency band decibel level
+ TInt32 iMinBandLevel;
+ // Maximum frequency band decibel level
+ TInt32 iMaxBandLevel;
+ // Used to store a pointer to CEqualizerEditingDialog
+ CEqualizerEditingDialog* iEqEditingDialog;
+ // Used to store a pointer to CAudioEqualizerUtility
+ CAudioEqualizerUtility* iAudEqUtility;
+ // Used to store a pointer to CAudioEqualizer
+ CAudioEqualizer* iAudioEqualizer;
+ // The index of the preset in the array returned by
+ // CAudioEqualizerUtility::Presets()
+ const TInt iPresetIndex;
+ // Used to store the name of the preset
+ TPresetName iPresetName;
+ // Whether the preset displayed is an active preset?
+ const TBool iIsActivePreset;
+ // Index of the Frequency Band as passed to Engine
+ const TInt iBandIndex;
+ // Position of the mover
+ TInt iMoverPos;
+ //Stores the container's rect value
+ TRect& iContainerRect;
+ //Stores the freq band Scale's rectangle
+ TRect iScaleRect;
+ //Stores the slider's rectangle
+ TRect iSliderRect;
+ //Stores the background rectangle
+ TRect iBackgroundRect;
+ //Stores the step count of the slider
+ TInt32 iStepCount;
+ };
+
+
+#endif //EQUALIZERFREQBAND_H
+// End of File