author | William Roberts <williamr@symbian.org> |
Mon, 23 Aug 2010 14:34:16 +0100 | |
changeset 117 | a07b4f57fa97 |
permissions | -rw-r--r-- |
117
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1 |
// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
2 |
// All rights reserved. |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
4 |
// under the terms of "Eclipse Public License v1.0" |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html". |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
7 |
// |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
8 |
// Initial Contributors: |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
10 |
// |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
11 |
// Contributors: |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
12 |
// |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
13 |
// Description: |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
14 |
// |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
15 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
16 |
#ifndef NVGRENDERSTAGEFACTORY_H |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
17 |
#define NVGRENDERSTAGEFACTORY_H |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
18 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
19 |
/** |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
20 |
@file |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
21 |
@test |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
22 |
@internalComponent - Internal Symbian test code |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
23 |
*/ |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
24 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
25 |
#include <graphics/wsplugin.h> |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
26 |
#include <graphics/wsrenderstagefactory.h> |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
27 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
28 |
class CWsRenderStage; |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
29 |
class MWsGraphicDrawerEnvironment; |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
30 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
31 |
/** This is an implementation of MWsRenderStageFactory, in the form of a CWsPlugin. |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
32 |
The window server will use this to create standard render stages for each screen, |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
33 |
if the ini file specifies them. |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
34 |
*/ |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
35 |
class CNvgRenderStageFactory : public CWsPlugin, public MWsRenderStageFactory |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
36 |
{ |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
37 |
public: |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
38 |
enum { EImplUid = 0x1028653B }; |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
39 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
40 |
public: |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
41 |
static CNvgRenderStageFactory* CreateL(); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
42 |
~CNvgRenderStageFactory(); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
43 |
void ConstructL(MWsGraphicDrawerEnvironment& aEnv,const TDesC8& aData); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
44 |
const TDesC& PluginName() const; |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
45 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
46 |
// implementation of MWsObjectProvider |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
47 |
TAny* ResolveObjectInterface(TUint aTypeId); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
48 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
49 |
// implementation of MWsRenderStageFactory |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
50 |
virtual CWsRenderStage* CreateFinalRenderStageL(MWsScreen* aScreen, MWsScreenRedraw* aScreenRedraw, TInt aScreenNumber); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
51 |
virtual CWsRenderStage* CreateRenderStageL(MWsScreen* aScreen, MWsScreenRedraw* aScreenRedraw, CWsRenderStage* aNextStage); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
52 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
53 |
private: |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
54 |
CNvgRenderStageFactory(); |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
55 |
}; |
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
56 |
|
a07b4f57fa97
Add NVGRenderStage and update the *.ini files accordingly
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
57 |
#endif // NVGRENDERSTAGEFACTORY_H |