diff -r 2717213c588a -r 171fae344dd4 windowing/windowserver/tbufferdrawer/bufferdrawer.cpp --- a/windowing/windowserver/tbufferdrawer/bufferdrawer.cpp Tue Jun 22 15:21:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -// 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 - @test - @internalComponent - Internal Symbian test code -*/ - -#include "bufferdrawer.h" -#include -#include -#include -#include -#include -#include -#include - - -// CWsGraphicDrawer -CWsBufferGraphicDrawer* CWsBufferGraphicDrawer::NewL() - { - return new(ELeave) CWsBufferGraphicDrawer; - } - -CWsBufferGraphicDrawer::~CWsBufferGraphicDrawer() - { - } - -void CWsBufferGraphicDrawer::ConstructL(MWsGraphicDrawerEnvironment& aEnv, const TGraphicDrawerId& aId, MWsClient& aOwner, const TDesC8& /*aData*/) - { - BaseConstructL(aEnv, aId, aOwner); - // default white line number - iWhiteLinePos = 0; - } - -void CWsBufferGraphicDrawer::HandleMessage(const TDesC8& aData) - { - TInt linePos = aData[0]; - DoUpdateWhiteLinePos(linePos); - } - -void CWsBufferGraphicDrawer::DoUpdateWhiteLinePos(TInt aWhiteLinePos) - { - iWhiteLinePos = aWhiteLinePos; - // Invalidate the redrawing - Invalidate(); - } - -void CWsBufferGraphicDrawer::DoDraw(MWsGc& aGc, const TRect& aRect, const TDesC8& /*aData*/) const - { - MWsGraphicsContext* context = static_cast(aGc.ResolveObjectInterface(KMWsGraphicsContext)); - - //Draw a filled rect with the chosen color - context->Push(); - context->SetBrushStyle(MWsGraphicsContext::ESolidBrush); - context->SetBrushColor(KRgbBlue); - context->DrawRect(aRect); - context->Pop(); - - //Obtain access to the screen/OSB buffer - MWsUiBuffer* buffer = static_cast(aGc.ResolveObjectInterface(KMWsUiBufferInterfaceId)); - TAny* data; - TInt stride; - - TInt err = buffer->MapReadWrite(data, stride); - - if (err == KErrNone) - { - //Fill the chosen line with white - TUint8* scanLine = static_cast(data); - scanLine += stride * iWhiteLinePos; - Mem::Fill(scanLine, stride, 0xFF); - - buffer->Unmap(); - } - }