--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/epoc32/include/w32stdgraphic.h Tue Mar 16 16:12:26 2010 +0000
@@ -0,0 +1,133 @@
+// Copyright (c) 2005-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:
+// Standard CWsGraphic plugins
+//
+//
+
+#ifndef __W32STDGRAPHIC_H__
+#define __W32STDGRAPHIC_H__
+
+#include <w32std.h>
+#include <icl/imagedata.h>
+
+class TWsGraphicAnimation: public TWsGraphicMsgFixedBase
+/** data attached to a CWindowGc::DrawWsGraphic to allow the artwork to understand VCR-style
+ play-stop-pause commands.
+ @publishedAll
+ @released
+*/ {
+public:
+ enum
+ {
+ ETypeId = 0x10281AB1
+ };
+ IMPORT_C TWsGraphicAnimation();
+ IMPORT_C void Play(TBool aLoop);
+ IMPORT_C void Pause();
+ IMPORT_C void Stop(TBool aImmediately);
+ IMPORT_C TBool IsPlaying() const;
+ IMPORT_C TBool IsStopped() const;
+ IMPORT_C TBool IsStopping() const;
+ IMPORT_C TBool IsPaused() const;
+ IMPORT_C TBool Loops() const;
+private:
+ TUint State() const;
+ void SetState(TUint aState);
+private:
+ enum
+ {
+ // animation state in lowest nibble
+ EStopped = 0x00,
+ EPlaying = 0x01,
+ EStopping = 0x02,
+ EPaused = 0x03,
+ EStateMask = 0x0F,
+ // other flags above
+ ELoop = 0x10,
+ };
+ TUint iFlags;
+ TTime iPlay;
+ TTime iPauseOrStopping;
+ };
+
+NONSHARABLE_CLASS(CWsGraphicBitmap): public CWsGraphic
+/** Client representation of a window-server-side CFbsBitmap owned by this Client
+
+@publishedAll
+@released
+*/
+ {
+public:
+ IMPORT_C static CWsGraphicBitmap* NewL(const CFbsBitmap* aBitmap,const CFbsBitmap* aMask);
+ IMPORT_C static CWsGraphicBitmap* NewL(TUid aUid,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask);
+ IMPORT_C static CWsGraphicBitmap* NewL(const TWsGraphicId& aReplace,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask);
+ IMPORT_C ~CWsGraphicBitmap();
+public: // protected virtuals from CWsGraphic promoted to public
+ IMPORT_C TInt ShareGlobally();
+ IMPORT_C TInt UnShareGlobally();
+ IMPORT_C TInt Share(TSecureId aClientId);
+ IMPORT_C TInt UnShare(TSecureId aClientId);
+private:
+ CWsGraphicBitmap();
+ void HandleMessage(const TDesC8& aData);
+ void OnReplace();
+};
+
+NONSHARABLE_CLASS(CWsGraphicBitmapAnimation): public CWsGraphic
+/** Client representation of a window-server-side CFbsBitmap owned by this Client
+
+@publishedAll
+@released
+*/
+ {
+public:
+ NONSHARABLE_CLASS(CFrame): public CBase
+ {
+ public:
+ IMPORT_C static CFrame* NewL();
+ IMPORT_C ~CFrame();
+ // public getters/setters
+ IMPORT_C TFrameInfo FrameInfo() const;
+ IMPORT_C void SetFrameInfo(const TFrameInfo& aFrameInfo);
+ IMPORT_C const CFbsBitmap* Bitmap() const;
+ IMPORT_C void SetBitmap(CFbsBitmap* aBitmap);
+ IMPORT_C const CFbsBitmap* Mask() const;
+ IMPORT_C void SetMask(CFbsBitmap* aMask);
+ private:
+ CFrame();
+ private:
+ friend class CWsGraphicBitmapAnimation;
+ TFrameInfo iFrameInfo;
+ CFbsBitmap* iBitmap;
+ CFbsBitmap* iMask;
+ };
+ typedef TArray<CFrame*> TFrames;
+public:
+ IMPORT_C static CWsGraphicBitmapAnimation* NewL(const TFrames& aFrames);
+ IMPORT_C static CWsGraphicBitmapAnimation* NewL(TUid aUid,const TFrames& aFrames);
+ IMPORT_C static CWsGraphicBitmapAnimation* NewL(const TWsGraphicId& aReplace,const TFrames& aFrames);
+ IMPORT_C ~CWsGraphicBitmapAnimation();
+public: // protected virtuals from CWsGraphic promoted to public
+ IMPORT_C TInt ShareGlobally();
+ IMPORT_C TInt UnShareGlobally();
+ IMPORT_C TInt Share(TSecureId aClientId);
+ IMPORT_C TInt UnShare(TSecureId aClientId);
+private:
+ CWsGraphicBitmapAnimation();
+ static HBufC8* PackLC(const TFrames& aFrames);
+ void HandleMessage(const TDesC8& aData);
+ void OnReplace();
+};
+
+#endif //__W32STDGRAPHIC_H__