--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/imagingfws/src/Test/TImageDisplay/TImageDisplay.h Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,186 @@
+// 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 "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:
+//
+
+#ifndef TIMAGEDISPLAY_H
+#define TIMAGEDISPLAY_H
+
+#include <eikappui.h>
+#include <eikapp.h>
+
+#include <eikdoc.h>
+
+#include <imageconversion.h>
+#include <imagedisplay.h>
+#include "app_uid.h"
+
+const TUid KUidTVideo={ APPUID };
+
+// class CImgDisplayAppView
+class CImageDisplay;
+class CDisplayModeDialog;
+class CImgDisplayAppView;
+
+class CVideoWalker;
+
+// CImgDisplAppUi
+
+class CImgDisplAppUi : public CEikAppUi, public MIclImageDisplayObserver
+ {
+ friend class CVideoWalker;
+private:
+ enum TFileType
+ {
+ EFileTypeUnknown,
+ EFileTypeWbmp,
+ EFileTypeOta
+ };
+ enum TState
+ {
+ EIdle,
+ ELoading,
+ EPlaying,
+ EPlayPaused,
+ EPlayingWait,
+ ESaving,
+ EFolderWait
+ };
+public:
+ void ConstructL();
+ CImgDisplAppUi();
+ ~CImgDisplAppUi();
+protected:
+ virtual void MiidoImageReady(const CFbsBitmap* aBitmap, TUint aStatus, const TRect& aUpdatedArea, TInt aError) ;
+private:
+ // From CCoeAppUi
+ virtual TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ // From CEikAppUi
+ virtual void HandleCommandL(TInt aCommand);
+ virtual TBool ProcessCommandParametersL(TApaCommand aCommand,TFileName& aDocumentName,const TDesC8& aTail);
+ void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
+ TBool CheckHotKeyNotDimmedL(TInt aCommandId);
+ TUint ImageOptions() const;
+
+ void OpenFileL(TFileType aFileType);
+ void LoadFileL();
+ void SaveAsL();
+ void DisplayModeL();
+ void ScalingQualityL();
+ void ClipRectParamsL();
+ void DrmParamsL();
+ void BackgroundColorL();
+ void ExtractFrameL();
+ void Pause();
+ void PlayClipL();
+ void NextFrameL();
+ void StreamPlayL(TFileType aFileType = EFileTypeUnknown, TBool aMultiFrameStreaming=EFalse);
+ void FrameInfoL();
+ void FrameRotateL(TBool aClockwise);
+ void FrameFlipL(TBool aVertical);
+ void AutoRotateL();
+ void MaxReductionL();
+
+ void RunL(CVideoWalker* aWalker, TInt aStatus);
+ void DoCancel(CVideoWalker* aWalker);
+ void Cancel();
+
+ void HandleNewlyOpenedImageL();
+ void HandleConvertCompleteL();
+ void DrawConvertedFrame();
+ void ResizeBitmapsToSuitL();
+ void StartFrameOpen(TState aNextState);
+ void StartFrameSave();
+
+ void HandleRunError(CVideoWalker* aWalker, TInt aError);
+
+ void OpenFolderL();
+ void LoadFolderWait();
+ void LoadFolderL(const TDesC& aFolderName);
+ void OpenNextFolderEntry();
+
+ void MakeName(const TDesC& aDir, TBool aIsMask, TDes& aFileName) const;
+
+ static void ReplaceNewlinesWithLineBreaks(TDes& aDes);
+
+private:
+ CImageDisplay* iImageDisplay;
+ const CFbsBitmap* iFrame; // not owned
+ const CFbsBitmap* iMask; // not owned
+ TSize iImageDisplaySize;
+ TPoint iOffset;
+ TInt iFrameNumber;
+ TInt iPrevFrameNumber;
+ TInt iRotationAngle;
+ TUint iLatestStatus;
+ TInt iLatestError;
+ TBool iUseThumbnail;
+ TBool iPauseAfterEachFrame;
+ TFileName iDrmContentId;
+ ContentAccess::TIntent iDrmIntent;
+ TBool iClippingSet;
+ TRect iClipRect;
+ TInt iScalingQuality;
+ CImgDisplayAppView* iAppView;
+ TInt iZoomFactor;
+ TFileName iLoadFileName;
+ TFileName iSaveFileName;
+ TFileSaveInfo iSaveInfo;
+ TTime iTime;
+ TInt iBackgroundColor;
+ TBool iOverrideBackgroundColor;
+ TSize iOverallSize;
+ TFileType iLastFileType;
+ TUint32 iLastFrameFlags;
+ TSize iScaleSize;
+ TBool iViewResized;
+ TBool iDisableMask;
+ TBool iDumpFrames;
+ TInt iMaxReduction;
+
+ CImageEncoder* iSaveUtil;
+ CFrameImageData* iFrameImageData;
+ TState iState;
+ CVideoWalker* iWalker;
+ RTimer iTimer;
+
+ // for folder opens
+ TFileName iDirName;
+ CDir* iDir;
+ TInt iDirIndex;
+ TBool iOpeningFolder;
+ };
+
+// CImgDisplDocument
+
+class CImgDisplDocument : public CEikDocument
+ {
+public:
+ CImgDisplDocument(CEikApplication& aApp);
+private:
+ // from CEikDocument
+ CEikAppUi* CreateAppUiL();
+ };
+
+// CImgDisplApp
+
+class CImgDisplApp : public CEikApplication
+ {
+private:
+ // from CApaApplication
+ CApaDocument* CreateDocumentL();
+ TUid AppDllUid() const;
+ };
+
+#endif
+