uifw/ganes/inc/HgVgConstants.h
changeset 0 2f259fa3e83a
child 6 9f56a4e1b8ab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/ganes/inc/HgVgConstants.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 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 HGVGCONSTANTS_H_
+#define HGVGCONSTANTS_H_
+
+// INCLUDES
+#include <e32base.h>
+
+namespace HgVgConstants
+    {
+
+    // maximum velocity of the spring (max velocity of view movement)
+    const TReal KMaxSpringVelocity(300.0f);
+    
+    //
+    const TReal KSpringVelocityToAnimationFactor(20.0f);
+
+
+    // maximum quads in coverflow
+    const TInt KMaxCoversVisible(17);
+    
+    // selected item index
+    const TInt KSelectedItemIndex(8);
+
+    // fi
+    const TReal KMinFlickSpeed(0.5f);
+
+    const TInt KViewUpdateInterval( 16000 ); // > ~60 fps
+    
+    // The amound of pixels one item (virtually) takes on the screen (if you think coverflow as uniform list)
+    const TReal KRowHeight(1.0f);
+    const TInt KRowHeightStep(10);
+    
+    // PI
+    const TReal PI(3.1415926535897932f);
+
+    // Spring constant
+    const TReal KSpringK(35.0f);
+    
+    // Spring damping
+    const TReal KSpringDamping(11.0f);
+    
+    // maximum distance from target to snap 
+    const TReal KPositionSnap(0.02);
+    
+    // maximum speed where to snap to item
+    const TReal KMinSpringVelocity(0.05);
+    
+    // how far user must have dragged an item before 
+    // we move to next item when user has stopped dragging gesture.
+    const TReal KDragForwardThreshold(0.2f);
+    
+    // how many albums it is threoretically possible to go forward/backward
+    // if the distance of a drag is fullscreen in length
+    const TReal KItemsToDragOnFullScreenDrag(5.0f);
+    
+    // Physics update timestep
+    const TReal KTimeStep(0.01f); // we update physics 100 fps
+    
+    // Width of one quad in 3d space
+    const TReal KWorldQuadWidth(1);
+    
+    // size of default icon in pixels
+    const TInt KDefaultIconWidth(240);
+    const TInt KDefaultIconHeight(240);
+    
+    // duration of album cover flip selection animation
+    const TInt KSelectionAnimationDuration(400000); // 0.4 seconds
+    
+    // EGL surface bits
+    const TInt KSurfaceRedBits(8);
+    const TInt KSurfaceGreenBits(8);
+    const TInt KSurfaceBlueBits(8);
+    const TInt KSurfaceAlphaBits(8);
+    
+    // used for conversions
+    const TInt KOneSecondInMicroSeconds(1000000);
+    // how long a flick gesture can tage before it is interpreted as dragging only
+    const TInt KMaxFlickDuration(200000); // 2 ms
+    // how long it user must press to move one index further
+    const TInt KKeyPressDuration(800000);
+    // factor used for converting swipe speed to view movement
+    const TReal KSwipeSpeedFactor(0.4f);
+    
+    // Camera rotation factor to use in animation
+    // when swiping
+    const TReal KCameraRotationFactor(PI/8.0f);
+    
+    // zooming factor to use in animation
+    const TReal KCameraZoomFactor(0);
+        
+    // maximum opacity of the letter popup (1.0 would be fully opaque)
+    const TReal KMaxLetterPopupOpacity(0.85);
+    
+    // update rate for the key scrolling timer
+    const TInt KMediaWallKeyScrollingUpdateInterval( 50000 );
+    
+    // number of rows in grid mediawall
+    const TInt KGridRowCount(3);
+    
+    // flipping angle in flip animation in grid mediawall
+    const TReal KGridFlipAngle(PI * 2);
+    
+    // space between items in grid mediawall
+    const TReal KSpaceBetweenGridItems(0.02f);
+    
+    // blur deviation factor for blur in zoom animation
+    const TReal KDefaultBlurDeviation(4);
+
+    // Specific constants for full screen coverflow mediawall
+    const TInt KMediaWallFullScreenItemsOnScreen(5);
+    const TReal KMediaWallFullScreenCameraZoomFactor(1.5);
+    const TReal KMediaWallFullScreenCameraRotationFactor(PI/5.0);
+    const TReal KMediaWallFullScreenSpringVelocityToAnimationFactor(10);
+    const TReal KMediaWallFullScreenZOffset(1);
+    const TInt KMediaWallFullScreenRowCount(1);
+    const TReal KMediaWallFullScreenSpringK(28);
+    const TReal KMediaWallFullScreenSpringDamping(KSpringDamping);
+    const TReal KMediaWallFullScreenSpringMaxVelocity(KMaxSpringVelocity);
+    const TReal KMediaWallFullScreenItemsToMoveOnFullScreenDrag(5);
+
+    // distance to target item where titles get rendered in fullscreen mediawall
+    // eg. if distance is greater than this, titles are not rendered
+    const TReal KTitleDrawDistance(2.0);
+    
+    // Specific constants for tbone "portrait" mediawall
+    const TInt KMediaWallTBoneItemsOnScreen(3);
+    const TReal KMediaWallTBoneCameraZoomFactor(2);
+    const TReal KMediaWallTBoneCameraRotationFactor(KCameraRotationFactor);
+    const TReal KMediaWallTBoneSpringVelocityToAnimationFactor(KSpringVelocityToAnimationFactor);
+    const TInt KMediaWallTBonePopupFontSize(100);
+    const TInt KMediaWallTBoneLabelFontSize(18);
+    const TReal KMediaWallTBoneZOffset(0.5);
+    const TInt KMediaWallTBoneRowCount(1);
+    const TReal KMediaWallTBoneSpringK(KSpringK);
+    const TReal KMediaWallTBoneSpringDamping(KSpringDamping);
+    const TReal KMediaWallTBoneSpringMaxVelocity(KMaxSpringVelocity);
+    const TReal KMediaWallTBoneItemsToMoveOnFullScreenDrag(3);
+
+    // if distance to target item is over this in tbone mediawall, it shows letter popup
+    const TReal KDrawLetterPopupDistance(2.0);
+
+    // Specific constants for mediawall grid (for photos application)
+    const TInt KMediaWallGridItemsOnScreen(3*7);
+    const TReal KMediaWallGridCameraZoomFactor(0.2);
+    const TReal KMediaWallGridCameraRotationFactor(KCameraRotationFactor);
+    const TReal KMediaWallGridSpringVelocityToAnimationFactor(KSpringVelocityToAnimationFactor/3);
+    const TInt KMediaWallGridPopupFontSize(30);
+    const TReal KMediaWallGridZOffset(0.5);
+    const TInt KMediaWallGridRowCount(3);
+    const TReal KMediaWallGridSpringK(KSpringK);
+    const TReal KMediaWallGridSpringDamping(KSpringDamping*2);
+    const TReal KMediaWallGridSpringMaxVelocity(KMaxSpringVelocity/3);
+    const TReal KMediaWallGridItemsToMoveOnFullScreenDrag(15);
+    
+    }
+
+#endif /* HGVGCONSTANTS */