diff -r 000000000000 -r bde4ae8d615e os/mm/mmplugins/mmfwplugins/src/Plugin/subtitle/common/mmfsubtitlegraphicmessage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/mm/mmplugins/mmfwplugins/src/Plugin/subtitle/common/mmfsubtitlegraphicmessage.h Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,125 @@ +// Copyright (c) 2008-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: +// + +/** + @file + @internalComponent +*/ + +#ifndef MMFSUBTITLEGRAPHICMESSAGE_H +#define MMFSUBTITLEGRAPHICMESSAGE_H + +#include +#include + +/* +Defines the message classes for communication between the MMF CRP +subtitle rendering client and the WSERV CRP graphic plug-in +*/ + + +enum TSubtitleGraphicMessage + { + ESubtitleCrpMessageInit = 10, + ESubtitleCrpMessageInitSimple = 20, + ESubtitleCrpMessageClear = 30, + ESubtitleCrpMessageDrawFrame = 40, + ESubtitleCrpMessageSwapFrame = 50 + }; + +/** +Base class for all CRP messages +*/ +class TSubtitleGraphicMessageBase +{ +public: + TSubtitleGraphicMessageBase(TSubtitleGraphicMessage aMsgType); + +protected: + TInt8 iMsgType; +}; + +/** +Initialise the CRP +Passes two bitmap handles to the CRP +@see CMMFSubtitleGraphic::Initialize(TInt aBuffer1, TInt aBuffer2); +*/ +class TSubtitleCrpMsgInit : public TSubtitleGraphicMessageBase + { +public: + TSubtitleCrpMsgInit(); + TSubtitleCrpMsgInit(TInt aBitmapHandle1, TInt aBitmapHandle2); + +public: + TInt iBitmapHandle1; + TInt iBitmapHandle2; + }; + +/** +Initialise the CRP +@see CMMFSubtitleGraphic::Initialize() +*/ +class TSubtitleCrpMsgInitSimple : public TSubtitleGraphicMessageBase + { +public: + TSubtitleCrpMsgInitSimple(); + }; + +/** +Request that the CRP clears all content from the window +@see CMMFSubtitleGraphic::Clear() +*/ +class TSubtitleCrpMsgClear : public TSubtitleGraphicMessageBase + { +public: + TSubtitleCrpMsgClear(); + }; + +/** +Requests that the CRP draws a frame indicated by the CFBSBitmap handle provided +@see CMMFSubtitleGraphic::DrawFrame(TInt aFrameHandle, TRect& aDirtyRegion, + TTimeIntervalMicroSeconds& aDisplayDuration) +*/ +class TSubtitleCrpMsgDrawFrame : public TSubtitleGraphicMessageBase + { +public: + TSubtitleCrpMsgDrawFrame(); + TSubtitleCrpMsgDrawFrame(TInt aBitmapHandle, const TRect& aDirtyRegion, const TTimeIntervalMicroSeconds& aDisplayDuration); + +public: + TInt iBitmapHandle; + TRect iDirtyRegion; + TTimeIntervalMicroSeconds iDisplayDuration; + }; + +/** +Request that the CRP draw the content in the current back buffer. Assumes that the CRP +has been intialized with TSubtitleCrpMsgInit +@see CMMFSubtitleGraphic::SwapFrame(TInt aExpectedBuffer, + TTimeIntervalMicroSeconds& aDisplayDuration, const TRect& aDirtyRegion) +*/ +class TSubtitleCrpMsgRenderSwapFrame : public TSubtitleGraphicMessageBase + { +public: + TSubtitleCrpMsgRenderSwapFrame(); + TSubtitleCrpMsgRenderSwapFrame(TInt aExpectedFrame, const TRect& aDirtyRegion, const TTimeIntervalMicroSeconds& aDisplayDuration); + +public: + TInt iExpectedFrame; + TTimeIntervalMicroSeconds iDisplayDuration; + TRect iDirtyRegion; + }; + +#endif