epoc32/include/conpics.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
/*
williamr@4
     2
* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@4
     3
* All rights reserved.
williamr@4
     4
* This component and the accompanying materials are made available
williamr@4
     5
* under the terms of "Eclipse Public License v1.0"
williamr@4
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@4
     8
*
williamr@4
     9
* Initial Contributors:
williamr@4
    10
* Nokia Corporation - initial contribution.
williamr@4
    11
*
williamr@4
    12
* Contributors:
williamr@4
    13
*
williamr@4
    14
* Description: 
williamr@4
    15
*
williamr@4
    16
*/
williamr@4
    17
williamr@4
    18
williamr@4
    19
#ifndef __CONPICS_H__
williamr@4
    20
#define __CONPICS_H__
williamr@4
    21
williamr@4
    22
#include <e32std.h>
williamr@4
    23
#include <e32base.h>
williamr@4
    24
#include <s32stor.h>
williamr@4
    25
#include <gdi.h>
williamr@4
    26
#include <fldbltin.h>
williamr@4
    27
williamr@4
    28
//
williamr@4
    29
// Classes declared in this file
williamr@4
    30
class CXzePicture;
williamr@4
    31
class CTestPicture;
williamr@4
    32
class CDummyField;
williamr@4
    33
williamr@4
    34
/**
williamr@4
    35
@internalTechnology
williamr@4
    36
*/
williamr@4
    37
const TUid KUidXzePictureType={268435508};
williamr@4
    38
williamr@4
    39
/**
williamr@4
    40
@internalComponent
williamr@4
    41
*/
williamr@4
    42
const TUid KUidXzeDoorType={268435509};
williamr@4
    43
williamr@4
    44
/**
williamr@4
    45
@internalComponent
williamr@4
    46
*/
williamr@4
    47
const TInt KWidthInTwips=360;
williamr@4
    48
const TInt KHeightInTwips=360;
williamr@4
    49
williamr@4
    50
class MDemPictureFactory : public MPictureFactory
williamr@4
    51
/**
williamr@4
    52
@internalComponent
williamr@4
    53
*/
williamr@4
    54
	{
williamr@4
    55
	// Instantiates new CDemPictureHeaders.
williamr@4
    56
public:
williamr@4
    57
	IMPORT_C MDemPictureFactory();  // Force GCC to export vtable.
williamr@4
    58
	IMPORT_C virtual void NewPictureL(TPictureHeader& aHeader,const CStreamStore& aDeferredPictureStore)const;
williamr@4
    59
	};
williamr@4
    60
williamr@4
    61
williamr@4
    62
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
williamr@4
    63
williamr@4
    64
class CXzePicture : public CPicture
williamr@4
    65
/**
williamr@4
    66
@internalTechnology
williamr@4
    67
*/
williamr@4
    68
    {
williamr@4
    69
	// A simple test picture, that is store aware, and has state.
williamr@4
    70
	//
williamr@4
    71
public:
williamr@4
    72
	IMPORT_C static CXzePicture* NewL(TChar aLabel);
williamr@4
    73
	IMPORT_C static CXzePicture* NewL(const CStreamStore& aStore,TStreamId aId);
williamr@4
    74
	IMPORT_C virtual ~CXzePicture();
williamr@4
    75
	//
williamr@4
    76
	IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
williamr@4
    77
	IMPORT_C void InternalizeL(RReadStream& aStream);
williamr@4
    78
	IMPORT_C void RestoreL(const CStreamStore& aStore,TStreamId aId);
williamr@4
    79
	//
williamr@4
    80
	IMPORT_C void GetOriginalSizeInTwips(TSize& aSize) const;
williamr@4
    81
	//
williamr@4
    82
	IMPORT_C virtual void Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,MGraphicsDeviceMap* aMap=NULL)const;
williamr@4
    83
protected:
williamr@4
    84
	IMPORT_C CXzePicture(TChar aLabel);
williamr@4
    85
	IMPORT_C CXzePicture();
williamr@4
    86
public:
williamr@4
    87
	TSize iOriginalSizeInTwips;
williamr@4
    88
	TChar iLabel;  // Provides object state.
williamr@4
    89
	};
williamr@4
    90
williamr@4
    91
williamr@4
    92
class CXzeDoor : public CXzePicture
williamr@4
    93
/**
williamr@4
    94
@internalComponent
williamr@4
    95
*/
williamr@4
    96
	{
williamr@4
    97
	// A sample door, that has emulates 2 states of presence.  An iconic representation
williamr@4
    98
	// and a deep representation.
williamr@4
    99
	//
williamr@4
   100
public:
williamr@4
   101
	IMPORT_C static CXzeDoor* NewL(TChar aLabel,TBool aAlwaysFailToDetach=EFalse);
williamr@4
   102
	IMPORT_C static CXzeDoor* NewL(const CStreamStore& aStore,TStreamId aId);
williamr@4
   103
	//
williamr@4
   104
	IMPORT_C virtual void DetachFromStoreL(TDetach aDegree);
williamr@4
   105
	//
williamr@4
   106
	IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
williamr@4
   107
	IMPORT_C void InternalizeL(RReadStream& aStream);
williamr@4
   108
	IMPORT_C void RestoreL(const CStreamStore& aStore,TStreamId aId);
williamr@4
   109
protected:
williamr@4
   110
	IMPORT_C CXzeDoor(TChar aLabel,TBool aAlwaysFailToDetach);
williamr@4
   111
	IMPORT_C CXzeDoor(TBool aAlwaysFailToDetach);
williamr@4
   112
public:
williamr@4
   113
	TBool iAlwaysFailToDetach;
williamr@4
   114
	};
williamr@4
   115
williamr@4
   116
williamr@4
   117
class CTestPicture : public CPicture
williamr@4
   118
/**
williamr@4
   119
@internalTechnology
williamr@4
   120
*/
williamr@4
   121
    {
williamr@4
   122
public:
williamr@4
   123
	IMPORT_C static CTestPicture* NewL();
williamr@4
   124
	//
williamr@4
   125
	IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
williamr@4
   126
	//
williamr@4
   127
	IMPORT_C void GetOriginalSizeInTwips(TSize& aSize) const;
williamr@4
   128
	//
williamr@4
   129
	IMPORT_C virtual void Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,MGraphicsDeviceMap* aMap=NULL) const;
williamr@4
   130
protected:
williamr@4
   131
	IMPORT_C CTestPicture();
williamr@4
   132
public:
williamr@4
   133
	TSize iOriginalSizeInTwips;
williamr@4
   134
	};
williamr@4
   135
williamr@4
   136
///////////////////////////////////////////////////////////////////////
williamr@4
   137
williamr@4
   138
williamr@4
   139
class CDummyField : public CTextField
williamr@4
   140
/**
williamr@4
   141
@internalTechnology
williamr@4
   142
*/
williamr@4
   143
	{
williamr@4
   144
public:
williamr@4
   145
	IMPORT_C CDummyField();
williamr@4
   146
	IMPORT_C virtual TInt Value(TPtr& aValueText); // value is always "XXX"
williamr@4
   147
	IMPORT_C virtual void InternalizeL(RReadStream& aStream);
williamr@4
   148
	IMPORT_C virtual void ExternalizeL(RWriteStream& aStream)const;
williamr@4
   149
	IMPORT_C virtual TUid Type() const;
williamr@4
   150
	};
williamr@4
   151
williamr@4
   152
#endif