⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vrexappui.h

📁 nokia S60_video_operation
💻 H
字号:
/*
* ============================================================================
*  Name     : CVRexAppUi from VRexAppUi.h
*  Part of  : Video Recording Example (VRex)
*  Created  : 16.03.2004 by Nokia Forum
*  Description:
*     Declares UI class for application.
*  Version  :
*  Copyright: Nokia Corporation
* ============================================================================
*/

#ifndef __VREXAPPUI_H__
#define __VREXAPPUI_H__

// INCLUDES
#include <eikapp.h>
#include <eikdoc.h>
#include <e32std.h>
#include <coeccntx.h>
#include <aknappui.h>

#include "VRexEngine.h"
#include "VRexDocument.h"

#include "MPlayerUIControllerListener.h"

// FORWARD DECLARATIONS
class CVRexView;
class CVRexEngine;

class CAknNavigationControlContainer;
class CAknNavigationDecorator;
class CEikButtonGroupContainer;

// CLASS DECLARATION

/**
* Application UI class.
* Provides support for the following features:
* - EIKON control architecture
*
*/
class CVRexAppUi : public CAknAppUi, public MPlayerUIControllerListener
    {
    public: // Constructors and destructor
        /**
         * Second phase constructor.
         */
        void ConstructL();

        /**
         * Destructor.
         */
        ~CVRexAppUi();

    public: // Functions from MPlayerUIControllerListener
        /**
		 * This method is called when controller has been initialized completely.
		 * @param aError, error code returned
         * @return void
         */
        void InitControllerCompletedL(TInt aError);

		/**
		 * This method is called when playing a video has been completed.
		 * @param aError, error code returned
		 * @return void
		 */
        void PlayCompletedL(TInt aError);

		/**
		 * This method is called when recording a video has been completed.
		 * @param aError, error code returned
		 * @return void
		 */
        void RecordCompletedL(TInt aError);

        /**
         * This method is called when UI controller's playback position is changed.
         * @param aPlaybackPosInSeconds, new playback postions
         * @param aTotalLengthInSeconds, clips duration
         * @return void
	     */
        void PlaybackPositionChangedL(TInt64 aPlaybackPosInSeconds, TInt64 aTotalLengthInSeconds);

		/**
	     * This method plays a video clip.
         * @param aFileName, file name
         * @return void
	     */
		void PlayVideoFileL(TDesC &aFileName);

    private:
        /**
	     * From MEikMenuObserver, dynamically initialises a menu pane. 
	     * @param aResourceId, menu pane id
         * @param aMenuPane, menu pane
         * @return void     
	     */
        void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);

        /**
	     * This method creates time display navigation decorator.
         * @return navigation decorator object pointer    
	     */
	    CAknNavigationDecorator* CreateTimeNaviL();

    private:
        /**
         * From CEikAppUi, takes care of command handling.
         * @param aCommand, command to be handled
		 * @return void 
         */
        void HandleCommandL(TInt aCommand);

        /**
         * From CEikAppUi, handles key events.
         * @param aKeyEvent, event to handled.
         * @param aType, type of the key event.
         * @return response code (EKeyWasConsumed, EKeyWasNotConsumed).
         */
        virtual TKeyResponse HandleKeyEventL(
            const TKeyEvent& aKeyEvent,TEventCode aType);

    protected:
	    /**
	     * This method resumes a playing video file.
	     * @return void 
	     */
	    void DoResumeL();

	    /**
	     * This method gets the file information.
	     * @return void 
	     */
	    void DoGetFileInfoL();

        /**
		 * This method plays a video using a document handler.
		 * @return void 
		 */
	    void DoDocPlayL();

		/**
		 * This method pauses a playing video clip.
		 * @return void 
		 */
	    void DoPauseL();

		/**
		 * This method initializes a video engine.
		 * @return void 
		 */
	    void DoInitControllerL();

        /**
         * This method stops a playing video clip.
		 * @return void 
		 */
	    void DoStopL();

		/**
		 * This method plays a video clip.
		 * @return void 
		 */
	    void DoPlayL();

		/**
		 * This method records a video clip.
		 * @return void 
		 */
		void DoRecordL();

        /**
         * This method sets a text to the time navi pane.
         * @param aLabel, text to set
         * @return void 
         */
	    void SetNaviLabelL(const TDesC & aLabel);

	public: // Public members are used to keep the example code simple
		CVRexEngine* iEngine;

    private: //Data
        CVRexView* iView;

        CAknNavigationControlContainer* iNaviPane;
        CAknNavigationDecorator*	iTimeNavi;

        HBufC* iMinSecFormatString;
        HBufC* iHourMinSecFormatString;
    };

#endif

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -