--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/HistoryProvider/HistoryView.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,267 @@
+/*
+* Copyright (c) 2004 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 "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: Represents the History View
+*
+*/
+
+
+
+#ifndef HISTORYVIEW_H
+#define HISTORYVIEW_H
+
+// INCLUDES
+#include <e32base.h>
+#include <bitdev.h>
+#include <coecntrl.h>
+
+enum THistoryViewComponent
+ {
+ EHistoryComponentNone,
+ EHistoryComponentLeftArrow,
+ EHistoryComponentRightArrow,
+ EHistoryComponentLeftPlaceHolder,
+ EHistoryComponentMiddlePlaceHolder,
+ EHistoryComponentRightPlaceHolder
+ };
+
+
+// CONSTANTS
+const int KCenterThumbnailWidthPercent = 50;
+const int KCenterThumbnailHeightPercent = 90;
+const int KSideThumbnailWidthPercent = 25;
+const int KSideThumbnailHeightPercent = 70;
+
+// FORWARD DECLARATIONS
+class HistoryController;
+class HistoryEntry;
+class WebSurface;
+
+// CLASS DECLARATION
+
+/**
+* Displays the Graphival History List
+*
+* @lib browserview.lib
+* @since Series 60 3.0
+*/
+class HistoryView : public CCoeControl
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static HistoryView* NewL( HistoryController& historyController, bool previous);
+
+ /**
+ * Destructor.
+ */
+ virtual ~HistoryView();
+
+ public: // New functions
+
+ /**
+ *
+ * Pass key events to the Browser Control
+ * @since 3.0
+ * @param aKeyEvent The key event
+ * @param aType The key code
+ * @return If the Browser Control consumed the key event or not
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode);
+
+ /**
+ * Draws the offscreen bitmap to the screen
+ * @since 3.0
+ * @param aGc System graphics context
+ * @param aRect rectangle to be drawn
+ * @return void
+ */
+ virtual void Draw( const TRect& aRect ) const;
+
+ /**
+ * GetCenterEntryTitle
+ *
+ * @since 3.x
+ * @return page title of center entry
+ */
+ TPtrC getCenterEntryTitle();
+
+ /**
+ * CalcRepaintRect
+ * Method to do transtion effect when the history view is launched
+ * @since 3.x
+ * @return ETrue when animation is continuing and EFalse when animation completes
+ */
+ bool calcRepaintRect();
+
+ /**
+ * AnimatePlaceHolderPosition
+ * Method to do transtion effect when user navigates in the history view
+ * @since 3.x
+ * @return ETrue when animation is continuing and EFalse when animation completes
+ */
+ bool animatePlaceHolderPosition();
+
+ /**
+ * AnimatePlaceHolderPosition
+ * Method to do transtion effect when user navigates in the history view
+ * @since 3.x
+ * @return ETrue when animation is continuing and EFalse when animation completes
+ */
+ int historyLoadOffset() { return ( m_centerPageIndex-m_historyStackIndex ); }
+
+ /**
+ * HandlePointerEventL
+ * From CCoeControl
+ *
+ */
+ virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+ /**
+ * AutoScroll
+ * Called v=by timer callback when user presses an arrow and does not let go
+ * @since 3.2
+ * @param
+ * @return
+ */
+ void autoScroll();
+
+ /**
+ * Perform transition
+ * Method to do layout of the history view place holders
+ * @since 3.x
+ * @return void
+ */
+ void performTransition(int dir);
+
+ void updateState(int dir);
+
+
+ private:
+
+ /**
+ * Constructor
+ * @since 3.x
+ * @param aWebKitControl
+ * @param aRect
+ * @param aMode display mode
+ */
+ HistoryView( HistoryController& aHistoryController, bool aPrevious );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL( );
+
+ /**
+ * Updates the offscreen bitmap with the thumbnails to be drawn
+ * @since 3.x
+ * @return void
+ */
+ void updateDisplay();
+
+ /**
+ * Creates offscreen bitmap
+ * @since 3.x
+ * @return void
+ */
+ void updateOffscreenBitmapL( );
+
+ /**
+ * From CCoeControl, CountComponentControls
+ */
+ int CountComponentControls() const {return 0;}
+
+ /**
+ * From CCoeControl, SizeChanged
+ */
+ virtual void SizeChanged();
+
+ /**
+ * From CCoeControl, ComponentControl
+ */
+ CCoeControl* ComponentControl(int /*aIndex*/) const { return NULL;}
+
+ /**
+ * CalculateLayout
+ * Method to do layout of the history view place holders
+ * @since 3.x
+ * @return void
+ */
+ void calculateLayout();
+
+ /**
+ * LoadUrl
+ * Method to load an url
+ * @since 3.x
+ * @return void
+ */
+ void loadUrl();
+
+ private: // Data
+
+
+ CFbsBitmapDevice* m_bitmapDevice; // owned
+
+ WebSurface* m_renderTarget; // no owned
+
+ CFbsBitGc* m_bitmapContext; // owned
+
+ HistoryController* m_historyController;// not owned
+
+ // indicates the index of the center thumbnail
+ int m_centerPageIndex;
+
+ TRect m_offscreenRect;
+
+ // represents the entry corresponding to the selected page in view
+ HistoryEntry* m_centerEntry; // not owned
+ // timer used to do animation
+ CIdle* m_repaintTimer;
+ //repaint rect using during animating initial display of history view
+ TRect m_repaintRect;
+ //resize factor applied during initial display animation
+ int m_resizeFactor;
+ //left place holder rectangle
+ TRect m_leftPlaceHolderRect;
+ //left place holder rectangle
+ TRect m_centerPlaceHolderRect;
+ //left place holder rectangle
+ TRect m_rightPlaceHolderRect;
+ //Left Arrow position
+ TPoint m_leftArrow[3];
+ //Right arrow position
+ TPoint m_rightArrow[3];
+ //Factor used during animation of place holders
+ int m_placeHolderResizeFactor;
+ //Direction of movement
+ int m_direction;
+ //Flag to check if fast animation is needed or not
+ bool m_fastScroll;
+ // Initial position of History Stack
+ int m_historyStackIndex;
+ // Save the last pointer event
+ TPointerEvent m_pointerEvent;
+ // Component selected by MouseDown event
+ THistoryViewComponent m_historyViewComponent;
+ // Timer for repeated scrolling
+ CPeriodic* m_autoScrollPeriodic;
+
+ TPoint m_lastpointerposition;
+ };
+
+#endif // HISTORYVIEW_H
+
+// End of File