svgtopt/SVG/SVGEngine/inc/Svgdecoder.h
author hgs
Wed, 03 Nov 2010 18:56:10 +0200
changeset 46 88edb906c587
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  SVG Implementation header file
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef SVGDECODER_H
hgs
parents:
diff changeset
    20
#define SVGDECODER_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <stdio.h>
hgs
parents:
diff changeset
    23
#include <e32std.h>
hgs
parents:
diff changeset
    24
#include <string.h>
hgs
parents:
diff changeset
    25
#include <e32base.h>
hgs
parents:
diff changeset
    26
#include <f32file.h>
hgs
parents:
diff changeset
    27
#include <s32file.h>
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#include "SVGPaintCssValueImpl.h"
hgs
parents:
diff changeset
    30
#include "SVGPathElementImpl.h"
hgs
parents:
diff changeset
    31
#include "GfxGeneralPath.h"
hgs
parents:
diff changeset
    32
#include "SVGSvgElementImpl.h"
hgs
parents:
diff changeset
    33
#include "SVGImageElementImpl.h"
hgs
parents:
diff changeset
    34
#include "SVGDocumentImpl.h"
hgs
parents:
diff changeset
    35
#include "SVGErrorImpl.h"
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
enum TGfxEncodedSegType
hgs
parents:
diff changeset
    38
    {
hgs
parents:
diff changeset
    39
    EGfxEncodedSegMoveTo,
hgs
parents:
diff changeset
    40
    EGfxEncodedSegLineTo,
hgs
parents:
diff changeset
    41
    EGfxEncodedSegQuadTo,
hgs
parents:
diff changeset
    42
    EGfxEncodedSegCubicTo,
hgs
parents:
diff changeset
    43
    EGfxEncodedSegClose
hgs
parents:
diff changeset
    44
    };
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
class CSvgDecoder : public CBase
hgs
parents:
diff changeset
    48
{
hgs
parents:
diff changeset
    49
public:
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
	   /**
hgs
parents:
diff changeset
    52
      * Two phase constructor
hgs
parents:
diff changeset
    53
      *
hgs
parents:
diff changeset
    54
      * @since 1.0
hgs
parents:
diff changeset
    55
      * @param None
hgs
parents:
diff changeset
    56
	  * @return An isntance of this class
hgs
parents:
diff changeset
    57
      */
hgs
parents:
diff changeset
    58
	static CSvgDecoder* NewL(const TDesC& aFileName);
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
	 /**
hgs
parents:
diff changeset
    61
      * Two phase constructor
hgs
parents:
diff changeset
    62
      *
hgs
parents:
diff changeset
    63
      * @since 1.0
hgs
parents:
diff changeset
    64
      * @param None
hgs
parents:
diff changeset
    65
	  * @return An isntance of this class
hgs
parents:
diff changeset
    66
      */
hgs
parents:
diff changeset
    67
	static CSvgDecoder* NewL(const TDesC8& aByteData);
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
		/**
hgs
parents:
diff changeset
    70
         * Reads a Descriptor's data
hgs
parents:
diff changeset
    71
         *
hgs
parents:
diff changeset
    72
         * @since 1.0
hgs
parents:
diff changeset
    73
         * @param
hgs
parents:
diff changeset
    74
         * @return the created descriptor
hgs
parents:
diff changeset
    75
         */
hgs
parents:
diff changeset
    76
	TDesC& DecodeTDesCLC();
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    	/**
hgs
parents:
diff changeset
    79
         * Reads a Descriptor's data. Used only for image element with
hgs
parents:
diff changeset
    80
         *      Embedde image.       
hgs
parents:
diff changeset
    81
         * @since 1.0
hgs
parents:
diff changeset
    82
         * @param
hgs
parents:
diff changeset
    83
         * @return the created descriptor
hgs
parents:
diff changeset
    84
         */
hgs
parents:
diff changeset
    85
	TDesC& DecodeImageEmbeddedTDesCLC();
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
		/**
hgs
parents:
diff changeset
    88
         * start of the decoder
hgs
parents:
diff changeset
    89
         *     
hgs
parents:
diff changeset
    90
         * @since 1.0
hgs
parents:
diff changeset
    91
         * @param
hgs
parents:
diff changeset
    92
         * @return the root element
hgs
parents:
diff changeset
    93
		 */
hgs
parents:
diff changeset
    94
	CSvgElementImpl*         StartDecodingL(CSvgDocumentImpl *aDocument, CSvgErrorImpl& aError);
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
		/**
hgs
parents:
diff changeset
    98
         * Read Data of a particular attribute
hgs
parents:
diff changeset
    99
         *
hgs
parents:
diff changeset
   100
         * @since 1.0
hgs
parents:
diff changeset
   101
         * @param Attribute Id
hgs
parents:
diff changeset
   102
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   103
         */
hgs
parents:
diff changeset
   104
	TInt                     DecodeAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
		/**
hgs
parents:
diff changeset
   108
         * Read Data of a presentation attribute
hgs
parents:
diff changeset
   109
         *
hgs
parents:
diff changeset
   110
         * @since 1.0
hgs
parents:
diff changeset
   111
         * @param Attribute Id
hgs
parents:
diff changeset
   112
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   113
         */
hgs
parents:
diff changeset
   114
	TBool                    DecodePresentationAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
		/**
hgs
parents:
diff changeset
   117
         * Read Data of a SVGT attribute
hgs
parents:
diff changeset
   118
         *
hgs
parents:
diff changeset
   119
         * @since 1.0
hgs
parents:
diff changeset
   120
         * @param Attribute Id
hgs
parents:
diff changeset
   121
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   122
         */
hgs
parents:
diff changeset
   123
	TBool                    DecodeSVGTAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
	/**
hgs
parents:
diff changeset
   126
         * Read Data of a SVGT attribute
hgs
parents:
diff changeset
   127
         *
hgs
parents:
diff changeset
   128
         * @since 1.0
hgs
parents:
diff changeset
   129
         * @param Attribute Id
hgs
parents:
diff changeset
   130
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   131
         */
hgs
parents:
diff changeset
   132
	TBool                    DecodeAnimationAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
		/**
hgs
parents:
diff changeset
   136
         * Read Data of a SVGT attribute
hgs
parents:
diff changeset
   137
         *
hgs
parents:
diff changeset
   138
         * @since 1.0
hgs
parents:
diff changeset
   139
         * @param Attribute Id
hgs
parents:
diff changeset
   140
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   141
         */
hgs
parents:
diff changeset
   142
	TBool                    DecodeSvgElementAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   143
hgs
parents:
diff changeset
   144
		/**
hgs
parents:
diff changeset
   145
         * Read Data of a SVGT attribute
hgs
parents:
diff changeset
   146
         *
hgs
parents:
diff changeset
   147
         * @since 1.0
hgs
parents:
diff changeset
   148
         * @param Attribute Id
hgs
parents:
diff changeset
   149
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   150
         */
hgs
parents:
diff changeset
   151
	TBool                    DecodeLangSpaceAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
		/**
hgs
parents:
diff changeset
   154
         * Read Data of an attribute
hgs
parents:
diff changeset
   155
         *
hgs
parents:
diff changeset
   156
         * @since 1.0
hgs
parents:
diff changeset
   157
         * @param Attribute Id
hgs
parents:
diff changeset
   158
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   159
         */
hgs
parents:
diff changeset
   160
	TBool                    DecodeTransformAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
		/**
hgs
parents:
diff changeset
   163
         * Read Data of an  attribute
hgs
parents:
diff changeset
   164
         *
hgs
parents:
diff changeset
   165
         * @since 1.0
hgs
parents:
diff changeset
   166
         * @param Attribute Id
hgs
parents:
diff changeset
   167
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   168
         */
hgs
parents:
diff changeset
   169
	TBool                    DecodeTestAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
		/**
hgs
parents:
diff changeset
   172
         * Read Data of an  attribute
hgs
parents:
diff changeset
   173
         *
hgs
parents:
diff changeset
   174
         * @since 1.0
hgs
parents:
diff changeset
   175
         * @param Attribute Id
hgs
parents:
diff changeset
   176
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   177
         */
hgs
parents:
diff changeset
   178
	TBool                    DecodeIdAndXmlAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
		/**
hgs
parents:
diff changeset
   181
         * Read Data of an  attribute
hgs
parents:
diff changeset
   182
         *
hgs
parents:
diff changeset
   183
         * @since 1.0
hgs
parents:
diff changeset
   184
         * @param Attribute Id
hgs
parents:
diff changeset
   185
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   186
         */
hgs
parents:
diff changeset
   187
	TBool                    DecodeUriRefAttributeL(const TUint16 aName);
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
	/**
hgs
parents:
diff changeset
   192
     * Decode attributes for Discard element
hgs
parents:
diff changeset
   193
     *
hgs
parents:
diff changeset
   194
     * @since 1.2
hgs
parents:
diff changeset
   195
     * @param Attribute Id
hgs
parents:
diff changeset
   196
     * @return A value that indicates success/failure
hgs
parents:
diff changeset
   197
     */
hgs
parents:
diff changeset
   198
    TBool                    DecodeDiscardAttributeL (const TUint16& aName);
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
		/**
hgs
parents:
diff changeset
   202
         * Read Data of an  attribute
hgs
parents:
diff changeset
   203
         *
hgs
parents:
diff changeset
   204
         * @since 1.0
hgs
parents:
diff changeset
   205
         * @param Attribute Id
hgs
parents:
diff changeset
   206
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   207
         */
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
	void                     SetPaintValueL (CCssValue*& aValue);
hgs
parents:
diff changeset
   210
hgs
parents:
diff changeset
   211
		/**
hgs
parents:
diff changeset
   212
         * Read Data of an attribute
hgs
parents:
diff changeset
   213
         *
hgs
parents:
diff changeset
   214
         * @since 1.0
hgs
parents:
diff changeset
   215
         * @param Attribute Id
hgs
parents:
diff changeset
   216
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   217
         */
hgs
parents:
diff changeset
   218
	TBool                    DecodeColorCssValueL(const TUint16 aName);
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
		/**
hgs
parents:
diff changeset
   221
         * Read Data of an  attribute
hgs
parents:
diff changeset
   222
         *
hgs
parents:
diff changeset
   223
         * @since 1.0
hgs
parents:
diff changeset
   224
         * @param Attribute Id
hgs
parents:
diff changeset
   225
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   226
         */
hgs
parents:
diff changeset
   227
	TBool                    DecodeFloatCssValueL(const TUint16 aName);
hgs
parents:
diff changeset
   228
hgs
parents:
diff changeset
   229
		/**
hgs
parents:
diff changeset
   230
         * Read Data of an  attribute
hgs
parents:
diff changeset
   231
         *
hgs
parents:
diff changeset
   232
         * @since 1.0
hgs
parents:
diff changeset
   233
         * @param Attribute Id
hgs
parents:
diff changeset
   234
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   235
         */
hgs
parents:
diff changeset
   236
    TBool                    DecodeIntCssValueL(const TUint16 aName);
hgs
parents:
diff changeset
   237
hgs
parents:
diff changeset
   238
		/**
hgs
parents:
diff changeset
   239
         * Read Data of an  attribute
hgs
parents:
diff changeset
   240
         *
hgs
parents:
diff changeset
   241
         * @since 1.0
hgs
parents:
diff changeset
   242
         * @param Attribute Id
hgs
parents:
diff changeset
   243
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   244
         */
hgs
parents:
diff changeset
   245
	TBool                    DecodeStringCssValueL(const TUint16 aName);
hgs
parents:
diff changeset
   246
hgs
parents:
diff changeset
   247
		/**
hgs
parents:
diff changeset
   248
         * Read a Des attribute value
hgs
parents:
diff changeset
   249
         *
hgs
parents:
diff changeset
   250
         * @since 1.0
hgs
parents:
diff changeset
   251
         * @param Attribute Id
hgs
parents:
diff changeset
   252
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   253
         */
hgs
parents:
diff changeset
   254
	TBool                    DecodeAttributeDesL(const TUint16 aName);
hgs
parents:
diff changeset
   255
hgs
parents:
diff changeset
   256
		/**
hgs
parents:
diff changeset
   257
         * Read a path attribute value
hgs
parents:
diff changeset
   258
         *
hgs
parents:
diff changeset
   259
         * @since 1.0
hgs
parents:
diff changeset
   260
         * @param Attribute Id
hgs
parents:
diff changeset
   261
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   262
         */
hgs
parents:
diff changeset
   263
	TBool                    DecodeAttributePathL(const TUint16 aName);
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
	void                    DecodeAnimationPathL(CGfxGeneralPath*& aPath);
hgs
parents:
diff changeset
   266
hgs
parents:
diff changeset
   267
		/**
hgs
parents:
diff changeset
   268
         * Read a float attribute value
hgs
parents:
diff changeset
   269
         *
hgs
parents:
diff changeset
   270
         * @since 1.0
hgs
parents:
diff changeset
   271
         * @param Attribute Id
hgs
parents:
diff changeset
   272
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   273
         */
hgs
parents:
diff changeset
   274
	TBool                    DecodeAttributeFloatL(const TUint16 aName);
hgs
parents:
diff changeset
   275
hgs
parents:
diff changeset
   276
		/**
hgs
parents:
diff changeset
   277
         * Read a Int attribute value
hgs
parents:
diff changeset
   278
         *
hgs
parents:
diff changeset
   279
         * @since 1.0
hgs
parents:
diff changeset
   280
         * @param Attribute Id
hgs
parents:
diff changeset
   281
         * @return A value that indicates success/failure
hgs
parents:
diff changeset
   282
         */
hgs
parents:
diff changeset
   283
    TBool                    DecodeAttributeIntL(const TUint16 aName);
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
	// checks whether required attributes are present.
hgs
parents:
diff changeset
   286
	void                     CheckRequiredAttributesL(const TUint8  aName);
hgs
parents:
diff changeset
   287
hgs
parents:
diff changeset
   288
hgs
parents:
diff changeset
   289
		 /**
hgs
parents:
diff changeset
   290
         * Destructor
hgs
parents:
diff changeset
   291
         *
hgs
parents:
diff changeset
   292
         * @since 1.0
hgs
parents:
diff changeset
   293
         * @param None
hgs
parents:
diff changeset
   294
         * @return None
hgs
parents:
diff changeset
   295
         */
hgs
parents:
diff changeset
   296
	~CSvgDecoder();
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
	void RemoveFalseSwitchCases();
hgs
parents:
diff changeset
   299
	void RemoveFalseElements();
hgs
parents:
diff changeset
   300
	TBool VerifyReqExReqFtrSysL( CSvgElementImpl* aElement );
hgs
parents:
diff changeset
   301
hgs
parents:
diff changeset
   302
    /**
hgs
parents:
diff changeset
   303
    * Find out the system language for the client environment  based on
hgs
parents:
diff changeset
   304
    * SVG source hint
hgs
parents:
diff changeset
   305
    *
hgs
parents:
diff changeset
   306
    * @since 1.0
hgs
parents:
diff changeset
   307
    * @param aValue - A string buffer that contains the System Language hint
hgs
parents:
diff changeset
   308
    * @return  None
hgs
parents:
diff changeset
   309
    */
hgs
parents:
diff changeset
   310
    void SystemLanguage( TPtr aValue );
hgs
parents:
diff changeset
   311
hgs
parents:
diff changeset
   312
private:
hgs
parents:
diff changeset
   313
hgs
parents:
diff changeset
   314
	     // Default constructor
hgs
parents:
diff changeset
   315
	CSvgDecoder();
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
		 /**
hgs
parents:
diff changeset
   318
         * Part of two phase construction
hgs
parents:
diff changeset
   319
         *
hgs
parents:
diff changeset
   320
         * @since 1.0
hgs
parents:
diff changeset
   321
         * @param None
hgs
parents:
diff changeset
   322
         * @return None
hgs
parents:
diff changeset
   323
         */
hgs
parents:
diff changeset
   324
	void ConstructL(const TDesC& aFileName);
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
	// to read from a descriptor
hgs
parents:
diff changeset
   327
	void ConstructL(const TDesC8& aByteData);
hgs
parents:
diff changeset
   328
  
hgs
parents:
diff changeset
   329
    /**
hgs
parents:
diff changeset
   330
     * Removes references of element. Usually called before the element is
hgs
parents:
diff changeset
   331
     * deleted.
hgs
parents:
diff changeset
   332
     *
hgs
parents:
diff changeset
   333
     * @since s60 3.2
hgs
parents:
diff changeset
   334
     * @param aElement Pointer of element that is about to be deleted.
hgs
parents:
diff changeset
   335
     * @return none
hgs
parents:
diff changeset
   336
     */
hgs
parents:
diff changeset
   337
    void RemoveInternalReferences( CSvgElementImpl* aElement );
hgs
parents:
diff changeset
   338
        
hgs
parents:
diff changeset
   339
private: // Data
hgs
parents:
diff changeset
   340
hgs
parents:
diff changeset
   341
	//All the functions in the class RReadStream that are used for reading data can Leave.
hgs
parents:
diff changeset
   342
	RReadStream	   iStream;
hgs
parents:
diff changeset
   343
	RFileReadStream iFStream;
hgs
parents:
diff changeset
   344
	RDesReadStream  iDStream;
hgs
parents:
diff changeset
   345
	RFs  iFs;
hgs
parents:
diff changeset
   346
hgs
parents:
diff changeset
   347
     CSvgElementImpl*iRootElement; // SVG Element
hgs
parents:
diff changeset
   348
     CSvgElementImpl*iCurrentElement; // Latest discovered element
hgs
parents:
diff changeset
   349
     CSvgElementImpl*iCurrentParentElement; // Parent element for the current depth
hgs
parents:
diff changeset
   350
     CSvgDocumentImpl*   iDocument; // The document object to which this SVG source is processed
hgs
parents:
diff changeset
   351
hgs
parents:
diff changeset
   352
	  // Various attributes that hold document "depth" information
hgs
parents:
diff changeset
   353
     TInt        iIgnoreDepth;
hgs
parents:
diff changeset
   354
     TBool       iIsSvgElement;
hgs
parents:
diff changeset
   355
hgs
parents:
diff changeset
   356
    // Various booleans that indicate success/failure or true/false for various attributes
hgs
parents:
diff changeset
   357
	 TBool       iIsAnimElement;
hgs
parents:
diff changeset
   358
hgs
parents:
diff changeset
   359
	 CSvgErrorImpl*  iSvgError;
hgs
parents:
diff changeset
   360
hgs
parents:
diff changeset
   361
	/* Added to support forward references in USE, Animation and Animate elements*/	 
hgs
parents:
diff changeset
   362
     RPointerArray<CSvgElementImpl>*    iUseElementArray;
hgs
parents:
diff changeset
   363
     RPointerArray<CSvgElementImpl>*    iAnimationElementArray;
hgs
parents:
diff changeset
   364
	 RPointerArray<CSvgElementImpl>*	iAnimRefElementArray;
hgs
parents:
diff changeset
   365
hgs
parents:
diff changeset
   366
	//array to keep track of switch elements
hgs
parents:
diff changeset
   367
	//so we can go back at the end of parsing and remove the elements
hgs
parents:
diff changeset
   368
	//that dont evaluate to true from memory
hgs
parents:
diff changeset
   369
	RPointerArray<CSvgElementImpl>*    iSwitchElementArray;
hgs
parents:
diff changeset
   370
	RPointerArray<CSvgElementImpl>*	   iReqFetAttSysArray;
hgs
parents:
diff changeset
   371
    
hgs
parents:
diff changeset
   372
    //variable to tell if the encoder was encoding fixed points or floats   
hgs
parents:
diff changeset
   373
	TBool iIsFixPt;
hgs
parents:
diff changeset
   374
	TBool iIsRGB;
hgs
parents:
diff changeset
   375
	
hgs
parents:
diff changeset
   376
	RPointerArray<CSvgImageElementImpl>    iImageElements;
hgs
parents:
diff changeset
   377
    // Embedded Images Need to be kept track cause loadimage is not called on them
hgs
parents:
diff changeset
   378
    // iImageElements has only images that have uri
hgs
parents:
diff changeset
   379
    // Document needs to be set with the total images so that it can perform a
hgs
parents:
diff changeset
   380
    // callback to the client and indicate that all image loading is complete
hgs
parents:
diff changeset
   381
    TInt iEmbeddedImagesCount;
hgs
parents:
diff changeset
   382
};
hgs
parents:
diff changeset
   383
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
hgs
parents:
diff changeset
   386
#endif