--- a/graphicsapitest/graphicssvs/wserv/TWsGraphicShare/TWsGraphicShare.cpp Wed Jun 23 19:41:15 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/*
-* Copyright (c) 2005-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:
-*
-*/
-
-
-// Include Files
-
-#include "TWsGraphicShare.h"
-#include <e32base.h>
-#include <e32std.h>
-#include <w32stdgraphic.h>
-
-// Local Functions
-
-LOCAL_C void DrawSharedGraphicL(const TDesC& aSemName, TInt aScrNum, const TWsGraphicId& aId, const TRect& aDestRect, const TDesC8& aData)
- {
- // Construct & Initiate
- RWsSession ws;
- User::LeaveIfError(ws.Connect());
- CleanupClosePushL(ws);
-
- CWsScreenDevice* screenDevice = new(ELeave) CWsScreenDevice(ws);
- CleanupStack::PushL(screenDevice);
- User::LeaveIfError(screenDevice->Construct(aScrNum));
-
- TSize screenSize = screenDevice->SizeInPixels();
-
- CWindowGc* gc = new(ELeave) CWindowGc(screenDevice);
- CleanupStack::PushL(gc);
- User::LeaveIfError(gc->Construct());
-
- RWindowGroup winGroup(ws);
- CleanupClosePushL(winGroup);
- User::LeaveIfError(winGroup.Construct(1));
-
- RWindow win(ws);
- CleanupClosePushL(win);
- TUint32 handle = 0x0F00;
- User::LeaveIfError(win.Construct(winGroup, handle));
- win.SetBackgroundColor(TRgb(255, 255, 255));
- win.SetPosition(TPoint(aDestRect.iTl.iX, aDestRect.iTl.iY));
- win.SetSize(aDestRect.Size());
- win.Activate();
-
- // Draw
- gc->Activate(win);
- win.Invalidate();
- win.BeginRedraw();
- ws.Flush();
- gc->DrawWsGraphic(aId, TRect(0,0,aDestRect.Width(),aDestRect.Height()), aData );
- gc->Deactivate();
- win.EndRedraw();
- ws.Flush();
-
- // Synchronize with master process
- RSemaphore semaphore;
- CleanupClosePushL(semaphore);
- User::LeaveIfError(semaphore.OpenGlobal(aSemName));
- semaphore.Signal();
- semaphore.Wait();
- semaphore.Close();
-
- // Deconstruct
- CleanupStack::PopAndDestroy(6);
- }
-
-LOCAL_C void MainL ( )
- {
- TBuf<128> commandLine;
- TLex lex;
- TBuf<32> semName;
- TInt screenNumber = 0;
- TInt graphId;
- TInt left, top, right, bottom;
-
- // Read arguments from the command line
- // There is a space between two adjacent parameters
- // Commandline's format looks like that:
- // 'screenNumber' 'graphId' 'left' 'top' 'right' 'bottom'
- User::CommandLine(commandLine);
- commandLine.TrimLeft();
-
- _LIT(KSpace, " ");
- TInt pos;
- // Get process name
- pos = commandLine.Find(KSpace);
- semName = commandLine.Left(pos);
- commandLine = commandLine.Mid(pos+1);
-
- // Get screen number
- pos = commandLine.Find(KSpace);
- lex = commandLine.Left(pos);
- lex.Val(screenNumber);
- commandLine = commandLine.Mid(pos+1);
-
- // Get gragaphic id
- pos = commandLine.Find(KSpace);
- lex = commandLine.Left(pos);
- lex.Val(graphId);
- commandLine = commandLine.Mid(pos+1);
-
- // Get coordinates
- pos = commandLine.Find(KSpace);
- lex = commandLine.Left(pos);
- lex.Val(left);
- commandLine = commandLine.Mid(pos+1);
-
- pos = commandLine.Find(KSpace);
- lex = commandLine.Left(pos);
- lex.Val(top);
- commandLine = commandLine.Mid(pos+1);
-
- pos = commandLine.Find(KSpace);
- lex = commandLine.Left(pos);
- lex.Val(right);
- commandLine = commandLine.Mid(pos+1);
-
- pos = commandLine.Find(KSpace);
- lex = commandLine.Left(pos);
- lex.Val(bottom);
- commandLine = commandLine.Mid(pos+1);
-
- // Get data
- TBuf8<32> data;
- data.Copy(commandLine);
-
- TWsGraphicId id(TUid::Uid(graphId));
- TRect destRect(left, top, right, bottom);
-
- // Draw the graphic
- DrawSharedGraphicL(semName, screenNumber, id, destRect, data);
- }
-
-// Global Functions
-
-GLDEF_C TInt E32Main()
- {
- // Create cleanup stack
- __UHEAP_MARK;
- CTrapCleanup* cleanup = CTrapCleanup::New();
-
- // Run application code inside TRAP harness, wait keypress when terminated
- TRAPD(error, MainL());
- _LIT(KWsGraphicShareError, "WsGraphicShareError");
- __ASSERT_ALWAYS(!error,User::Panic(KWsGraphicShareError,error));
-
- delete cleanup;
- __UHEAP_MARKEND;
- return KErrNone;
- }