--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmplugins/mmfwplugins/src/Plugin/subtitle/common/mmfsubtitlegraphicmessage.h Tue Feb 02 01:56:55 2010 +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 <e32std.h>
+#include <s32strm.h>
+
+/*
+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