--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshindicator/inc/musindicatordsa.h Tue Aug 31 15:12:07 2010 +0300
@@ -0,0 +1,186 @@
+/*
+* Copyright (c) 2007 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: Draws availability indication to screen using direct screen
+* access.
+*
+*/
+
+
+
+#ifndef C_MUSINDICATORDSA_H
+#define C_MUSINDICATORDSA_H
+
+
+#include "musunittesting.h"
+#include <e32base.h>
+#include <w32std.h>
+#include <coecntrl.h>
+
+const TInt KMusIndicatorDelay = 400000;
+const TInt KMusRedrawDelay = 25000;
+
+/**
+ * CMusIndicatorDsa provides multimedia sharing ready indicator "box"
+ * indcating videosharing availability to user.
+ *
+ * @code
+ * // Activates indication
+ * CMusIndicatorDsa* dsa = CMusIndicatorDsa::NewL();
+ *
+ * // Deactivates indication
+ * delete dsa;
+ *
+ * @endcode
+ *
+ * @lib musindicator.lib
+ */
+class CMusIndicatorDsa : public CCoeControl
+ {
+public:
+
+ MUS_UNITTEST( UT_CMusIndicatorDsa )
+
+ static CMusIndicatorDsa* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CMusIndicatorDsa();
+
+
+public: //from CCoeControl
+
+
+ /**
+ * Draws video sharing ready box and text
+ */
+ void Draw( const TRect& aRect ) const;
+
+ /**
+ * Hanldes resource change i.e layout change
+ *
+ */
+ void HandleResourceChange( TInt aType);
+
+private:
+
+ /**
+ * Initializes
+ */
+ void Initialize();
+
+ /**
+ * Loads image.
+ */
+ void LoadImageL();
+
+ /**
+ * Loads resource string.
+ */
+ void LoadResourceStringL();
+
+
+private:
+
+ CMusIndicatorDsa();
+
+ void ConstructL();
+
+ const CFont& Font() const;
+
+ void TryActivateL();
+
+
+ /**
+ * Callback function to periodic timer.
+ *
+ * @param instanse of this.
+ * @return TInt value indicating if function completed succesfully
+ */
+ static TInt TryActivate( TAny* aThis );
+
+ /**
+ * Callback function to periodic timer.
+ *
+ * @param instanse of this.
+ * @return TInt value indicating if function completed succesfully
+ */
+ static TInt DoHandleResourceChange( TAny* aThis );
+
+ void StartPeriodicTimer( const TCallBack& aCallBack) const;
+
+ /**
+ * Stops peridoic timer.
+ */
+ void StopPeriodicTimer();
+
+
+private: // data
+
+
+ /**
+ * Periodic timer.
+ * Own.
+ */
+ CPeriodic* iPeriodic;
+
+ /**
+ * Used screen rectangle.
+ */
+ TRect iScreenRect;
+
+ /**
+ * Used client area size
+ */
+ TSize iScreenSize;
+
+ /**
+ * Calculated position of left-top point of text.
+ */
+ TPoint iTextpos;
+
+ /**
+ * Color of DSA boxes border.
+ */
+ TRgb iBorderColor;
+
+ /**
+ * DSA boxes background color.
+ */
+ TRgb iBorderBgColor;
+
+ /**
+ * Color of used font.
+ */
+ TRgb iFontColor;
+
+ /**
+ * Displayed text.
+ * Own.
+ */
+ HBufC* iText;
+
+ CFbsBitmap* iIcon;
+ CFbsBitmap* iIconMask;
+
+ TSize iImageSize;
+ TPoint iImagepos;
+
+ TCallBack iActivateCallBack;
+ TCallBack iRedrawCallBack;
+
+
+ };
+
+#endif // C_MUSINDICATORDSA_H