mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/inc/graphicsurface.h
author hgs
Thu, 24 Jun 2010 10:37:45 +0100
changeset 26 c36d67f77f75
permissions -rw-r--r--
2010wk21_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     1
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     2
// All rights reserved.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     7
//
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     8
// Initial Contributors:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    10
//
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    11
// Contributors:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    12
//
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    13
// Description:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    14
// Reference sample client-side "provider" interface CWsGraphic plugin using GCE Surfaces
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    15
// Copied from common/generic/graphics/wserv/nga/samplegraphicsurfacedrawer
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    16
// if the CRP tests suddenly starts to break or fail to build it might be due to this file has changed in CBR
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    17
// 
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    18
//
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    19
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    20
#ifndef __GRAPHICSURFACE_H__
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    21
#define __GRAPHICSURFACE_H__
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    22
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    23
#include <w32std.h>
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    24
#include <w32stdgraphic.h>
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    25
#include <graphics/surface.h>
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    26
#include <graphics/surfaceconfiguration.h>
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    27
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    28
enum TDrawWsGraphicArgumentFlags
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    29
	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    30
	EDrawWsAllScreens							=0x00000001,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    31
	EDrawWsTSurfaceIdIgnored 					=0x00000002,	//<Indicates that the client should NOT supply
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    32
	EDrawWsNotifyProviderTSurfaceIdChanged		=0x00000100,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    33
	EDrawWsNotifyProviderConfigChanged			=0x00000200,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    34
	EDrawWsNotifyProviderPlayControlsChanged	=0x00000400,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    35
	EDrawWsNotifyProviderSurfaceUnreferenced	=0x00000800,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    36
	EDrawWsNotifyProviderConfigRereferenced		=0x00001000,	//<Triggers a one-shot config notification when drawn after an unreference
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    37
	EDrawWsNotifyProviderConfigNextReref		=0x00002000,	//<Automatic one-shot set after unreferenced if 
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    38
	EDrawWsNotifyError							=0x00010000,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    39
	EDrawWsNotifyProviderAll					=0x000FFF00,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    40
	EDrawWsUpdateTSurfaceId						=0x00100000,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    41
	EDrawWsUpdateConfiguration					=0x00200000,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    42
	EDrawWsUpdatePlayerControls					=0x00400000,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    43
	EDrawWsUpdateAll							=0x0FF00000,
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    44
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    45
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    46
//KUidGraphicMsgSurface=  0x10285C57 	  To    0x10285C5B
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    47
class TWsSurfaceConfiguration: public TWsGraphicMsgFixedBase
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    48
/** data attached to a CWindowGc::DrawWsGraphic to allow the artwork to understand surface configuration commands.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    49
Also use to notify owner client of config change.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    50
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    51
@publishedAll
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    52
@released
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    53
*/	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    54
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    55
	enum
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    56
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    57
		ETypeId = 0x10285C57
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    58
		};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    59
		TWsSurfaceConfiguration()
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    60
		:	TWsGraphicMsgFixedBase(TUid::Uid(ETypeId),sizeof(*this))
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    61
		{	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    62
		TWsSurfaceConfiguration(const TSurfaceConfiguration& aConfig)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    63
		:	TWsGraphicMsgFixedBase(TUid::Uid(ETypeId),sizeof(*this)),
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    64
			iConfig(aConfig)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    65
			
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    66
		{	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    67
	TSurfaceConfiguration iConfig;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    68
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    69
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    70
class TWsDebugResultCode: public TWsGraphicMsgFixedBase
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    71
/** Data attached to a message to the artwork provider notifying it of a command result code
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    72
This code is always followed by the command that caused it (TSurfaceConfig)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    73
*/
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    74
	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    75
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    76
	enum
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    77
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    78
		ETypeId = 0x10285C5A
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    79
		};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    80
	TWsDebugResultCode():	TWsGraphicMsgFixedBase(TUid::Uid(ETypeId),sizeof(*this))
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    81
		{	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    82
	TInt iResult;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    83
	TInt iExtra;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    84
	TInt iLineNum;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    85
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    86
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    87
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    88
class TWsSurfaceUnreferenced: public TWsGraphicMsgFixedBase
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    89
/** data attached to a message to the artwork provider to allow it to react if a surface is no longer drawn
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    90
play-stop-pause commands.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    91
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    92
@publishedAll
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    93
@released
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    94
*/	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    95
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    96
	enum
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    97
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    98
		ETypeId = 0x10285C58
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    99
		};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   100
	TWsSurfaceUnreferenced():	TWsGraphicMsgFixedBase(TUid::Uid(ETypeId),sizeof(*this))
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   101
		{	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   102
	TSurfaceId iId;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   103
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   104
class CWsGraphicDrawerSurface;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   105
class TWsDebugResultCode;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   106
class CWsGraphicSurface: public CWsGraphic
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   107
/** Client representation of a window-server-side CFbsBitmap owned by this Client
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   108
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   109
@publishedAll
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   110
@released
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   111
*/
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   112
	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   113
	friend class CWsGraphicDrawerSurface;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   114
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   115
	IMPORT_C static CWsGraphicSurface* NewL(const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   116
	IMPORT_C static CWsGraphicSurface* NewL(TUid aUid,const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   117
	IMPORT_C static CWsGraphicSurface* NewL(const TWsGraphicId& aReplace,const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   118
	IMPORT_C  void ConstructL(const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   119
	IMPORT_C  void ConstructL(TUid aUid,const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   120
	IMPORT_C  void ConstructL(const TWsGraphicId& aReplace,const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   121
	IMPORT_C ~CWsGraphicSurface();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   122
protected: 
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   123
	IMPORT_C TInt ShareGlobally();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   124
	IMPORT_C TInt UnShareGlobally();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   125
	IMPORT_C TInt Share(TSecureId aClientId);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   126
	IMPORT_C TInt UnShare(TSecureId aClientId);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   127
	IMPORT_C TInt SendMessage(const TSurfaceConfiguration&);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   128
	IMPORT_C TInt SendMessage(const TWsGraphicAnimation&);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   129
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   130
	virtual void HandleMessage(const TSurfaceConfiguration&)		{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   131
	virtual void HandleMessage(const TWsGraphicAnimation&)			{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   132
	virtual void HandleMessage(const TWsSurfaceUnreferenced&)		{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   133
	virtual void HandleMessage(const TWsDebugResultCode&)		{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   134
	virtual void HandleOtherMessage(const TWsGraphicMsgFixedBase&)	{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   135
	IMPORT_C virtual TInt CWsGraphicSurface_Reserved1();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   136
	IMPORT_C virtual TInt CWsGraphicSurface_Reserved2();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   137
	IMPORT_C virtual TInt CWsGraphicSurface_Reserved3();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   138
protected:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   139
	class TConstructParams;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   140
	IMPORT_C TConstructParams* MakeParamsLC(const TSurfaceConfiguration& aSurface, TUint aDrawWsGraphicArgumentFlags, const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   141
	IMPORT_C CWsGraphicSurface();		//Derivers should implement NewL to call ConstructL
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   142
	IMPORT_C void RegisterScreens(const TSurfaceConfiguration& aSurface,const TArray<TUint>*  aScreensMap=NULL);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   143
	IMPORT_C void UnRegisterScreens();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   144
private:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   145
	void HandleMessage(const TDesC8& aData);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   146
	void OnReplace();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   147
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   148
private: //data
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   149
	TSurfaceId		iRegisteredId;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   150
	RArray<TUint>	iRegisteredScreens;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   151
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   152
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   153
/** Used as the parameter payload to construct the drawer
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   154
*/
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   155
class CWsGraphicSurface::TConstructParams
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   156
	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   157
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   158
	TInt Size()
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   159
		{	return iParamFlags.Size()+iConfig.Size()+2*sizeof(TWsGraphicMsgFixedBase);	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   160
	void* operator new(TUint size,TInt aNumExtras)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   161
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   162
		return ::operator new(size+((aNumExtras>=0)?aNumExtras*sizeof(TInt):0));
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   163
		}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   164
	void operator delete(void* aObj,TInt /*aNumExtras*/)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   165
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   166
		::operator delete(aObj);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   167
		}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   168
	void operator delete(void* aObj)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   169
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   170
		::operator delete(aObj);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   171
		}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   172
	TWsSurfaceConfiguration iConfig;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   173
	class TParamFlags:public TWsGraphicMsgFixedBase
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   174
		{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   175
		public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   176
		enum
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   177
			{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   178
			ETypeId = 0x10285C59
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   179
			};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   180
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   181
		TParamFlags(): TWsGraphicMsgFixedBase(TUid::Uid(ETypeId),sizeof(*this))
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   182
			{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   183
		TParamFlags(TInt aNumExtras): TWsGraphicMsgFixedBase(TUid::Uid(ETypeId),sizeof(*this)+aNumExtras*sizeof(TInt))
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   184
			{}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   185
		TUint iDrawWsGraphicArgumentFlags;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   186
		TUint iScreensMap[1];	//THIS MUST BE THE LAST FIELD!!!
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   187
		} iParamFlags;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   188
	TConstructParams()	
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   189
	{	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   190
	TConstructParams(const TSurfaceConfiguration& aConfig,TInt aNumExtras=0)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   191
	:	iConfig(aConfig),iParamFlags(aNumExtras)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   192
	{	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   193
	TCleanupItem	CleanupItem()	{ return TCleanupItem(Cleanup,this);	}
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   194
	static void Cleanup(void* p)	{	delete(TConstructParams*)p;	}	
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   195
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   196
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   197
#endif //__GRAPHICSURFACE_H__
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
   198