os/mm/mdfdevvideoextensions/nga_mdf_postprocessor_shai/src/NGAPostProcSurfaceHandler.cpp
First public contribution.
2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
20 #include <graphics/surface.h> //TSurfaceId
21 #include <graphics/surfacemanager.h> //RSurfaceManager
22 #include "MdfRDebug.h"
24 #include "NGAPostProcSurfaceHandler.h"
26 //**************************************************
28 CNGAPostProcSurfaceHandler* CNGAPostProcSurfaceHandler::NewL()
30 PP_DEBUG(_L("CNGAPostProcSurfaceHandler:NewL() ++"));
32 CNGAPostProcSurfaceHandler* self = new (ELeave) CNGAPostProcSurfaceHandler;
33 CleanupStack::PushL(self);
37 PP_DEBUG(_L("CNGAPostProcSurfaceHandler:NewL() --"));
41 void CNGAPostProcSurfaceHandler::ConstructL()
43 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:ConstructL() ++"), this);
44 iSurfaceManager = new (ELeave) RSurfaceManager();
45 User::LeaveIfError(iSurfaceManager->Open());
46 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:ConstructL() --"), this);
49 CNGAPostProcSurfaceHandler::CNGAPostProcSurfaceHandler()
50 :iSurfaceManager(NULL),
51 iSurfaceAttributes(iSurfaceAttributesBuf())
55 CNGAPostProcSurfaceHandler::~CNGAPostProcSurfaceHandler()
57 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:~() ++"), this);
60 iSurfaceManager->Close();
61 delete iSurfaceManager;
62 iSurfaceManager = NULL;
64 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:~() --"), this);
67 TInt CNGAPostProcSurfaceHandler::CreateSurface(
68 const RSurfaceManager::TSurfaceCreationAttributes & aAttributes,
69 TSurfaceId& aSurfaceId, const RChunk& aChunk)
71 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:CreateSurface() ++"), this);
72 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:CreateSurface() --"), this);
75 iSurfaceAttributes = aAttributes;
76 return(iSurfaceManager->CreateSurface(iSurfaceAttributesBuf, aSurfaceId, aChunk));
78 TInt CNGAPostProcSurfaceHandler::CreateSurface(
79 const RSurfaceManager::TSurfaceCreationAttributesBuf & aAttributes,
80 TSurfaceId& aSurfaceId)
82 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:CreateSurface() ++"), this);
83 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:CreateSurface() --"), this);
84 return(iSurfaceManager->CreateSurface(aAttributes, aSurfaceId));
88 TInt CNGAPostProcSurfaceHandler::OpenSurface(const TSurfaceId& aSurfaceId)
90 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:OpenSurface() ++"), this);
91 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:OpenSurface() --"), this);
92 return(iSurfaceManager->OpenSurface(aSurfaceId));
96 TInt CNGAPostProcSurfaceHandler::MapSurface(const TSurfaceId& aSurfaceId, RChunk& aHandle)
98 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:MapSurface() ++"), this);
99 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:MapSurface() --"), this);
100 return(iSurfaceManager->MapSurface(aSurfaceId, aHandle));
103 TInt CNGAPostProcSurfaceHandler::SurfaceInfo(const TSurfaceId& aSurfaceId,
104 RSurfaceManager::TInfoBuf& aInfo)
106 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:SurfaceInfo() ++"), this);
107 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:SurfaceInfo() --"), this);
108 return(iSurfaceManager->SurfaceInfo(aSurfaceId, aInfo));
111 TInt CNGAPostProcSurfaceHandler::DestroySurface(const TSurfaceId& aSurfaceId)
113 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:DestroySurface() ++"), this);
114 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:DestroySurface() --"), this);
115 return(iSurfaceManager->CloseSurface(aSurfaceId));
118 TInt CNGAPostProcSurfaceHandler::GetBufferOffset(const TSurfaceId& aSurfaceId, TInt aBuffer, TInt& aOffset)
120 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:GetBufferOffset() aBuffer = %d++"), this, aBuffer);
121 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:GetBufferOffset() --"), this);
122 return(iSurfaceManager->GetBufferOffset(aSurfaceId, aBuffer, aOffset));
125 TInt CNGAPostProcSurfaceHandler::AddSurfaceHint(const TSurfaceId& aSurfaceId,const RSurfaceManager::THintPair& aHint)
127 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:AddSurfaceHint() ++"), this);
128 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:AddSurfaceHint() --"), this);
129 return(iSurfaceManager->AddSurfaceHint(aSurfaceId, aHint));
132 TInt CNGAPostProcSurfaceHandler::SetSurfaceHint(const TSurfaceId& aSurfaceId,const RSurfaceManager::THintPair& aHint)
134 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:SetSurfaceHint() ++"), this);
135 PP_DEBUG(_L("CNGAPostProcSurfaceHandler[%x]:SetSurfaceHint() --"), this);
136 return(iSurfaceManager->SetSurfaceHint(aSurfaceId, aHint));