webengine/osswebengine/WebKit/s60/webview/WebPageZoomHandler.h
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPageZoomHandler.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2008 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:   Implements page scrolling functionality
+*
+*/
+
+
+
+#ifndef WEBPAGEZOOMHANDLER_H
+#define WEBPAGEZOOMHANDLER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <coedef.h>
+#include <w32std.h>
+
+// MACROS
+
+// FORWARD DECLARATIONS
+class WebView;
+class WebFrame;
+class CAknVolumePopup;
+
+// CLASS DECLARATION
+class WebPageZoomHandler: public CBase, MCoeControlObserver {
+public:  // Constructor and destructor
+
+    /**
+     * Two-phased constructor.
+     **/
+    static WebPageZoomHandler* NewL(WebView& webView);
+
+    /**
+     * Destructor.
+     **/
+    virtual ~WebPageZoomHandler();
+
+private:  // Constructors
+
+    /**
+     * C++ default constructor.
+     **/
+    WebPageZoomHandler(WebView& webView);
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     **/
+    void constructL();
+public: 
+    /**
+    *  From MCoeControlObserver
+     **/
+
+    virtual void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
+
+
+public: // New functions
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+    bool handlePageZoomingL(const TPointerEvent& pointerEvent);
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+    void  showZoomSliderL();
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+    void  hideZoomSliderL();
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+
+    void setZoomLevel(TInt zoomLevel);
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+    void updateBitmap();
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+    WebView* view();
+
+    /**
+     * @since 5.0
+     * @param
+     * @return
+     **/
+    bool isActive();
+
+
+    int stepSize();
+
+private:   
+
+    // Pointer to owning view
+
+    WebView*         m_webView;     // not owned
+
+    CAknVolumePopup* m_zoomSlider;  // owned
+
+    CPeriodic*       m_bitmapUpdateTimer; // owned 
+
+    int              m_stepSize;
+};
+
+#endif      //WEBPAGEZOOMHANDLER_H
+
+// End of File