breakdeps/Svgdecoder.cpp
author William Roberts <williamr@symbian.org>
Thu, 18 Nov 2010 13:16:30 +0000
changeset 135 b9832c8d3f36
parent 56 865fbeda552a
permissions -rw-r--r--
Update filter_obyfile.pl to ignore stem_* executables if the substitution is not requested
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     1
/*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     8
*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    11
*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    12
* Contributors:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    13
*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    14
* Description:  SVG Engine source file
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    15
 *
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    16
*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    17
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    18
#include <e32def.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    19
#include <e32base.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    20
#include <s32mem.h>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    21
#include "Svgdecoder.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    22
#include "SVGClrCssValueImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    23
#include "SVGFloatCssValueImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    24
#include "SVGIntCssValueImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    25
#include "SVGStrCssValueImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    26
#include "SVGVectorCssValueImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    27
#include "GfxAffineTransform.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    28
#include "SVGTextElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    29
#include "SVGFontFaceElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    30
#include "SvgStopElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    31
#include "SVGUseElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    32
#include "SVGAnimationBase.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    33
#include "SVGAnimateMotionElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    34
#include "SVGMpathElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    35
#include "SVGGradientElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    36
#include "SVGDiscardElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    37
#include "SVGMediaElementBase.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    38
#include "SVGMediaAnimationElementImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    39
#include "SVGTimedEntityInterface.h"
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
    40
//#include "SVGAudioElementImpl.h"
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    41
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    42
#include "SVGDocumentImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    43
#include "SVGEngineImpl.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    44
#include "SVGMemoryManager.h"
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    45
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    46
#include <languages.hrh>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    47
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    48
_LIT(OFFSET, "offset");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    49
_LIT(ZEROVALUE, "0");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    50
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    51
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    52
// CSvgDecoder* CSvgDecoder::NewL(const TDesC& aFileName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    53
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    54
CSvgDecoder* CSvgDecoder::NewL(const TDesC& aFileName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    55
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    56
	CSvgDecoder *self = new (ELeave) CSvgDecoder();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    57
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    58
	CleanupStack::PushL(self);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    59
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    60
    self->ConstructL(aFileName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    61
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    62
	CleanupStack::Pop();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    63
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    64
	return self;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    65
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    66
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    67
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    68
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    69
// void CSvgDecoder::ConstructL(const TDesC& aFileName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    70
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    71
void CSvgDecoder::ConstructL(const TDesC& aFileName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    72
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    73
	User::LeaveIfError(iFs.Connect() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    74
	User::LeaveIfError (iFStream.Open(iFs, aFileName, EFileRead));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    75
	iStream= iFStream;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    76
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    77
	/*Arrays Added For forward referencing in USE and Animate elements*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    78
	iUseElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    79
	iUseElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    80
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    81
	iAnimRefElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    82
	iAnimRefElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    83
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    84
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    85
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    86
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    87
// CSvgDecoder* CSvgDecoder::NewL(const TDesC8& aByteData )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    88
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    89
CSvgDecoder* CSvgDecoder::NewL(const TDesC8& aByteData )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    90
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    91
	CSvgDecoder *self = new (ELeave) CSvgDecoder();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    92
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    93
	CleanupStack::PushL(self);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    94
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    95
    self->ConstructL(aByteData);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    96
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    97
	CleanupStack::Pop();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    98
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
    99
	return self;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   100
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   101
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   102
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   103
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   104
// void CSvgDecoder::ConstructL(const TDesC8& aByteData)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   105
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   106
void CSvgDecoder::ConstructL(const TDesC8& aByteData)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   107
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   108
	iDStream.Open(aByteData);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   109
	iStream= iDStream;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   110
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   111
	iUseElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   112
	iUseElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   113
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   114
	iAnimRefElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   115
	iAnimRefElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   116
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   117
	// added to hold switch element handles so we can go back and delete false children of the switch
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   118
	iSwitchElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   119
    iSwitchElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   120
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   121
	// Arrays added to reset event listeners for animation element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   122
	iAnimationElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   123
	iAnimationElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   124
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   125
    //added to hold elements with required features, attributes, or sys language
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   126
    //so we can go back and delete the ones that dont pass at the start.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   127
    iReqFetAttSysArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   128
	iReqFetAttSysArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   129
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   130
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   131
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   132
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   133
// CSvgDecoder::CSvgDecoder()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   134
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   135
CSvgDecoder::CSvgDecoder()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   136
		:iRootElement( NULL ),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   137
		 iIsAnimElement(EFalse),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   138
		 iIsFixPt(EFalse),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   139
		 iIsRGB(EFalse),
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   140
		 iEmbeddedImagesCount(0)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   141
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   142
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   143
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   144
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   145
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   146
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   147
// CSvgDecoder::~CSvgDecoder()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   148
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   149
CSvgDecoder::~CSvgDecoder()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   150
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   151
	iStream.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   152
	iDStream.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   153
	iFStream.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   154
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   155
	iFs.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   156
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   157
	if(iUseElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   158
	    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   159
		iUseElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   160
		iUseElementArray->Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   161
		delete iUseElementArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   162
		iUseElementArray = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   163
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   164
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   165
	if(iAnimRefElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   166
	    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   167
		iAnimRefElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   168
		iAnimRefElementArray->Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   169
		delete iAnimRefElementArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   170
		iAnimRefElementArray = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   171
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   172
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   173
	if(iSwitchElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   174
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   175
        iSwitchElementArray->Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   176
        delete iSwitchElementArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   177
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   178
    if (iReqFetAttSysArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   179
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   180
        iReqFetAttSysArray->Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   181
        delete iReqFetAttSysArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   182
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   183
    if(iAnimationElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   184
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   185
		iAnimationElementArray->Reset();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   186
        iAnimationElementArray->Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   187
        delete iAnimationElementArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   188
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   189
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   190
        iImageElements.Close();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   191
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   192
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   193
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   194
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   195
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   196
// TDesC& CSvgDecoder::DecodeTDesCLC()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   197
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   198
TDesC& CSvgDecoder::DecodeTDesCLC()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   199
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   200
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   201
	TUint8 lUniCodeLen = 2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   202
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   203
	TUint8 uStrLen;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   204
	iStream >> uStrLen ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   205
	HBufC *lBuf = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   206
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   207
	if (uStrLen)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   208
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   209
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   210
		lBuf = HBufC::NewLC(uStrLen/lUniCodeLen);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   211
        TPtr lTmp= lBuf->Des();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   212
    	iStream.ReadL (lTmp, (TInt)  (uStrLen/lUniCodeLen));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   213
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   214
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   215
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   216
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   217
		lBuf = HBufC::NewLC(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   218
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   219
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   220
		return (TDesC &) *lBuf;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   221
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   222
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   223
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   224
// TDesC& CSvgDecoder::DecodeImageEmbeddedTDesCLC()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   225
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   226
TDesC& CSvgDecoder::DecodeImageEmbeddedTDesCLC()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   227
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   228
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   229
//	TUint8 lUniCodeLen = 2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   230
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   231
	TInt32 lImageSize;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   232
	iStream >> lImageSize ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   233
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   234
	HBufC *lBuf = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   235
    HBufC8* lBuffer =NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   236
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   237
	if (lImageSize)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   238
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   239
        lBuffer = HBufC8::NewLC(lImageSize);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   240
        TPtr8 lTemp= lBuffer->Des();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   241
    	iStream.ReadL (lTemp, (TInt)  (lImageSize));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   242
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   243
		lBuf = HBufC::NewLC(lImageSize);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   244
        TPtr lTmp= lBuf->Des();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   245
        lTmp.Copy(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   246
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   247
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   248
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   249
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   250
        lBuffer = HBufC8::NewLC(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   251
		lBuf = HBufC::NewLC(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   252
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   253
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   254
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   255
	return (TDesC &) *lBuf;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   256
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   257
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   258
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   259
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   260
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   261
// Decodig Attribute
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   262
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   263
TInt CSvgDecoder::DecodeAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   264
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   265
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   266
	if( DecodePresentationAttributeL (aName) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   267
		DecodeSVGTAttributeL (aName) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   268
		DecodeSvgElementAttributeL (aName) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   269
		DecodeIdAndXmlAttributeL ( aName ) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   270
		DecodeUriRefAttributeL ( aName ) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   271
		DecodeAnimationAttributeL (aName) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   272
		DecodeTransformAttributeL (aName) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   273
		DecodeLangSpaceAttributeL (aName) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   274
		DecodeTestAttributeL ( aName ) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   275
		DecodeDiscardAttributeL ( aName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   276
	  )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   277
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   278
		return KErrNone;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   279
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   280
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   281
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   282
		return KErrNotFound;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   283
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   284
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   285
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   286
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   287
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   288
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   289
// TBool CSvgDecoder::DecodePresentationAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   290
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   291
TBool CSvgDecoder::DecodePresentationAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   292
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   293
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   294
	if(aName<=KCSS_MAX_ATTR)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   295
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   296
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   297
		if (aName== KCSS_ATTR_FILL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   298
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   299
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   300
		    CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   301
			CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   302
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   303
			iCurrentElement->FindProperty (KCSS_ATTR_FILL,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   304
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   305
			if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   306
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   307
				iCurrentParentElement->FindProperty (KCSS_ATTR_FILL,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   308
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   309
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   310
			if (tParentValue == tValue || tValue == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   311
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   312
				if (iDocument)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   313
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   314
					tValue = iDocument->iMemoryManager->GetCssPaintObjectL(iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   315
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   316
				SetPaintValueL (tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   317
			    iCurrentElement->SetPresentationAttribute (KCSS_ATTR_FILL,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   318
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   319
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   320
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   321
				SetPaintValueL (tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   322
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   323
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   324
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   325
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   326
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   327
		if (aName== KCSS_ATTR_STROKE || aName== KCSS_ATTR_COLOR)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   328
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   329
		 	return DecodeColorCssValueL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   330
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   331
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   332
		if (aName== KCSS_ATTR_GROUP_OPACITY)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   333
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   334
			iDocument->iHasGroupOpacity = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   335
			return DecodeFloatCssValueL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   336
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   337
		if (aName== KCSS_ATTR_FILL_OPACITY ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   338
			aName== KCSS_ATTR_STROKE_OPACITY ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   339
			aName== KCSS_ATTR_STROKEWIDTH ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   340
			aName== KCSS_ATTR_FONTSIZE ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   341
			aName== KCSS_ATTR_STROKE_MITERLIMIT ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   342
			aName== KCSS_ATTR_STROKE_DASHOFFSET
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   343
			)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   344
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   345
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   346
			return DecodeFloatCssValueL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   347
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   348
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   349
		if (aName== KCSS_ATTR_VISIBILITY ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   350
			aName== KCSS_ATTR_FONTSTYLE ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   351
			aName== KCSS_ATTR_FONTWEIGHT ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   352
			aName== KCSS_ATTR_DISPLAY ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   353
            aName== KCSS_ATTR_TEXTANCHOR ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   354
			aName== KCSS_ATTR_TEXTDECORATION
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   355
			)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   356
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   357
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   358
			return DecodeIntCssValueL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   359
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   360
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   361
		if (aName== KCSS_ATTR_FONTFAMILY ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   362
			aName== KCSS_ATTR_FILLRULE ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   363
			aName== KCSS_ATTR_STROKE_LINECAP ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   364
			aName== KCSS_ATTR_STROKE_LINEJOIN
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   365
			)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   366
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   367
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   368
			return DecodeStringCssValueL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   369
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   370
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   371
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   372
		if (aName== KCSS_ATTR_STROKE_DASHARRAY)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   373
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   374
			CArrayFix<TFloatFixPt>* lArrayFix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   375
			TInt8 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   376
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   377
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   378
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   379
				lArrayFix= new ( ELeave ) CArrayFixFlat<TFloatFixPt>( lCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   380
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   381
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   382
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   383
				lArrayFix= new ( ELeave ) CArrayFixFlat<TFloatFixPt>( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   384
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   385
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   386
			 CleanupStack::PushL(lArrayFix); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   387
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   388
			TFloatFixPt lTempFix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   389
			TReal32 lTempReal;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   390
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   391
			for(TInt8 i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   392
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   393
					if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   394
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   395
					//was encoded as fixed point
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   396
					lTempFix.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   397
					lArrayFix->AppendL( lTempFix );	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   398
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   399
					else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   400
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   401
					//was encoded as floats
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   402
					
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   403
					iStream >> lTempReal;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   404
					lArrayFix->AppendL( (TFloatFixPt) lTempReal);	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   405
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   406
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   407
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   408
			CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   409
		    CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   410
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   411
			iCurrentElement->FindProperty ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   412
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   413
			if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   414
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   415
				iCurrentParentElement->FindProperty ((TInt8)aName,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   416
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   417
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   418
            if ( tParentValue == tValue || tValue == NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   419
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   420
                // This attribute is inherited from parent, or not 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   421
                // defined in parent
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   422
                if ( iDocument )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   423
                    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   424
                    // Create a new Vector object and clone lArrayFix
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   425
                    tValue = iDocument->iMemoryManager->GetCssVectorObjectL( lArrayFix );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   426
                    // Associate tValue with the current element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   427
                    iCurrentElement->SetPresentationAttribute ( ( TInt8 ) aName,tValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   428
                    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   429
                // tValue contains a copy of lArrayFix, hence lArrayFix is not needed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   430
                // anymore. 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   431
                // tValue is owned by the element.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   432
                CleanupStack::PopAndDestroy( lArrayFix ); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   433
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   434
            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   435
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   436
                // stroke dash array was already present in the element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   437
                // SetValueL function takes ownership of lArrayFix
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   438
                ((CVectorCssValueImpl*)tValue)->SetValueL ( lArrayFix );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   439
                // No need to destroy lArrayFix as it is now owned 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   440
                // by the element.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   441
                CleanupStack::Pop( lArrayFix ); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   442
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   443
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   444
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   445
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   446
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   447
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   448
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   449
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   450
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   451
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   452
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   453
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   454
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   455
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   456
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   457
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   458
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   459
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   460
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   461
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   462
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   463
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   464
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   465
// TBool CSvgDecoder::DecodeSVGTAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   466
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   467
TBool CSvgDecoder::DecodeSVGTAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   468
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   469
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   470
	if( (iCurrentElement->ElemID() == KSvgSvgElement) &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   471
      ( aName== KAtrWidth || aName== KAtrHeight ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   472
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   473
		TUint8 lFlag;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   474
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   475
		iStream >> lFlag ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   476
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   477
		if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   478
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   479
			TFloatFixPt lAtrValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   480
			lAtrValue.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   481
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   482
				// Flag is used to ckech whether height and width are percentage or not.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   483
			if(lFlag)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   484
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   485
			    if(aName == KAtrWidth)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   486
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   487
			        ((CSvgSvgElementImpl *)iCurrentElement)->iWidthInPercentage = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   488
			        ((CSvgSvgElementImpl *)iCurrentElement)->iWidthInUserCoordinate = lAtrValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   489
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   490
			    else if(aName == KAtrHeight)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   491
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   492
			        ((CSvgSvgElementImpl *)iCurrentElement)->iHeightInPercentage = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   493
			        ((CSvgSvgElementImpl *)iCurrentElement)->iHeightInUserCoordinate = lAtrValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   494
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   495
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   496
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   497
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   498
			    if(aName == KAtrWidth)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   499
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   500
			        ((CSvgSvgElementImpl *)iCurrentElement)->iWidthInPercentage = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   501
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   502
			    else if(aName == KAtrHeight)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   503
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   504
			        ((CSvgSvgElementImpl *)iCurrentElement)->iHeightInPercentage = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   505
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   506
			iCurrentElement->SetAttributeFloatL( (TInt)aName, lAtrValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   507
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   508
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   509
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   510
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   511
			TReal32 lAtrValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   512
			iStream >> lAtrValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   513
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   514
				// Flag is used to ckech whether height and width are percentage or not.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   515
			if(lFlag)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   516
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   517
			    if(aName == KAtrWidth)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   518
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   519
			        ((CSvgSvgElementImpl *)iCurrentElement)->iWidthInPercentage = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   520
			        ((CSvgSvgElementImpl *)iCurrentElement)->iWidthInUserCoordinate = lAtrValue;  
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   521
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   522
			    else if (aName == KAtrHeight)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   523
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   524
			        ((CSvgSvgElementImpl *)iCurrentElement)->iHeightInPercentage = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   525
			        ((CSvgSvgElementImpl *)iCurrentElement)->iHeightInUserCoordinate = lAtrValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   526
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   527
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   528
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   529
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   530
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   531
			    if(aName == KAtrWidth)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   532
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   533
			        ((CSvgSvgElementImpl *)iCurrentElement)->iWidthInPercentage = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   534
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   535
			    else if(aName == KAtrHeight)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   536
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   537
			        ((CSvgSvgElementImpl *)iCurrentElement)->iHeightInPercentage = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   538
			    }   
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   539
			iCurrentElement->SetAttributeFloatL( (TInt)aName, (TFloatFixPt)lAtrValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   540
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   541
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   542
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   543
	    return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   544
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   545
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   546
	if(iCurrentElement->ElemID() == KSvgTextElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   547
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   548
		if (aName== KAtrX || aName== KAtrY)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   549
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   550
			CArrayFixFlat<TFloatFixPt>* lArrayFix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   551
			TInt8 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   552
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   553
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   554
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   555
				lArrayFix= new ( ELeave ) CArrayFixFlat<TFloatFixPt>( lCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   556
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   557
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   558
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   559
				lArrayFix= new ( ELeave ) CArrayFixFlat<TFloatFixPt>( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   560
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   561
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   562
			CleanupStack::PushL(lArrayFix); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   563
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   564
			for(TInt8 i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   565
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   566
				if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   567
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   568
					TFloatFixPt lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   569
					lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   570
					lArrayFix->AppendL( lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   571
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   572
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   573
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   574
					TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   575
					iStream >> lTemp ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   576
					lArrayFix->AppendL( (TFloatFixPt) lTemp);	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   577
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   578
				
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   579
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   580
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   581
			((CSvgTextElementImpl*)iCurrentElement)->SetXYArray(aName,lArrayFix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   582
			CleanupStack::Pop(lArrayFix); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   583
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   584
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   585
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   586
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   587
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   588
	if( aName<KSvgFloatAttrEndIndex ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   589
		aName== KAtrFx ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   590
		aName== KAtrFy ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   591
		aName== KAtrOffset ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   592
		aName== KAtrStopOpacity
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   593
	  )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   594
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   595
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   596
		return DecodeAttributeFloatL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   597
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   598
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   599
	else if(aName == KAtrK)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   600
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   601
		iCurrentElement->iReqAttrFlag =0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   602
		return DecodeAttributeFloatL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   603
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   604
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   605
	else if( aName<= KSvgDesAttrEndIndex ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   606
    		 aName== KAtrMedia ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   607
			 aName== KAtrTitle
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   608
		   )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   609
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   610
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   611
		return DecodeAttributeDesL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   612
		}
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
   613
#if 0
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   614
 else if (aName== KAtrVolume)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   615
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   616
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   617
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   618
				TFloatFixPt lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   619
				lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   620
				TBuf<16> lTemp2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   621
				_LIT(KAudioLevelFormat, "%f");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   622
				lTemp2.Format(KAudioLevelFormat, (float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   623
				//lTemp2.AppendNum((float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   624
				((CSvgAudioElementImpl *)iCurrentElement)->SetAttributeL (_L("volume"),lTemp2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   625
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   626
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   627
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   628
				TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   629
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   630
				TBuf<16> lTemp2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   631
				_LIT(KAudioLevelFormat, "%f");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   632
				lTemp2.Format(KAudioLevelFormat, (float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   633
				//lTemp2.AppendNum(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   634
				((CSvgAudioElementImpl *)iCurrentElement)->SetAttributeL (_L("volume"),lTemp2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   635
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   636
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   637
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   638
	else if (aName== KAtrAudioLevel)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   639
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   640
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   641
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   642
				TFloatFixPt lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   643
				lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   644
				TBuf<16> lTemp2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   645
				_LIT(KAudioLevelFormat, "%f");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   646
				lTemp2.Format(KAudioLevelFormat, (float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   647
				//lTemp2.AppendNum((float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   648
				((CSvgAudioElementImpl *)iCurrentElement)->SetAttributeL (_L("audio-level"),lTemp2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   649
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   650
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   651
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   652
				TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   653
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   654
				TBuf<16> lTemp2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   655
				_LIT(KAudioLevelFormat, "%f");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   656
				lTemp2.Format(KAudioLevelFormat, (float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   657
				//lTemp2.AppendNum(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   658
				((CSvgAudioElementImpl *)iCurrentElement)->SetAttributeL (_L("audio-level"),lTemp2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   659
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   660
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   661
			}
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
   662
#endif
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   663
	switch( aName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   664
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   665
		case KAtrType:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   666
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   667
			if(iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   668
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   669
				if (iCurrentElement->iReqAttrFlag == KAtrSVGTrf)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   670
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   671
					iCurrentElement->iReqAttrFlag=KAtrAttributeName;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   672
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   673
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   674
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   675
					iCurrentElement->iReqAttrFlag= 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   676
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   677
				TUint8 lType, lSize;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   678
				iStream >> lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   679
				((CSvgAnimationBase*)iCurrentElement)->SetAttributeType(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   680
				iStream >> lSize;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   681
				((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetMatrixDataSize(lSize);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   682
				return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   683
				}
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
   684
#if 0
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   685
			else if(iCurrentElement->ElemID()== KSvgAudioElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   686
				    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   687
				    TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   688
				    ((CSvgAudioElementImpl*)iCurrentElement)->SetAttributeL(_L("type"),lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   689
		            CleanupStack::PopAndDestroy( 1 );				    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   690
				return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   691
				}
56
865fbeda552a Create stem_SVGEngine.dll, which breaks the dependency on mediaclientaudio.dll
William Roberts <williamr@symbian.org>
parents: 54
diff changeset
   692
#endif
48
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   693
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   694
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   695
				return DecodeAttributeDesL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   696
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   697
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   698
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   699
        case KAtrCdata:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   700
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   701
            if ( iCurrentElement->ElemID() == KSvgTextElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   702
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   703
                // DecodeTDesCLC() allocates the string on the cleanup stack 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   704
                // and advances the file pointer beyond the CData
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   705
                // SetTextL() makes a copy of the CData in the text element. 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   706
                ( ( CSvgTextElementImpl* )iCurrentElement )->SetTextL( 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   707
                        DecodeTDesCLC() ); 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   708
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   709
            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   710
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   711
                // Skip the CData
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   712
                DecodeTDesCLC();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   713
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   714
            // Free the CData allocated inside DecodeTDesCLC()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   715
            CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   716
            return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   717
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   718
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   719
		case KAtrD:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   720
		case KAtrPoints:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   721
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   722
			iCurrentElement->iReqAttrFlag = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   723
			return DecodeAttributePathL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   724
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   725
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   726
		case KAtrSpreadMethods:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   727
		case KAtrGradientUnits:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   728
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   729
			return DecodeAttributeIntL(aName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   730
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   731
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   732
		case KAtrRotate:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   733
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   734
			// for AnimateMotion Element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   735
			if (iCurrentElement->ElemID()== KSvgAnimateMotionElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   736
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   737
				TInt16 lRotate;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   738
				iStream >> lRotate;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   739
				((CSvgAnimateMotionElementImpl*)iCurrentElement)->SetAnimRotate(lRotate);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   740
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   741
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   742
			// For Text Element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   743
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   744
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   745
				TInt8 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   746
				CArrayFixFlat<TReal32>*   lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   747
				iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   748
				if(lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   749
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   750
					lArray= new ( ELeave ) CArrayFixFlat<TReal32>( lCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   751
					CleanupStack::PushL(lArray); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   752
					for (TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   753
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   754
							TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   755
							iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   756
							lArray->AppendL((TReal32) lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   757
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   758
    			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   759
    			    if ( iCurrentElement->ElemID() == KSvgTextElement )	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   760
	    		        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   761
		    	        ((CSvgTextElementImpl*)iCurrentElement)->SetRotateArray (lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   762
			            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   763
					
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   764
					CleanupStack::Pop(lArray); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   765
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   766
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   767
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   768
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   769
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   770
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   771
		case KAtrStopColor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   772
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   773
			TUint32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   774
			iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   775
			// Shift from XBGR to XRGB
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   776
			if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   777
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   778
				lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   779
					  	 ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   780
				    	 (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   781
				     	 ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   782
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   783
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   784
			if ( iCurrentElement->ElemID() == KSvgStopElement )	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   785
			    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   786
    		    ((CSvgStopElementImpl*)iCurrentElement)->SetStopColorL(lColor);			    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   787
			    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   788
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   789
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   790
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   791
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   792
		default:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   793
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   794
			return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   795
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   796
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   797
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   798
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   799
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   800
// TBool CSvgDecoder::DecodeAnimationAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   801
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   802
TBool CSvgDecoder::DecodeAnimationAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   803
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   804
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   805
	if (aName== KAtrAttributeName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   806
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   807
		TUint16 lAtrId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   808
		TUint8 lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   809
		iStream >> lAtrId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   810
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   811
		// For Animate Transform element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   812
		if (iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   813
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   814
			// Attribute Id of the animate transform has been changed. For binary compatibility
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   815
			if (lAtrId == KAtrTransform )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   816
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   817
                 lAtrId= KAtrAnimateTransformAttrId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   818
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   819
			((CSvgAnimationBase*)iCurrentElement)->SetAttributeId(lAtrId);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   820
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   821
			if (iCurrentElement->iReqAttrFlag == KAtrSVGTrf)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   822
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   823
				iCurrentElement->iReqAttrFlag=KAtrType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   824
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   825
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   826
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   827
				iCurrentElement->iReqAttrFlag= 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   828
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   829
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   830
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   831
		//For other animation elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   832
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   833
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   834
			((CSvgAnimationBase*)iCurrentElement)->SetAttributeId(lAtrId);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   835
			iCurrentElement->iReqAttrFlag= 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   836
			iStream >> lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   837
			((CSvgAnimationBase*)iCurrentElement)->SetAttributeType(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   838
			((CSvgAnimationBase*)iCurrentElement)->GetAttrValueL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   839
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   840
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   841
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   842
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   843
	if (aName== KAtrBegin)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   844
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   845
        // Although discard element belongs to animation, the discard element isn't
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   846
        // necessary inherited from giant AnimationBase, so handle attribute separately.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   847
        //
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   848
    	if ( iCurrentElement->ElemID() == KSvgDiscardElement /*|| 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   849
             iCurrentElement->ElemID() == KSvgMediaAnimationElement*/ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   850
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   851
    	    return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   852
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   853
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   854
		TInt8 lCheck, lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   855
		iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   856
		// Flag is used to check for Indefinite value.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   857
		if(lCheck)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   858
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   859
			((CSvgAnimationBase*)iCurrentElement)->SetAbsoluteBeginTime(KTimeIndefinite);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   860
            ((CSvgAnimationBase*)iCurrentElement)->SetBeginTime(KTimeIndefinite);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   861
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   862
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   863
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   864
			CArrayFixFlat<CSvgAnimationBase::TEventListItem>*  lEventList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   865
			RArray<TInt32>*    lTimeList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   866
        // event list
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   867
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   868
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   869
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   870
                lEventList= new (ELeave) CArrayFixFlat<CSvgAnimationBase::TEventListItem>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   871
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   872
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   873
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   874
				lEventList= new (ELeave) CArrayFixFlat<CSvgAnimationBase::TEventListItem>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   875
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   876
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   877
			CleanupStack::PushL(lEventList); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   878
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   879
            for( TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   880
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   881
				CSvgAnimationBase::TEventListItem lItem;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   882
				TInt32 lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   883
				iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   884
				lItem.iTime= lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   885
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   886
				TInt32 lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   887
				iStream >> lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   888
				lItem.iOffset= lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   889
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   890
				if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   891
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   892
					TFloatFixPt temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   893
					temp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   894
					lItem.iRepeatValue = (TReal32)temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   895
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   896
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   897
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   898
					TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   899
					iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   900
					lItem.iRepeatValue= lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   901
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   902
				
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   903
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   904
				TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   905
				// check for the use of unique Id of the target element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   906
				if(lPtr == _L("unid"))
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   907
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   908
					lItem.iTargetElement = (((CSvgAnimationBase*)iCurrentElement)->GetTargetElem());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   909
					lItem.iReferenceElemeId= NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   910
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   911
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   912
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   913
					// get element by id and append its pointer.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   914
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   915
                	// there can be an issue if the id is not found. in  case of forward reference.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   916
                	// for this we will store the id if it is not found at this time.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   917
					lItem.iTargetElement =  (CSvgElementImpl*)iDocument->GetElementById( lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   918
					if( lItem.iTargetElement == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   919
                     	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   920
                     	// this indicates that this is a forward reference in case of begin.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   921
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   922
                     	lItem.iReferenceElemeId = lPtr.AllocL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   923
                     	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   924
					else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   925
                     	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   926
                     	// otherwise the element is found and we
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   927
                     	// do not need to keep iReferenceElemeId so
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   928
                     	// make it NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   929
                     	lItem.iReferenceElemeId = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   930
                     	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   931
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   932
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   933
				CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   934
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   935
				TUint16 lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   936
				iStream >> lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   937
				lItem.iAccessKeyCode= lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   938
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   939
				TInt8 lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   940
				iStream >> lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   941
				lItem.iEvent= (TSvgEvent) lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   942
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   943
				switch(lItem.iEvent)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   944
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   945
					case ESvgEventKey:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   946
					case ESvgEventNone:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   947
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   948
						lItem.iTargetElement =NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   949
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   950
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   951
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   952
                lEventList->AppendL((CSvgAnimationBase::TEventListItem) lItem);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   953
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   954
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   955
			((CSvgAnimationBase*)iCurrentElement)->SetEventList(lEventList);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   956
			CleanupStack::Pop(lEventList); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   957
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   958
       //begin time list
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   959
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   960
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   961
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   962
                lTimeList= new (ELeave) RArray<TInt32>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   963
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   964
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   965
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   966
				lTimeList= new (ELeave) RArray<TInt32>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   967
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   968
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   969
                // For proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   970
            ((CSvgAnimationBase*)iCurrentElement)->SetBeginTimeList(lTimeList);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   971
            lTimeList->AppendL(NULL);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   972
            lTimeList->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   973
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   974
             for( TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   975
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   976
                TInt32 lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   977
                iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   978
                lTimeList->AppendL( (TInt32) lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   979
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   980
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   981
			 TInt32 lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   982
			 iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   983
			 ((CSvgAnimationBase*)iCurrentElement)->SetAbsoluteBeginTime(lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   984
			 iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   985
			 ((CSvgAnimationBase*)iCurrentElement)->SetBeginTime(lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   986
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   987
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   988
			 iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   989
			 // flag to ckeck Adding to the Reciever EventList
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   990
			 if(lCheck)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   991
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   992
				iDocument->AddToEventReceiverListL( iCurrentElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   993
                                                        KSvgEventMaskExternalUI );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   994
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   995
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   996
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   997
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   998
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
   999
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1000
	if (aName== KAtrEnd)  //End Time
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1001
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1002
		TInt8 lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1003
		iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1004
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1005
		// Flag is used to check for Indefinite value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1006
		if(lCheck)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1007
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1008
            ((CSvgAnimationBase*)iCurrentElement)->SetEndTime(KTimeIndefinite);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1009
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1010
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1011
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1012
		  	CArrayFixFlat<CSvgAnimationBase::TEventListItem>*  lTimeList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1013
        // event list
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1014
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1015
			lTimeList= new (ELeave) CArrayFixFlat<CSvgAnimationBase::TEventListItem>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1016
			CleanupStack::PushL(lTimeList); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1017
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1018
			CSvgAnimationBase::TEventListItem lItem;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1019
			TInt8 lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1020
			iStream >> lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1021
			lItem.iEvent = (TSvgEvent) lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1022
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1023
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1024
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1025
				TFloatFixPt temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1026
				temp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1027
				lItem.iRepeatValue = (TReal32)temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1028
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1029
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1030
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1031
				TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1032
				iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1033
				lItem.iRepeatValue= lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1034
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1035
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1036
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1037
			TPtrC lPtr( DecodeTDesCLC() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1038
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1039
			if (lPtr == _L("unid") )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1040
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1041
				lItem.iTargetElement = ((CSvgAnimationBase*)iCurrentElement)->GetTargetElem();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1042
				lItem.iReferenceElemeId = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1043
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1044
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1045
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1046
				// get element by id and append its pointer.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1047
				lItem.iTargetElement = ( CSvgElementImpl * )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1048
							 iDocument->GetElementById( lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1049
				if(lItem.iTargetElement == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1050
					 {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1051
					 lItem.iReferenceElemeId = lPtr.AllocL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1052
					 }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1053
				 else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1054
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1055
					// Set the iEndReferenceElemeId to NULL:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1056
					lItem.iReferenceElemeId = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1057
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1058
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1059
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1060
			CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1061
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1062
			switch ( lItem.iEvent )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1063
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1064
                case ESvgEventKey:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1065
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1066
         			((CSvgAnimationBase*)iCurrentElement)->SetEndTime(KTimeIndefinite );  // same as indefinite
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1067
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1068
					TUint16 lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1069
					iStream >> lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1070
					lItem.iAccessKeyCode= lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1071
					lItem.iTargetElement =NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1072
		           iDocument->AddToEventReceiverListL( iCurrentElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1073
                                                        KSvgEventMaskExternalUI );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1074
	               break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1075
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1076
                case ESvgEventWallClock:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1077
                // not supported yet
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1078
                break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1079
                case ESvgEventNone:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1080
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1081
					TInt32 lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1082
					iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1083
					lItem.iTime= lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1084
					((CSvgAnimationBase*)iCurrentElement)->AddEndTime(lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1085
					lItem.iTargetElement =NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1086
				    break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1087
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1088
                default:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1089
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1090
				    ((CSvgAnimationBase*)iCurrentElement)->SetEndTime( KTimeIndefinite );  // same as indifinite
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1091
					TInt32 lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1092
					iStream >> lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1093
					lItem.iOffset= lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1094
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1095
					lItem.iTime = KTimeIndefinite;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1096
		            iDocument->AddToEventReceiverListL( iCurrentElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1097
                                                       KSvgEventMaskInternal );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1098
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1099
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1100
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1101
			lTimeList->AppendL( (CSvgAnimationBase::TEventListItem) lItem);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1102
			((CSvgAnimationBase*)iCurrentElement)->SetEndTimeList( lTimeList);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1103
			CleanupStack::Pop(lTimeList); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1104
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1105
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1106
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1107
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1108
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1109
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1110
////////// for multiple end times
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1111
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1112
	if (aName== KMultipleEndTime)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1113
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1114
		TInt8  lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1115
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1116
		CArrayFixFlat<CSvgAnimationBase::TEventListItem>*  lTimeList;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1117
       // event list
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1118
		iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1119
		if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1120
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1121
            lTimeList= new (ELeave) CArrayFixFlat<CSvgAnimationBase::TEventListItem>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1122
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1123
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1124
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1125
			lTimeList= new (ELeave) CArrayFixFlat<CSvgAnimationBase::TEventListItem>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1126
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1127
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1128
		CleanupStack::PushL(lTimeList); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1129
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1130
		for( TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1131
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1132
			CSvgAnimationBase::TEventListItem lItem;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1133
			TInt32 lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1134
			iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1135
			lItem.iTime= lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1136
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1137
			TInt32 lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1138
			iStream >> lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1139
			lItem.iOffset= lOffset;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1140
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1141
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1142
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1143
				TFloatFixPt temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1144
				temp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1145
				lItem.iRepeatValue = (TReal32)temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1146
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1147
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1148
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1149
				TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1150
				iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1151
				lItem.iRepeatValue= lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1152
			}	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1153
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1154
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1155
			TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1156
			// check for the use of unique Id of the target element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1157
			if(lPtr == _L("unid"))
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1158
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1159
				lItem.iTargetElement = (((CSvgAnimationBase*)iCurrentElement)->GetTargetElem());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1160
				lItem.iReferenceElemeId= NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1161
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1162
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1163
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1164
				// get element by id and append its pointer.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1165
               	// there can be an issue if the id is not found. in  case of forward reference.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1166
               	// for this we will store the id if it is not found at this time.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1167
				lItem.iTargetElement =  (CSvgElementImpl*)iDocument->GetElementById( lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1168
				if( lItem.iTargetElement == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1169
                   	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1170
                   	// this indicates that this is a forward reference in case of begin.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1171
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1172
					lItem.iReferenceElemeId = lPtr.AllocL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1173
                   	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1174
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1175
                   	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1176
                   	// otherwise the element is found and we
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1177
                   	// do not need to keep iReferenceElemeId so
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1178
                   	// make it NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1179
                   	lItem.iReferenceElemeId = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1180
                   	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1181
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1182
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1183
			CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1184
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1185
			TUint16 lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1186
			iStream >> lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1187
			lItem.iAccessKeyCode= lCode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1188
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1189
			TInt8 lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1190
			iStream >> lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1191
			lItem.iEvent= (TSvgEvent) lEvent;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1192
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1193
			switch ( lItem.iEvent )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1194
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1195
                case ESvgEventKey:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1196
                lItem.iTargetElement =NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1197
                ((CSvgAnimationBase*)iCurrentElement)->SetEndTime( KTimeIndefinite );  // same as indefinite
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1198
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1199
                iDocument->AddToEventReceiverListL( iCurrentElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1200
                                                        KSvgEventMaskExternalUI );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1201
                break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1202
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1203
                case ESvgEventWallClock:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1204
                // not supported yet
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1205
                break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1206
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1207
                case ESvgEventNone:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1208
                lItem.iTargetElement =NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1209
                // Simple Offset-value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1210
                ((CSvgAnimationBase*)iCurrentElement)->AddEndTime( lItem.iTime );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1211
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1212
                break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1213
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1214
                default:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1215
                // <id>.<event> +/- <offeset>
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1216
                ((CSvgAnimationBase*)iCurrentElement)->SetEndTime( KTimeIndefinite );  // same as indifinite
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1217
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1218
                iDocument->AddToEventReceiverListL( iCurrentElement,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1219
                                                        KSvgEventMaskInternal );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1220
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1221
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1222
			lTimeList->AppendL((CSvgAnimationBase::TEventListItem) lItem);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1223
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1224
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1225
		((CSvgAnimationBase*)iCurrentElement)->SetEndTimeList(lTimeList);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1226
		CleanupStack::Pop(lTimeList); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1227
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1228
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1229
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1230
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1231
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1232
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1233
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1234
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1235
		if (aName== KAtrDur)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1236
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1237
			TInt32 lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1238
			TInt8 lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1239
			iStream >> lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1240
			((CSvgAnimationBase*)iCurrentElement)->SetDurationTime(lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1241
			iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1242
			// Flag is used to check for Indefinite value
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1243
			if(lCheck)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1244
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1245
				((CSvgAnimationBase*)iCurrentElement)->SetBeginTime(KTimeIndefinite);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1246
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1247
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1248
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1249
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1250
		if (aName== KAtrFrom)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1251
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1252
			((CSvgAnimationBase*)iCurrentElement)->SetFromFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1253
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1254
			//For Animate Transform element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1255
			if(iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1256
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1257
				CSvgAnimateTransformElementImpl::TMatrixData  lMatrix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1258
				
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1259
				if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1260
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1261
					for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1262
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1263
					lMatrix.iData[i].iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1264
					}	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1265
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1266
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1267
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1268
					TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1269
					for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1270
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1271
					iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1272
					lMatrix.iData[i]= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1273
					}	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1274
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1275
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1276
				((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetMatrixData(0,lMatrix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1277
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1278
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1279
			// for other Animation elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1280
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1281
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1282
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1283
				TUint8 lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1284
				iStream >>lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1285
				((CSvgAnimationBase*)iCurrentElement)->SetAttributeType(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1286
				switch ( lType )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1287
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1288
					case KSvgTypeOpacity:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1289
					case KSvgTypeLength:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1290
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1291
						if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1292
						{	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1293
							TFloatFixPt lValue; 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1294
							lValue.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1295
							((CSvgAnimationBase*)iCurrentElement)->SetFromFloat(lValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1296
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1297
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1298
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1299
							TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1300
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1301
							((CSvgAnimationBase*)iCurrentElement)->SetFromFloat((TFloatFixPt)lValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1302
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1303
						
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1304
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1305
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1306
					case KSvgTypeList:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1307
					case KSvgTypePath:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1308
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1309
						CGfxGeneralPath* lPath;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1310
						DecodeAnimationPathL(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1311
						((CSvgAnimationBase*)iCurrentElement)->SetFromPathL(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1312
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1313
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1314
					case KSvgTypeColor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1315
						{	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1316
						TInt32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1317
						iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1318
						// Shift from XBGR to XRGB
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1319
						if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1320
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1321
							lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1322
						         ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1323
							     (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1324
							     ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1325
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1326
						((CSvgAnimationBase*)iCurrentElement)->SetFromInt(lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1327
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1328
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1329
					case KSvgTypeTextAnchor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1330
                    case KSvgTypeGradientUnits:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1331
					case KSvgTypeSpreadMethod:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1332
					case KSvgTypeInteger:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1333
					case KSvgTypeDisplay:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1334
					case KSvgTypeVisibility:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1335
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1336
						TInt32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1337
						iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1338
						((CSvgAnimationBase*)iCurrentElement)->SetFromInt(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1339
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1340
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1341
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1342
				    // viewBox attribute
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1343
					case KSvgTypeViewBox:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1344
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1345
						
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1346
						if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1347
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1348
							TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1349
							temp.iX.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1350
							
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1351
							temp.iY.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1352
							temp.iWidth.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1353
							temp.iHeight.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1354
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1355
							((CSvgAnimationBase*)iCurrentElement)->SetFromViewBox(temp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1356
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1357
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1358
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1359
							TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1360
							TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1361
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1362
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1363
							temp.iX = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1364
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1365
							temp.iY = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1366
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1367
							temp.iWidth = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1368
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1369
							temp.iHeight = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1370
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1371
							((CSvgAnimationBase*)iCurrentElement)->SetFromViewBox(temp);	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1372
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1373
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1374
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1375
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1376
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1377
			 return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1378
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1379
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1380
		if (aName== KAtrTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1381
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1382
			((CSvgAnimationBase*)iCurrentElement)->SetToFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1383
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1384
			// For Animate Transform
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1385
			if(iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1386
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1387
				if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1388
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1389
					((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1390
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1391
				CSvgAnimateTransformElementImpl::TMatrixData  lMatrix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1392
				
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1393
				if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1394
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1395
					for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1396
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1397
					lMatrix.iData[i].iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1398
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1399
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1400
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1401
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1402
					TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1403
					for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1404
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1405
					iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1406
					lMatrix.iData[i]= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1407
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1408
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1409
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1410
				((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetMatrixData(1,lMatrix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1411
				((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetAccumMatrix();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1412
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1413
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1414
			// for Other Animation Elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1415
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1416
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1417
				TUint8 lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1418
				iStream >>lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1419
				((CSvgAnimationBase*)iCurrentElement)->SetAttributeType(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1420
				switch ( lType )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1421
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1422
					case KSvgTypeOpacity:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1423
					case KSvgTypeLength:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1424
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1425
						
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1426
						if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1427
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1428
							TFloatFixPt lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1429
							lValue.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1430
							((CSvgAnimationBase*)iCurrentElement)->SetToFloat(lValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1431
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1432
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1433
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1434
							TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1435
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1436
							((CSvgAnimationBase*)iCurrentElement)->SetToFloat((TFloatFixPt)lValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1437
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1438
					
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1439
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1440
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1441
					case KSvgTypeList:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1442
					case KSvgTypePath:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1443
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1444
						CGfxGeneralPath* lPath;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1445
						DecodeAnimationPathL(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1446
						((CSvgAnimationBase*)iCurrentElement)->SetToPath(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1447
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1448
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1449
					case KSvgTypeColor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1450
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1451
						TInt32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1452
						iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1453
						// Shift from XBGR to XRGB
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1454
						if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1455
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1456
							lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1457
						         ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1458
							     (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1459
							     ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1460
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1461
						((CSvgAnimationBase*)iCurrentElement)->SetToInt(lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1462
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1463
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1464
					case KSvgTypeTextAnchor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1465
					case KSvgTypeGradientUnits:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1466
					case KSvgTypeSpreadMethod:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1467
					case KSvgTypeInteger:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1468
					case KSvgTypeDisplay:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1469
					case KSvgTypeVisibility:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1470
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1471
						TInt32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1472
						iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1473
						((CSvgAnimationBase*)iCurrentElement)->SetToInt(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1474
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1475
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1476
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1477
					 // viewBox attribute
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1478
					case KSvgTypeViewBox:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1479
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1480
						if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1481
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1482
							TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1483
							temp.iX.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1484
							temp.iY.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1485
							temp.iWidth.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1486
							temp.iHeight.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1487
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1488
							((CSvgAnimationBase*)iCurrentElement)->SetToViewBox(temp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1489
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1490
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1491
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1492
							TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1493
							TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1494
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1495
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1496
							temp.iX = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1497
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1498
							temp.iY = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1499
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1500
							temp.iWidth = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1501
							this->iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1502
							temp.iHeight = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1503
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1504
							((CSvgAnimationBase*)iCurrentElement)->SetToViewBox(temp);	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1505
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1506
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1507
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1508
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1509
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1510
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1511
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1512
			 return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1513
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1514
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1515
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1516
		if (aName== KAtrBy) //by
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1517
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1518
			((CSvgAnimationBase*)iCurrentElement)->SetByFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1519
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1520
			// For Animate Transform
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1521
			if(iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1522
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1523
				if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1524
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1525
					((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1526
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1527
				CSvgAnimateTransformElementImpl::TMatrixData  lMatrix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1528
				
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1529
				if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1530
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1531
					for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1532
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1533
					lMatrix.iData[i].iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1534
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1535
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1536
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1537
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1538
					TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1539
					for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1540
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1541
					iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1542
					lMatrix.iData[i]= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1543
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1544
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1545
				
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1546
				((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetMatrixData(1,lMatrix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1547
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1548
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1549
			// for Other Animation Elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1550
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1551
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1552
				TUint8 lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1553
				iStream >>lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1554
				((CSvgAnimationBase*)iCurrentElement)->SetAttributeType(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1555
				switch ( lType )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1556
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1557
					case KSvgTypeOpacity:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1558
					case KSvgTypeLength:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1559
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1560
						if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1561
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1562
							TFloatFixPt lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1563
							lValue.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1564
							
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1565
							((CSvgAnimationBase*)iCurrentElement)->SetToFloat( lValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1566
							if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1567
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1568
							((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1569
                            ((CSvgAnimationBase*)iCurrentElement)->SetFromFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1570
							((CSvgAnimationBase*)iCurrentElement)->SetFromFloat((TFloatFixPt)0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1571
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1572
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1573
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1574
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1575
							TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1576
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1577
							
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1578
							((CSvgAnimationBase*)iCurrentElement)->SetToFloat((TFloatFixPt)lValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1579
							if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1580
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1581
							((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1582
                            ((CSvgAnimationBase*)iCurrentElement)->SetFromFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1583
							((CSvgAnimationBase*)iCurrentElement)->SetFromFloat((TFloatFixPt)0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1584
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1585
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1586
						
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1587
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1588
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1589
					case KSvgTypeList:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1590
					case KSvgTypePath:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1591
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1592
						CGfxGeneralPath* lPath;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1593
						DecodeAnimationPathL(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1594
						((CSvgAnimationBase*)iCurrentElement)->SetToPath(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1595
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1596
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1597
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1598
                    case KSvgTypeColor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1599
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1600
						TInt32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1601
						iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1602
						// Shift from XBGR to XRGB
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1603
						if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1604
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1605
							lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1606
						         ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1607
							     (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1608
							     ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1609
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1610
						((CSvgAnimationBase*)iCurrentElement)->SetToInt(lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1611
						if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1612
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1613
							((CSvgAnimationBase*)iCurrentElement)->SetFromInt((TInt32)0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1614
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1615
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1616
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1617
					case KSvgTypeTextAnchor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1618
                    case KSvgTypeGradientUnits:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1619
					case KSvgTypeSpreadMethod:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1620
					case KSvgTypeInteger:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1621
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1622
						TInt32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1623
						iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1624
						((CSvgAnimationBase*)iCurrentElement)->SetToInt(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1625
						if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1626
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1627
							((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1628
                            ((CSvgAnimationBase*)iCurrentElement)->SetFromFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1629
							((CSvgAnimationBase*)iCurrentElement)->SetFromInt((TInt32)0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1630
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1631
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1632
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1633
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1634
                    case KSvgTypeDisplay:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1635
					case KSvgTypeVisibility:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1636
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1637
						TInt32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1638
						iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1639
						((CSvgAnimationBase*)iCurrentElement)->SetToInt(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1640
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1641
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1642
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1643
					 // viewBox attribute
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1644
					case KSvgTypeViewBox:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1645
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1646
						if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1647
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1648
							TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1649
							temp.iX.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1650
							temp.iY.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1651
							temp.iWidth.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1652
							temp.iHeight.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1653
							
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1654
							((CSvgAnimationBase*)iCurrentElement)->SetToViewBox(temp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1655
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1656
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1657
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1658
							TReal32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1659
							TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1660
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1661
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1662
							temp.iX = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1663
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1664
							temp.iY = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1665
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1666
							temp.iWidth = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1667
							iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1668
							temp.iHeight = (TFloatFixPt) lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1669
							
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1670
							((CSvgAnimationBase*)iCurrentElement)->SetToViewBox(temp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1671
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1672
						
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1673
						if( ((CSvgAnimationBase*)iCurrentElement)->GetFromFlag() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1674
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1675
							((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1676
                            ((CSvgAnimationBase*)iCurrentElement)->SetFromFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1677
							((CSvgAnimationBase*)iCurrentElement)->SetFromViewBox
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1678
								                    (TGfxRectangle2D( 0, 0, 0, 0 ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1679
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1680
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1681
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1682
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1683
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1684
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1685
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1686
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1687
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1688
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1689
		if (aName== KAtrValues)  // values
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1690
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1691
			((CSvgAnimationBase*)iCurrentElement)->SetFromFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1692
			((CSvgAnimationBase*)iCurrentElement)->SetValuesFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1693
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1694
			// For Animate Transform
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1695
			if(iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1696
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1697
				TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1698
				RArray<CSvgAnimateTransformElementImpl::TMatrixData>* lValues= NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1699
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1700
				iStream >>lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1701
				if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1702
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1703
					lValues= new (ELeave) RArray<CSvgAnimateTransformElementImpl::TMatrixData>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1704
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1705
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1706
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1707
					lValues= new (ELeave) RArray<CSvgAnimateTransformElementImpl::TMatrixData>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1708
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1709
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1710
				// for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1711
                ((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetTransformValues(lValues);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1712
                CSvgAnimateTransformElementImpl::TMatrixData  lMatrix1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1713
                lValues->AppendL(lMatrix1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1714
                lValues->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1715
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1716
                for (TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1717
                        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1718
                        CSvgAnimateTransformElementImpl::TMatrixData  lMatrix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1719
                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1720
                        if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1721
                        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1722
                        	for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1723
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1724
                            lMatrix.iData[i].iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1725
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1726
                        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1727
                        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1728
                        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1729
                        	TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1730
                        	for (TInt i=0; i<3; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1731
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1732
                            iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1733
                            lMatrix.iData[i]= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1734
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1735
                        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1736
                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1737
                        lValues->AppendL( (CSvgAnimateTransformElementImpl::TMatrixData) lMatrix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1738
                        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1739
				if(iCurrentElement->ElemID()== KSvgAnimateTransformElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1740
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1741
					((CSvgAnimateTransformElementImpl*)iCurrentElement)->SetAccumMatrix();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1742
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1743
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1744
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1745
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1746
			// For other Animation elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1747
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1748
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1749
				TUint8 lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1750
				iStream >>lType;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1751
				((CSvgAnimationBase*)iCurrentElement)->SetAttributeType(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1752
				switch ( lType )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1753
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1754
					case KSvgTypeOpacity:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1755
					case KSvgTypeLength:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1756
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1757
						RArray<TFloatFixPt>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1758
						TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1759
						iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1760
						if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1761
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1762
							lArray= new (ELeave) RArray<TFloatFixPt>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1763
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1764
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1765
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1766
							lArray= new (ELeave) RArray<TFloatFixPt>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1767
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1768
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1769
                        // for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1770
                        ((CSvgAnimationBase*)iCurrentElement)->SetFloatValuesArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1771
                        lArray->AppendL(NULL);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1772
                        lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1773
                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1774
                        TFloatFixPt lValueFix;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1775
                        TReal32 lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1776
                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1777
                        for(TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1778
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1779
                            
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1780
                            if(iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1781
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1782
                            	lValueFix.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1783
                            	lArray->AppendL( lValueFix );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1784
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1785
                            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1786
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1787
                            	iStream >> lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1788
                            	lArray->AppendL((TFloatFixPt) lValueFloat);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1789
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1790
                            
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1791
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1792
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1793
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1794
					case KSvgTypeList:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1795
					case KSvgTypePath:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1796
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1797
						TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1798
						RPointerArray<CGfxGeneralPath>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1799
						iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1800
						if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1801
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1802
							lArray= new (ELeave) RPointerArray<CGfxGeneralPath>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1803
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1804
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1805
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1806
							lArray= new (ELeave) RPointerArray<CGfxGeneralPath>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1807
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1808
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1809
						// for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1810
                        ((CSvgAnimationBase*)iCurrentElement)->ResetFloatValuesArray();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1811
                        ((CSvgAnimationBase*)iCurrentElement)->SetPathValuesArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1812
                        lArray->AppendL(NULL);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1813
                        lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1814
                        for(TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1815
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1816
                            CGfxGeneralPath* lPath;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1817
                            DecodeAnimationPathL(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1818
                            lArray->AppendL( (CGfxGeneralPath*)lPath );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1819
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1820
                        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1821
                        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1822
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1823
					case KSvgTypeColor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1824
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1825
						RArray<TInt32>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1826
						TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1827
						iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1828
						if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1829
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1830
							lArray= new (ELeave) RArray<TInt32>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1831
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1832
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1833
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1834
							lArray= new (ELeave) RArray<TInt32>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1835
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1836
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1837
						// for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1838
                        ((CSvgAnimationBase*)iCurrentElement)->ResetFloatValuesArray();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1839
                        ((CSvgAnimationBase*)iCurrentElement)->SetIntValuesArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1840
                        lArray->AppendL(NULL);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1841
                        lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1842
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1843
                        for(TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1844
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1845
                            TInt32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1846
                            iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1847
							if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1848
								{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1849
								lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1850
							         ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1851
								     (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1852
								     ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1853
								}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1854
                            lArray->AppendL((TInt32) lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1855
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1856
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1857
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1858
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1859
                    case KSvgTypeGradientUnits:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1860
					case KSvgTypeSpreadMethod:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1861
					case KSvgTypeInteger:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1862
					case KSvgTypeDisplay:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1863
					case KSvgTypeVisibility:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1864
					case KSvgTypeTextAnchor:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1865
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1866
						RArray<TInt32>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1867
						TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1868
						iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1869
						if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1870
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1871
							lArray= new (ELeave) RArray<TInt32>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1872
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1873
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1874
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1875
							lArray= new (ELeave) RArray<TInt32>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1876
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1877
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1878
						// for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1879
                        ((CSvgAnimationBase*)iCurrentElement)->ResetFloatValuesArray();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1880
                        ((CSvgAnimationBase*)iCurrentElement)->SetIntValuesArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1881
                        lArray->AppendL(NULL);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1882
                        lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1883
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1884
                        for(TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1885
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1886
                            TInt32 lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1887
                            iStream >> lValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1888
                            lArray->AppendL((TInt32) lValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1889
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1890
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1891
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1892
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1893
					// viewBox
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1894
					case KSvgTypeViewBox:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1895
						{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1896
						RArray<TGfxRectangle2D>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1897
						TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1898
						iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1899
						if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1900
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1901
							lArray= new (ELeave) RArray<TGfxRectangle2D>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1902
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1903
						else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1904
							{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1905
							lArray= new (ELeave) RArray<TGfxRectangle2D>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1906
							}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1907
						TGfxRectangle2D temp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1908
                        // for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1909
                        ((CSvgAnimationBase*)iCurrentElement)->SetViewBoxValuesArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1910
                        lArray->AppendL(temp1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1911
                        lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1912
                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1913
                        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1914
                        TGfxRectangle2D temp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1915
                        TReal32 lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1916
                        for(TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1917
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1918
                            
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1919
                            if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1920
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1921
								temp.iX.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1922
								temp.iY.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1923
                            	temp.iWidth.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1924
                            	temp.iHeight.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1925
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1926
                            	lArray->AppendL((TGfxRectangle2D) temp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1927
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1928
                            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1929
                            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1930
								iStream >> lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1931
								temp.iX = (TFloatFixPt) lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1932
								iStream >> lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1933
                            	temp.iY = (TFloatFixPt) lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1934
                            	iStream >> lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1935
                            	temp.iWidth = (TFloatFixPt) lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1936
                            	iStream >> lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1937
                            	temp.iHeight = (TFloatFixPt) lValueFloat;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1938
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1939
                            	lArray->AppendL((TGfxRectangle2D) temp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1940
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1941
                            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1942
						break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1943
						}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1944
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1945
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1946
			 return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1947
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1948
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1949
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1950
			// Used to set the Fill attribute of Animation elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1951
		if (aName== KAnimFreeze)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1952
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1953
			((CSvgAnimationBase*)iCurrentElement)->SetAnimFreeze();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1954
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1955
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1956
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1957
		if (aName== KAtrRepeatDur)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1958
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1959
			TUint32 lDur;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1960
			iStream >> lDur;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1961
			((CSvgAnimationBase*)iCurrentElement)->SetRepeatDuration(lDur);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1962
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1963
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1964
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1965
		if (aName== KAtrRepeatCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1966
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1967
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1968
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1969
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1970
				TFloatFixPt lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1971
				lCount.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1972
				((CSvgAnimationBase*)iCurrentElement)->SetRepeatCount(lCount.iValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1973
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1974
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1975
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1976
				TReal32 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1977
				iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1978
				((CSvgAnimationBase*)iCurrentElement)->SetRepeatCount(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1979
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1980
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1981
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1982
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1983
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1984
	    if (aName== KAtrRestart)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1985
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1986
			TUint8 lMode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1987
			iStream >> lMode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1988
		    ((CSvgAnimationBase*)iCurrentElement)->SetRestartMode((TRestartMode)lMode);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1989
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1990
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1991
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1992
		if (aName== KAtrAccumulate)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1993
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1994
			((CSvgAnimationBase*)iCurrentElement)->SetAccumulate(KAccumSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1995
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1996
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1997
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1998
		if (aName== KAtrAdditive)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  1999
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2000
			((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2001
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2002
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2003
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2004
		if (aName== KAtrCalcMode)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2005
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2006
			TUint8 lMode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2007
			iStream >> lMode;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2008
			((CSvgAnimationBase*)iCurrentElement)->SetCalcMode((TAnimCalcMode) lMode);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2009
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2010
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2011
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2012
		if (aName== KAtrKeyTimes)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2013
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2014
			TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2015
			RArray<CSvgAnimTimeController::TKeyTime>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2016
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2017
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2018
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2019
				((CSvgAnimationBase*)iCurrentElement)->SetKeyTimeFlag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2020
				lArray= new (ELeave) RArray<CSvgAnimTimeController::TKeyTime>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2021
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2022
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2023
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2024
				lArray= new (ELeave) RArray<CSvgAnimTimeController::TKeyTime>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2025
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2026
			CSvgAnimTimeController::TKeyTime  lTime1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2027
            // for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2028
            ((CSvgAnimationBase*)iCurrentElement)->SetKeyTimeArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2029
            lArray->AppendL(lTime1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2030
            lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2031
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2032
            for (TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2033
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2034
                TUint8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2035
                CSvgAnimTimeController::TKeyTime  lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2036
                iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2037
                lTime.iX = (TUint16) (lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2038
                iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2039
                lTime.iY = (TUint16) (lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2040
                lArray->AppendL( (CSvgAnimTimeController::TKeyTime) lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2041
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2042
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2043
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2044
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2045
		if (aName== KAtrKeySplines)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2046
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2047
			TUint16 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2048
			RArray<CSvgAnimTimeController::TKeyTime>* lArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2049
			RArray<TUint32>* lAnimArray;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2050
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2051
			// keyTime Array
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2052
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2053
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2054
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2055
				lArray= new (ELeave) RArray<CSvgAnimTimeController::TKeyTime>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2056
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2057
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2058
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2059
				lArray= new (ELeave) RArray<CSvgAnimTimeController::TKeyTime>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2060
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2061
			CSvgAnimTimeController::TKeyTime  lTime1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2062
            // for proper cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2063
            ((CSvgAnimationBase*)iCurrentElement)->SetKeyTimeArray(lArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2064
            lArray->AppendL(lTime1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2065
            lArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2066
            for (TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2067
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2068
                TUint8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2069
                CSvgAnimTimeController::TKeyTime  lTime;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2070
                iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2071
                lTime.iX = (TUint16) (lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2072
                iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2073
                lTime.iY = (TUint16) (lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2074
                lArray->AppendL( (CSvgAnimTimeController::TKeyTime) lTime);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2075
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2076
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2077
			//AnimTime Array
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2078
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2079
			if (lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2080
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2081
				lAnimArray = new (ELeave) RArray<TUint32>(lCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2082
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2083
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2084
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2085
				lAnimArray= new (ELeave) RArray<TUint32>(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2086
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2087
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2088
            ((CSvgAnimationBase*)iCurrentElement)->SetAnimTimeArray(lAnimArray);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2089
            lAnimArray->AppendL(NULL);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2090
            lAnimArray->Remove(0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2091
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2092
            for (TInt i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2093
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2094
                TUint8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2095
                iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2096
                lAnimArray->AppendL( (TUint32) lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2097
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2098
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2099
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2100
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2101
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2102
	// Animate motion Element is handled here
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2103
	if (aName== KAtrAnimateMotion)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2104
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2105
		DecodeAttributePathL(KAtrAnimateMotion);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2106
		TUint8 lFlag;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2107
		iStream >> lFlag;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2108
		if(lFlag == KAtrAdditiveSet)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2109
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2110
            iCurrentElement->iReqAttrFlag= 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2111
			((CSvgAnimationBase*)iCurrentElement)->SetAdditive(KAdditiveSum);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2112
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2113
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2114
        iCurrentElement->iReqAttrFlag= lFlag;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2115
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2116
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2117
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2118
	if (aName== KAtrXlinkhref)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2119
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2120
	    _LIT( KXlink, "xlink:href" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2121
		TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2122
		CSvgMediaAnimationElementImpl* mediaElement = static_cast<CSvgMediaAnimationElementImpl*>(iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2123
		mediaElement->SetAttributeL(KXlink, lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2124
		CleanupStack::PopAndDestroy(1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2125
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2126
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2127
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2128
	if( aName == KAtrSyncBehavior )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2129
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2130
		TUint8 syncBehavior;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2131
		iStream>>syncBehavior;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2132
		((CSvgMediaElementBase*)iCurrentElement)->SetSyncBehavior( (TSvgSyncBehaviour) syncBehavior );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2133
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2134
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2135
	else if( aName == KAtrSyncTolerance)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2136
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2137
		TUint8 syncTolerance;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2138
		iStream>>syncTolerance;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2139
		((CSvgMediaElementBase*)iCurrentElement)->SetSyncTolerance( syncTolerance, EFalse );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2140
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2141
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2142
	else if( aName == KAtrSyncMaster )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2143
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2144
		TUint8 syncMaster ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2145
		iStream>>syncMaster ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2146
		((CSvgMediaElementBase*)iCurrentElement)->SetSyncMaster( syncMaster );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2147
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2148
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2149
					
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2150
	return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2151
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2152
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2153
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2154
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2155
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2156
// TBool CSvgDecoder::DecodeSvgElementAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2157
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2158
TBool CSvgDecoder::DecodeSvgElementAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2159
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2160
	if ( ( aName<= KSvgSVGAttrEndIndex) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2161
		 ( aName == KAtrSyncBehaviorDefault ) ||	// To support backward compatibility
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2162
		 ( aName == KAtrSyncToleranceDefault ))
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2163
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2164
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2165
		if (aName== KAtrViewBox)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2166
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2167
			TGfxRectangle2D lRect;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2168
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2169
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2170
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2171
				lRect.iX.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2172
				lRect.iY.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2173
				lRect.iWidth.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2174
				lRect.iHeight.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2175
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2176
				((CSvgSvgElementImpl *)iCurrentElement)->SetViewBoxL(lRect);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2177
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2178
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2179
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2180
				TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2181
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2182
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2183
				lRect.iX= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2184
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2185
				lRect.iY= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2186
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2187
				lRect.iWidth= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2188
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2189
				lRect.iHeight= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2190
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2191
				((CSvgSvgElementImpl *)iCurrentElement)->SetViewBoxL(lRect);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2192
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2193
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2194
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2195
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2196
		if (aName== KAtrBaseProfile)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2197
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2198
			((CSvgSvgElementImpl *)iCurrentElement)->SetBaseProfileL(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2199
			 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2200
			 return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2201
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2202
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2203
		if (aName== KAtrVersion)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2204
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2205
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2206
			if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2207
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2208
				TFloatFixPt lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2209
				lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2210
				TBuf<16> lTemp2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2211
				lTemp2.AppendNum( (float)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2212
				((CSvgSvgElementImpl *)iCurrentElement)->SetVersion (lTemp2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2213
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2214
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2215
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2216
				TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2217
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2218
				TBuf<16> lTemp2;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2219
				lTemp2.AppendNum(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2220
				((CSvgSvgElementImpl *)iCurrentElement)->SetVersion (lTemp2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2221
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2222
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2223
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2224
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2225
			/*
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2226
			((CSvgSvgElementImpl *)iCurrentElement)->SetVersion (DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2227
			CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2228
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2229
			*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2230
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2231
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2232
		if (aName== KAtrZoomAndPan)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2233
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2234
			TInt8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2235
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2236
			TSvgZoomAndPanType lType= (TSvgZoomAndPanType) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2237
			((CSvgSvgElementImpl *)iCurrentElement)->SetZoomAndPan(lType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2238
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2239
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2240
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2241
		if (aName== KAtrPreserveAspectRatio)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2242
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2243
			if (iCurrentElement->ElemID()== KSvgSvgElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2244
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2245
				TInt8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2246
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2247
				TSvgPreserveAspectAlignType lAType= (TSvgPreserveAspectAlignType) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2248
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2249
				TSvgMeetOrSliceType lMType= (TSvgMeetOrSliceType) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2250
				((CSvgSvgElementImpl *)iCurrentElement)->SetPreserveAspectRatioL(lAType, lMType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2251
				return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2252
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2253
			else if(iCurrentElement->ElemID()== KSvgMediaAnimationElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2254
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2255
				TInt8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2256
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2257
				TSvgPreserveAspectAlignType lAType= (TSvgPreserveAspectAlignType) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2258
				iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2259
				TSvgMeetOrSliceType lMType= (TSvgMeetOrSliceType) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2260
				((CSvgMediaAnimationElementImpl*)iCurrentElement)->SetPreserveAspectRatioL(lAType, lMType);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2261
				return ETrue; 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2262
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2263
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2264
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2265
				((CSvgImageElementImpl *)iCurrentElement)->SetParL(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2266
				CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2267
				return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2268
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2269
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2270
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2271
		if( aName == KAtrSyncBehaviorDefault )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2272
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2273
			TUint8 syncBehaviorDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2274
			iStream>>syncBehaviorDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2275
			((CSvgSvgElementImpl*)iCurrentElement)->SetSyncBehaviorDefault( (TSvgSyncBehaviour) syncBehaviorDefault );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2276
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2277
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2278
		else if( aName == KAtrSyncToleranceDefault )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2279
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2280
			TUint8 syncToleranceDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2281
			iStream>>syncToleranceDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2282
			((CSvgSvgElementImpl*)iCurrentElement)->SetSyncToleranceDefault( syncToleranceDefault );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2283
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2284
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2285
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2286
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2287
			return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2288
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2289
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2290
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2291
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2292
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2293
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2294
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2295
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2296
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2297
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2298
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2299
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2300
// TBool CSvgDecoder::DecodeLangSpaceAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2301
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2302
TBool CSvgDecoder::DecodeLangSpaceAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2303
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2304
	if (aName<= KSvgLangAttrEndIndex)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2305
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2306
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2307
		if (aName== KAtrXmlLang)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2308
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2309
			iCurrentElement->SetXMLLangL (DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2310
			 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2311
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2312
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2313
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2314
		if (aName== KAtrXmlSpace)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2315
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2316
			iCurrentElement->SetXMLSpaceL (DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2317
			 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2318
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2319
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2320
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2321
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2322
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2323
			return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2324
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2325
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2326
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2327
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2328
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2329
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2330
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2331
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2332
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2333
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2334
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2335
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2336
// TBool CSvgDecoder::DecodeTransformAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2337
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2338
TBool CSvgDecoder::DecodeTransformAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2339
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2340
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2341
	if (aName== KAtrTransform)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2342
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2343
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2344
		if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2345
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2346
			TUint32 lTemp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2347
			TGfxAffineTransform lTransform;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2348
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2349
			lTransform.iM00.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2350
			lTransform.iM01.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2351
			lTransform.iM02.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2352
			lTransform.iM10.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2353
			lTransform.iM11.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2354
			lTransform.iM12.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2355
			iStream >> lTemp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2356
			lTransform.iTransType= (TGfxTransformType) lTemp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2357
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2358
			iCurrentElement->SetTransformList(lTransform);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2359
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2360
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2361
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2362
			TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2363
			TUint32 lTemp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2364
			TGfxAffineTransform lTransform;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2365
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2366
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2367
			lTransform.iM00= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2368
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2369
			lTransform.iM01= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2370
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2371
			lTransform.iM02= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2372
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2373
			lTransform.iM10= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2374
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2375
			lTransform.iM11= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2376
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2377
			lTransform.iM12= (TFloatFixPt) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2378
			iStream >> lTemp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2379
			lTransform.iTransType= (TGfxTransformType) lTemp1;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2380
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2381
			iCurrentElement->SetTransformList(lTransform);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2382
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2383
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2384
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2385
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2386
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2387
	else if	( aName== KAtrGradientTransform)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2388
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2389
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2390
		if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2391
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2392
			SVGReal lMatrix[2][3];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2393
			
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2394
			TFloatFixPt lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2395
			lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2396
			lMatrix[0][0]= lTemp.iValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2397
			lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2398
			lMatrix[0][1]= lTemp.iValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2399
			lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2400
			lMatrix[0][2]= lTemp.iValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2401
			lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2402
			lMatrix[1][0]= lTemp.iValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2403
			lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2404
			lMatrix[1][1]= lTemp.iValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2405
			lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2406
			lMatrix[1][2]= lTemp.iValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2407
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2408
			((CSvgGradientElementImpl*)iCurrentElement)->SetGradientTransMatrix(lMatrix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2409
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2410
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2411
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2412
			TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2413
			SVGReal lMatrix[2][3];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2414
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2415
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2416
			lMatrix[0][0]= (SVGReal) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2417
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2418
			lMatrix[0][1]= (SVGReal) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2419
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2420
			lMatrix[0][2]= (SVGReal) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2421
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2422
			lMatrix[1][0]= (SVGReal) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2423
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2424
			lMatrix[1][1]= (SVGReal) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2425
			iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2426
			lMatrix[1][2]= (SVGReal) lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2427
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2428
			((CSvgGradientElementImpl*)iCurrentElement)->SetGradientTransMatrix(lMatrix);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2429
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2430
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2431
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2432
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2433
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2434
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2435
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2436
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2437
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2438
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2439
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2440
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2441
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2442
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2443
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2444
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2445
// TBool CSvgDecoder::DecodeTestAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2446
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2447
TBool CSvgDecoder::DecodeTestAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2448
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2449
	if(aName<= KSvgTestAttrEndIndex)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2450
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2451
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2452
		if (
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2453
			aName== KAtrRequiredFeatures ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2454
			aName== KAtrRequiredExtensions ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2455
			aName== KAtrSystemLanguage
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2456
		   )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2457
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2458
			CDesCArrayFlat* lFeatures;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2459
			TInt8 lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2460
			iStream >> lCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2461
			if(lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2462
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2463
				lFeatures= new ( ELeave ) CDesCArrayFlat( lCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2464
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2465
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2466
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2467
				lFeatures= new ( ELeave ) CDesCArrayFlat( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2468
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2469
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2470
			CleanupStack::PushL(lFeatures); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2471
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2472
			for(TInt8 i=0; i<lCount; i++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2473
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2474
				lFeatures->AppendL((const TDesC&)DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2475
				CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2476
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2477
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2478
            iCurrentElement->CreateSvgTestL(aName);  //instantiates iSvgTest
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2479
			if (aName==	 KAtrRequiredFeatures)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2480
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2481
		         iCurrentElement->SetRequiredFeatures (lFeatures);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2482
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2483
			else if (aName== KAtrRequiredExtensions)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2484
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2485
				iCurrentElement->SetRequiredExtensions (lFeatures);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2486
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2487
			else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2488
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2489
		         iCurrentElement->SetSystemLanguage (lFeatures);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2490
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2491
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2492
			CleanupStack::Pop(lFeatures); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2493
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2494
		 return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2495
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2496
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2497
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2498
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2499
			return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2500
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2501
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2502
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2503
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2504
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2505
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2506
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2507
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2508
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2509
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2510
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2511
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2512
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2513
// TBool CSvgDecoder::DecodeIdAndXmlAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2514
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2515
TBool CSvgDecoder::DecodeIdAndXmlAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2516
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2517
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2518
	if (aName== KAtrId)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2519
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2520
		iCurrentElement->SetIdandXmlbaseL( _L("id"), DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2521
		 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2522
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2523
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2524
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2525
	if (aName== KAtrXmlBase)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2526
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2527
		iCurrentElement->SetIdandXmlbaseL( _L("xml:base"), DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2528
		 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2529
		return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2530
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2531
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2532
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2533
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2534
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2535
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2536
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2537
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2538
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2539
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2540
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2541
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2542
// TBool CSvgDecoder::DecodeUriRefAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2543
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2544
TBool CSvgDecoder::DecodeUriRefAttributeL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2545
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2546
   	if (aName<= KSvgUriAttrEndIndex)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2547
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2548
 		if (aName== KAtrXlinkhref)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2549
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2550
            // Although discard element belongs to animation, the discard element isn't
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2551
            // necessary inherited from giant AnimationBase, so handle attribute separately.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2552
            //
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2553
        	if ( iCurrentElement->ElemID() == KSvgDiscardElement || iCurrentElement->ElemID() == KSvgMediaAnimationElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2554
        	    return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2555
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2556
			TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2557
			/*Code modified for Forward refrence support in animation*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2558
			iCurrentElement->SetUriRefDesL (aName, lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2559
			// For Animation Elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2560
			if(iIsAnimElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2561
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2562
				CSvgElementImpl* lElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2563
				lElement= (CSvgElementImpl*) iDocument->GetElementById(lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2564
				if(lElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2565
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2566
					((CSvgAnimationBase*)iCurrentElement)->SetTarget(lElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2567
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2568
				else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2569
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2570
					 if (!iAnimRefElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2571
						 {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2572
                         iAnimRefElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2573
                         }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2574
                     iAnimRefElementArray->AppendL((CSvgElementImpl*)iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2575
                    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2576
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2577
				CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2578
				return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2579
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2580
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2581
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2582
			//Only for Image Element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2583
			if (iCurrentElement->ElemID() == KSvgImageElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2584
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2585
                ((CSvgImageElementImpl*)iCurrentElement)->SetUriL(lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2586
                iImageElements.Append((CSvgImageElementImpl*)iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2587
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2588
			CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2589
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2590
			// setting reference element of use Element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2591
			if (iCurrentElement->ElemID() == KSvgUseElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2592
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2593
			    if( ((CSvgUseElementImpl*)iCurrentElement)->SetRefElemById
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2594
			             (DecodeTDesCLC()) != KErrNone)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2595
			        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2596
					// if it is null reallocate the memeory again.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2597
					 if (!iUseElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2598
						 {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2599
                         iUseElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2600
                         }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2601
                     iUseElementArray->AppendL((CSvgElementImpl*)iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2602
                    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2603
                CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2604
                return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2605
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2606
// for future animation element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2607
//		    else if (iCurrentElement->ElemID() == KSvgAnimationElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2608
//				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2609
//			    if( ((CSvgAnimationElementImpl*)iCurrentElement)->SetRefElemById
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2610
//			             (DecodeTDesCLC()) == KErrNone)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2611
//			        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2612
					// if it is null reallocate the memeory again.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2613
//					 if (!iAnimationElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2614
//						 {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2615
//     					 iAnimationElementArray = new (ELeave)RPointerArray<CSvgElementImpl> (1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2616
//						 }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2617
//			         User::LeaveIfError(iAnimationElementArray->Append((CSvgElementImpl*)iCurrentElement));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2618
//			        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2619
//				CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2620
//				return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2621
//				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2622
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2623
			// setting Path of Mpath element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2624
			if (iCurrentElement->ElemID() == KSvgMpathElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2625
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2626
				iCurrentElement->iReqAttrFlag =0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2627
				TInt8 lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2628
				iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2629
				//  Flag is used to check the validity of reference element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2630
				if (lCheck)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2631
					{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2632
					((CSvgMpathElementImpl*)iCurrentElement)->SetAttributePathByIdL(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2633
					CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2634
					}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2635
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2636
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2637
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2638
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2639
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2640
		else if (aName== KAtrXlinkactuate ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2641
			     aName== KAtrXlinkarcrole ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2642
				 aName== KAtrXlinkrole ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2643
				 aName== KAtrXlinktitle ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2644
				 aName== KAtrXlinktype ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2645
				 aName== KAtrXlinkshow
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2646
			    )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2647
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2648
			iCurrentElement->SetUriRefDesL (aName, DecodeTDesCLC() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2649
			CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2650
			return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2651
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2652
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2653
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2654
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2655
			return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2656
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2657
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2658
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2659
	else if (aName== KXlinkhrefImageEmbedded)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2660
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2661
		TPtrC lPtr(DecodeImageEmbeddedTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2662
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2663
		iCurrentElement->SetUriRefDesL (aName, lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2664
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2665
			//Only for Image Element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2666
		if (iCurrentElement->ElemID() == KSvgImageElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2667
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2668
            // Keep track of embedded images
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2669
            iEmbeddedImagesCount++;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2670
            ((CSvgImageElementImpl*)iCurrentElement)->SetUriL(lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2671
            ((CSvgImageElementImpl*)iCurrentElement)->LoadUriL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2672
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2673
        CleanupStack::PopAndDestroy( 2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2674
        return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2675
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2676
    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2677
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2678
		return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2679
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2680
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2681
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2682
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2683
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2684
// TBool CSvgDecoder::DecodeDiscardAttributeL (const TUint16& aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2685
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2686
TBool CSvgDecoder::DecodeDiscardAttributeL (const TUint16& aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2687
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2688
	if ( iCurrentElement->ElemID() != KSvgDiscardElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2689
	    return EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2690
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2691
	TInt8 lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2692
	TInt16 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2693
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2694
	if (aName== KAtrBegin)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2695
	    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2696
		// Flag is used to check for SyncValue flag.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2697
		iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2698
		if ( lCheck )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2699
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2700
            ((CSvgDiscardElementImpl*)iCurrentElement)->SetSyncValueDefined(ETrue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2701
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2702
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2703
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2704
			((CSvgDiscardElementImpl*)iCurrentElement)->SetSyncValueDefined(EFalse);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2705
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2706
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2707
		// Flag is used to check for EventValue flag.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2708
		iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2709
		if ( lCheck )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2710
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2711
            ((CSvgDiscardElementImpl*)iCurrentElement)->SetEventValueDefined(ETrue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2712
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2713
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2714
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2715
            ((CSvgDiscardElementImpl*)iCurrentElement)->SetEventValueDefined(EFalse);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2716
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2717
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2718
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2719
		// Flag is used to check for SyncElement's id.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2720
		iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2721
		if ( lCheck )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2722
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2723
    		TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2724
    		((CSvgDiscardElementImpl*)iCurrentElement)->SetBeginSyncElementId(lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2725
	        CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2726
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2727
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2728
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2729
		iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2730
		((CSvgDiscardElementImpl*)iCurrentElement)->SetAbsoluteBeginTime(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2731
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2732
		iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2733
		((CSvgDiscardElementImpl*)iCurrentElement)->SetRefBeginTime(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2734
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2735
		iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2736
		((CSvgDiscardElementImpl*)iCurrentElement)->SetKeyValue(lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2737
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2738
		iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2739
		((CSvgDiscardElementImpl*)iCurrentElement)->SetBeginReferenceEvent((TSvgEvent)lTemp);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2740
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2741
	    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2742
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2743
	if (aName== KAtrXlinkhref)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2744
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2745
		// Flag is used to check for HrefValue flag.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2746
		iStream >> lCheck;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2747
		if ( lCheck )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2748
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2749
            ((CSvgDiscardElementImpl*)iCurrentElement)->SetHrefValueDefined(ETrue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2750
    		TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2751
    		((CSvgDiscardElementImpl*)iCurrentElement)->SetTargetId(lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2752
            CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2753
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2754
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2755
            ((CSvgDiscardElementImpl*)iCurrentElement)->SetHrefValueDefined(EFalse);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2756
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2757
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2758
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2759
    return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2760
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2761
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2762
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2763
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2764
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2765
// TBool CSvgDecoder::DecodeAttributeFloatL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2766
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2767
TBool CSvgDecoder::DecodeAttributeFloatL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2768
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2769
	if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2770
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2771
		TFloatFixPt lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2772
		lTemp.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2773
		iCurrentElement->SetAttributeFloatL( (TInt)aName, lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2774
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2775
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2776
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2777
		TReal32 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2778
		iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2779
		iCurrentElement->SetAttributeFloatL( (TInt)aName, (TFloatFixPt)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2780
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2781
	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2782
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2783
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2784
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2785
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2786
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2787
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2788
// TBool CSvgDecoder::DecodeAttributeIntL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2789
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2790
TBool CSvgDecoder::DecodeAttributeIntL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2791
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2792
	TInt8 lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2793
	iStream >> lTemp;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2794
	iCurrentElement->SetAttributeIntL( (TInt)aName, (TInt32)lTemp );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2795
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2796
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2797
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2798
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2799
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2800
// TBool CSvgDecoder::DecodeAttributePathL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2801
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2802
TBool CSvgDecoder::DecodeAttributePathL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2803
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2804
	CGfxGeneralPath* lPath;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2805
	DecodeAnimationPathL(lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2806
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2807
	iCurrentElement->SetAttributePathRef( (TInt)aName, lPath);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2808
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2809
	return  ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2810
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2811
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2812
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2813
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2814
// void CSvgDecoder::DecodeAnimationPathL(CGfxGeneralPath*& aPath)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2815
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2816
void CSvgDecoder::DecodeAnimationPathL(CGfxGeneralPath*& aPath)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2817
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2818
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2819
    aPath = CGfxGeneralPath::NewLC();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2820
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2821
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2822
        const TInt KLargePathTypeCount = 4*256;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2823
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2824
        TUint16 typeCount = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2825
        iStream >> typeCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2826
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2827
        /******************************************************************/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2828
        // Path Type
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2829
        /******************************************************************/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2830
        RArray<TUint32>* pathTypeArray = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2831
        // Put path-type-array to path to handle cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2832
        if ( typeCount == 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2833
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2834
            pathTypeArray = new (ELeave)RArray<TUint32>( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2835
            aPath->SetPointTypeArrayRef( pathTypeArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2836
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2837
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2838
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2839
            pathTypeArray = new (ELeave)RArray<TUint32>( typeCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2840
            aPath->SetPointTypeArrayRef( pathTypeArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2841
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2842
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2843
        // Occurs only for very large paths
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2844
        if ( typeCount > KLargePathTypeCount )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2845
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2846
            TUint8* byteData = new (ELeave) TUint8[typeCount];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2847
            CleanupArrayDeletePushL( byteData );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2848
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2849
            iStream.ReadL( byteData, typeCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2850
            
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2851
            for ( TInt i = 0; i < typeCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2852
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2853
            
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2854
                if(byteData[i] == EGfxEncodedSegMoveTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2855
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2856
                	byteData[i] = EGfxSegMoveTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2857
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2858
                else if(byteData[i] == EGfxEncodedSegLineTo )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2859
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2860
                	byteData[i]  = EGfxSegLineTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2861
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2862
                else if(byteData[i] == EGfxEncodedSegQuadTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2863
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2864
                	byteData[i]  = EGfxSegQuadTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2865
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2866
                else if(byteData[i] == EGfxEncodedSegCubicTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2867
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2868
                	byteData[i]  = EGfxSegCubicTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2869
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2870
                else if(byteData[i] == EGfxEncodedSegClose)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2871
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2872
                	byteData[i]  = EGfxSegClose;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2873
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2874
                // Path will close RArray if Leave occurs
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2875
                pathTypeArray->AppendL( byteData[i] );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2876
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2877
                //Transfering ownership to Path
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2878
            aPath->PathSegmentTypeArray(byteData);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2879
            aPath->Count(typeCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2880
            CleanupStack::Pop( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2881
            //delete [] byteData;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2882
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2883
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2884
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2885
            TUint8 *byteData = new (ELeave) TUint8[KLargePathTypeCount];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2886
            CleanupArrayDeletePushL( byteData );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2887
            iStream.ReadL( byteData, typeCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2888
            for ( TInt i = 0; i < typeCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2889
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2890
            
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2891
                if(byteData[i] == EGfxEncodedSegMoveTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2892
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2893
                	byteData[i] = EGfxSegMoveTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2894
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2895
                else if(byteData[i] == EGfxEncodedSegLineTo )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2896
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2897
                	byteData[i]  = EGfxSegLineTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2898
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2899
                else if(byteData[i] == EGfxEncodedSegQuadTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2900
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2901
                	byteData[i]  = EGfxSegQuadTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2902
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2903
                else if(byteData[i] == EGfxEncodedSegCubicTo)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2904
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2905
                	byteData[i]  = EGfxSegCubicTo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2906
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2907
                else if(byteData[i] == EGfxEncodedSegClose)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2908
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2909
                	byteData[i]  = EGfxSegClose;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2910
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2911
                // Path will close RArray if Leave occurs
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2912
                pathTypeArray->AppendL( byteData[i] );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2913
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2914
            aPath->PathSegmentTypeArray(byteData);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2915
            aPath->Count(typeCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2916
             CleanupStack::Pop( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2917
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2918
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2919
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2920
    /******************************************************************/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2921
    // Path Points
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2922
    /******************************************************************/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2923
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2924
        const TInt KLargePathPointsCount = 256;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2925
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2926
        TUint16 valueCount = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2927
        iStream >> valueCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2928
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2929
        RArray<TFloatFixPt>* pathPointsArray = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2930
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2931
        if ( valueCount == 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2932
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2933
            pathPointsArray = new (ELeave)RArray<TFloatFixPt>( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2934
            aPath->SetPointCoordsArrayRef( pathPointsArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2935
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2936
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2937
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2938
            pathPointsArray = new (ELeave)RArray<TFloatFixPt>( valueCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2939
            aPath->SetPointCoordsArrayRef( pathPointsArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2940
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2941
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2942
        if ( valueCount > KLargePathPointsCount )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2943
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2944
            if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2945
	            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2946
	            TFloatFixPt* fixedData = new (ELeave) TFloatFixPt[valueCount];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2947
                CleanupArrayDeletePushL( fixedData );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2948
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2949
	            TInt byteCount = sizeof( TFloatFixPt ) * valueCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2950
	            iStream.ReadL( (TUint8*)fixedData, byteCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2951
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2952
	            for ( TInt i = 0; i < valueCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2953
	                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2954
	                // Path will close RArray if Leave occurs
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2955
	                pathPointsArray->AppendL( fixedData[i] );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2956
	                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2957
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2958
	            CleanupStack::Pop( 1 ); // fixedData 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2959
	            delete [] fixedData;         	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2960
            	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2961
            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2962
	            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2963
	            TReal32* real32Data = new (ELeave) TReal32[valueCount];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2964
                CleanupArrayDeletePushL( real32Data );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2965
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2966
	            TInt byteCount = sizeof( TReal32 ) * valueCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2967
	            iStream.ReadL( (TUint8*)real32Data, byteCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2968
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2969
	            for ( TInt i = 0; i < valueCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2970
	                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2971
	                // Path will close RArray if Leave occurs
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2972
	                pathPointsArray->AppendL( (TFloatFixPt)real32Data[i] );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2973
	                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2974
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2975
	            CleanupStack::Pop( 1 ); // real32Data    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2976
	            delete [] real32Data;       	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2977
	            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2978
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2979
         else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2980
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2981
            if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2982
            	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2983
            	TFloatFixPt fixedData[KLargePathPointsCount];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2984
            	TInt byteCount = sizeof( TFloatFixPt ) * valueCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2985
            	iStream.ReadL( (TUint8*)fixedData, byteCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2986
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2987
            	for ( TInt i = 0; i < valueCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2988
                	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2989
               	 	pathPointsArray->AppendL( fixedData[i] );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2990
                	}            	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2991
            	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2992
            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2993
            	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2994
            	TReal32 real32Data[KLargePathPointsCount];
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2995
            	TInt byteCount = sizeof( TReal32 ) * valueCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2996
            	iStream.ReadL( (TUint8*)real32Data, byteCount );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2997
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2998
            	for ( TInt i = 0; i < valueCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  2999
                	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3000
                	pathPointsArray->AppendL( (TFloatFixPt)real32Data[i] );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3001
                	}            	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3002
            	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3003
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3004
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3005
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3006
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3007
    CleanupStack::Pop( 1 ); // aPath
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3008
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3009
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3010
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3011
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3012
// TBool CSvgDecoder::DecodeAttributeDesL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3013
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3014
TBool CSvgDecoder::DecodeAttributeDesL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3015
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3016
	iCurrentElement->SetAttributeDesL ((TInt)aName, DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3017
	CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3018
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3019
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3020
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3021
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3022
// TBool CSvgDecoder::DecodeStringCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3023
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3024
TBool CSvgDecoder::DecodeStringCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3025
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3026
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3027
	CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3028
    CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3029
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3030
	iCurrentElement->FindProperty ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3031
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3032
	TPtrC lPtr(DecodeTDesCLC());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3033
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3034
	if(iCurrentElement->ElemID() == KSvgFontfaceElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3035
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3036
		((CSvgFontFaceElementImpl *)iCurrentElement)->SetFontFamilyL(lPtr);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3037
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3038
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3039
	if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3040
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3041
		iCurrentParentElement->FindProperty ((TInt8)aName,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3042
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3043
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3044
	if (tParentValue == tValue || tValue == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3045
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3046
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3047
		if (iDocument)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3048
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3049
			tValue = iDocument->iMemoryManager->GetCssStrObjectL( lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3050
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3051
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3052
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3053
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3054
		CleanupStack::PopAndDestroy( 1 );// cleanup : for lPtr
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3055
	    iCurrentElement->SetPresentationAttribute ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3056
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3057
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3058
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3059
		((CStrCssValueImpl*)tValue)->SetValueL ( lPtr );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3060
		 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3061
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3062
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3063
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3064
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3065
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3066
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3067
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3068
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3069
// TBool CSvgDecoder::DecodeIntCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3070
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3071
TBool CSvgDecoder::DecodeIntCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3072
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3073
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3074
	TInt32  lInt32;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3075
	iStream >> lInt32;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3076
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3077
	CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3078
    CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3079
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3080
	iCurrentElement->FindProperty ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3081
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3082
	if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3083
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3084
		iCurrentParentElement->FindProperty ((TInt8)aName,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3085
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3086
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3087
	if (tParentValue == tValue || tValue == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3088
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3089
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3090
		if (iDocument)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3091
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3092
			tValue = iDocument->iMemoryManager->GetCssIntObjectL( (TInt)lInt32 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3093
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3094
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3095
	    iCurrentElement->SetPresentationAttribute ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3096
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3097
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3098
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3099
		((CIntCssValueImpl*)tValue)->SetValueL ((TInt)lInt32);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3100
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3101
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3102
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3103
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3104
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3105
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3106
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3107
// TBool CSvgDecoder::DecodeFloatCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3108
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3109
TBool CSvgDecoder::DecodeFloatCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3110
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3111
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3112
	if (iIsFixPt)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3113
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3114
		TFloatFixPt lFixed;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3115
		lFixed.iValue = iStream.ReadInt32L();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3116
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3117
		CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3118
    	CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3119
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3120
		iCurrentElement->FindProperty ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3121
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3122
		if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3123
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3124
		iCurrentParentElement->FindProperty ((TInt8)aName,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3125
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3126
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3127
		if (tParentValue == tValue || tValue == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3128
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3129
		if (iDocument)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3130
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3131
			tValue = iDocument->iMemoryManager->GetCssFloatObjectL( lFixed );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3132
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3133
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3134
	    iCurrentElement->SetPresentationAttribute ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3135
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3136
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3137
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3138
		((CFloatCssValueImpl*)tValue)->SetValueL ( lFixed );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3139
		}		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3140
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3141
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3142
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3143
		TReal32  lFlt32;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3144
		iStream >> lFlt32;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3145
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3146
		CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3147
    	CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3148
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3149
		iCurrentElement->FindProperty ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3150
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3151
		if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3152
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3153
		iCurrentParentElement->FindProperty ((TInt8)aName,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3154
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3155
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3156
		if (tParentValue == tValue || tValue == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3157
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3158
		if (iDocument)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3159
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3160
			tValue = iDocument->iMemoryManager->GetCssFloatObjectL((TFloatFixPt)lFlt32);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3161
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3162
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3163
	    iCurrentElement->SetPresentationAttribute ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3164
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3165
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3166
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3167
		((CFloatCssValueImpl*)tValue)->SetValueL ((TFloatFixPt)lFlt32);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3168
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3169
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3170
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3171
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3172
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3173
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3174
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3175
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3176
// TBool CSvgDecoder::DecodeColorCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3177
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3178
TBool CSvgDecoder::DecodeColorCssValueL(const TUint16 aName)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3179
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3180
	TUint32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3181
	iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3182
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3183
	// Shift from XBGR to XRGB
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3184
	if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3185
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3186
		lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3187
			 ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3188
		     (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3189
		     ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3190
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3191
	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3192
	CCssValue* tParentValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3193
    CCssValue* tValue = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3194
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3195
	iCurrentElement->FindProperty ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3196
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3197
	if(iCurrentElement!= iRootElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3198
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3199
		iCurrentParentElement->FindProperty ((TInt8)aName,tParentValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3200
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3201
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3202
	if (tParentValue == tValue || tValue == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3203
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3204
		if ( iDocument )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3205
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3206
			tValue = iDocument->iMemoryManager->GetCssClrObjectL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3207
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3208
		CleanupStack::PushL(tValue); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3209
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3210
		((CClrCssValueImpl*)tValue)->CloneRGBValueL (lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3211
	    iCurrentElement->SetPresentationAttribute ((TInt8)aName,tValue);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3212
	    CleanupStack::Pop(tValue); //cleanup
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3213
	    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3214
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3215
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3216
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3217
		((CClrCssValueImpl*)tValue)->CloneRGBValueL (lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3218
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3219
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3220
	return ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3221
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3222
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3223
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3224
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3225
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3226
// void CSvgDecoder::SetPaintValueL (CCssValue*& aValue)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3227
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3228
void CSvgDecoder::SetPaintValueL (CCssValue*& aValue)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3229
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3230
	TUint8 lCheckGradient;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3231
	iStream >> lCheckGradient;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3232
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3233
	if( lCheckGradient)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3234
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3235
		((CPaintCssValueImpl *)aValue)->SetUrlflag();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3236
		((CPaintCssValueImpl *)aValue)->SetUrlIdL( DecodeTDesCLC() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3237
		 CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3238
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3239
	else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3240
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3241
		TUint32 lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3242
 		iStream >> lColor;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3243
		// Shift from XBGR to ARGB
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3244
		if(!iIsRGB)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3245
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3246
			lColor = (  lColor & 0xFF000000) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3247
			     ( (lColor & 0x00FF0000) >> 16 ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3248
			     (  lColor & 0x0000FF00       ) |
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3249
			     ( (lColor & 0x000000FF) << 16 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3250
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3251
		((CPaintCssValueImpl *)aValue)->CloneRGBValueL (lColor);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3252
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3253
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3254
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3255
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3256
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3257
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3258
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3259
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3260
// Start Decoding
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3261
// ==========================================================================
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3262
CSvgElementImpl* CSvgDecoder::StartDecodingL(CSvgDocumentImpl *aDocument,
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3263
											CSvgErrorImpl& aError )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3264
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3265
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3266
	iDocument= aDocument;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3267
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3268
	iSvgError = &aError;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3269
    aError.SetErrorCode( ESvgNoError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3270
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3271
	TUint32 lValidBinary;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3272
	iStream >> lValidBinary;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3273
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3274
	if (lValidBinary != KBinaryFile && 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3275
		lValidBinary != KBinaryFile2 && 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3276
		lValidBinary != KBinaryFile3 && 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3277
		lValidBinary != KBinaryFile4)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3278
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3279
		iSvgError->SetErrorCode ( ESvgbFileNotValid );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3280
        iSvgError->SetDescription( _L( "Not a valid binary file." ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3281
        iSvgError->SetIsWarning( EFalse );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3282
        return NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3283
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3284
	
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3285
	if (lValidBinary == KBinaryFile2)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3286
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3287
		iIsFixPt = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3288
		iIsRGB = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3289
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3290
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3291
	if (lValidBinary == KBinaryFile3)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3292
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3293
		iIsFixPt = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3294
		iIsRGB = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3295
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3296
		
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3297
	if(lValidBinary == KBinaryFile4)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3298
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3299
		iIsFixPt = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3300
		iIsRGB = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3301
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3302
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3303
	TUint8 lElemId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3304
	TUint16 lAttrName;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3305
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3306
	MXmlElement* newElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3307
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3308
	iStream >> lElemId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3309
	while (lElemId != KEndSvgFile)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3310
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3311
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3312
		 // checks end of element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3313
		while (lElemId==KEndElemIndex)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3314
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3315
			if ( iCurrentParentElement != iRootElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3316
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3317
				// Depth is decreased, so the current parent should be one level up
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3318
				iCurrentParentElement = ( CSvgElementImpl * )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3319
			                       iCurrentParentElement->ParentNode();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3320
				}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3321
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3322
			iStream >> lElemId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3323
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3324
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3325
		// checks for Cdata
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3326
  		if (lElemId == KCDataPresent)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3327
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3328
			iCurrentElement= iCurrentParentElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3329
			DecodeAttributeL((TUint16)KAtrCdata);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3330
			iStream >> lElemId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3331
			continue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3332
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3333
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3334
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3335
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3336
		 //checks end of file.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3337
		if (lElemId == KEndSvgFile)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3338
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3339
			break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3340
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3341
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3342
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3343
		newElement  = iDocument->CreateElementL( lElemId );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3344
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3345
		if( newElement == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3346
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3347
				User::Leave(KErrCorrupt);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3348
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3349
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3350
	    iCurrentElement = ( CSvgElementImpl * ) newElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3351
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3352
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3353
		if ( lElemId == KSvgSvgElement && !iRootElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3354
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3355
	        iRootElement = iCurrentElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3356
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3357
	      	//CleanupStack::PushL(iRootElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3358
	        iDocument->AppendChildL( newElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3359
	        //CleanupStack::Pop(iRootElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3360
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3361
		    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3362
		// for all other elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3363
		else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3364
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3365
    		 iCurrentParentElement->AppendChildL( newElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3366
		    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3367
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3368
		// Setting target element for animations
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3369
		if( iCurrentElement->IsAnimatedElement() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3370
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3371
            ((CSvgAnimationBase*)iCurrentElement)->SetTarget( iCurrentParentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3372
            // For media elements do not set iIsAnimElement as 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3373
            // the Xlink:Href  is for external files rather
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3374
            // than internal elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3375
            if (!( iCurrentElement->ElemID() >= KSvgMediaElemsStartIndex &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3376
             iCurrentElement->ElemID() <= KSvgMediaElemsEndIndex ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3377
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3378
			    iIsAnimElement= ETrue;                
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3379
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3380
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3381
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3382
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3383
		iStream >> lAttrName;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3384
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3385
		// for attribute list.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3386
		while (lAttrName!= KStartNewElem)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3387
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3388
			DecodeAttributeL(lAttrName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3389
			iStream >> lAttrName;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3390
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3391
		if( iCurrentElement->ElemID() == KSvgStopElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3392
		   {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3393
		   if( ((CSvgElementImpl*)iCurrentElement->ParentNode()) != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3394
              {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3395
              if((((((CSvgElementImpl*)iCurrentElement->ParentNode())->ElemID()) == KSvgRadialGradientElement) ||
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3396
	              ((((CSvgElementImpl*)iCurrentElement->ParentNode())->ElemID()) == KSvgLinearGradientElement) ) )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3397
		         {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3398
	    	     CSvgGradientElementImpl *parent = ((CSvgGradientElementImpl *)iCurrentElement->ParentNode());
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3399
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3400
                 if(parent)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3401
		            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3402
	                // Initialize the offset value to 0 if its still -1.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3403
	                TFloatFixPt lOffsetValue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3404
	                TFloatFixPt lDefaultOffsetValue(-1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3405
	                TBuf<6>     lAttributeName;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3406
	                TBuf<1>     lValueBuffer;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3407
	                      
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3408
	                lAttributeName.Append(OFFSET);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3409
	                lValueBuffer.Append(ZEROVALUE);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3410
	                       
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3411
	                ((CSvgStopElementImpl*)iCurrentElement)->GetOffset( lOffsetValue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3412
	                      
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3413
	                // Offset Value of -1 indicates that Offset Attribute is not declared in
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3414
	                // stop element.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3415
	                if( lOffsetValue == lDefaultOffsetValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3416
	                   {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3417
	                    // Deliberately calling SetAttributeL in place of SetAttributeFloatL as the latter inturn
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3418
	                    // calls UpdateOffsetValues which should be called on any Stop element once it is added to
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3419
	                    // to the Stop element array Owned by parent Gradient element.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3420
	                    ((CSvgStopElementImpl*)iCurrentElement)->SetAttributeL( lAttributeName, lValueBuffer );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3421
	                   }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3422
	                   
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3423
	                // The function not only adds the element in Stop element array but also
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3424
                    // adjusts the offset values of all the previously added elements such that
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3425
                    // each gradient offset value is greater than the previous gradient stop's
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3426
                    // offset value.It calls UpdateOffsetValues to adjust the values.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3427
	                ((CSvgGradientElementImpl *)parent)->AddStopElementInArray((CSvgStopElementImpl*)iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3428
		            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3429
	              }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3430
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3431
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3432
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3433
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3434
		if (iCurrentElement->ElemID() == KSvgUseElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3435
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3436
			((CSvgUseElementImpl *)iCurrentElement)->SetReferenceElementL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3437
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3438
/*		else if (iCurrentElement->ElemID() == KSvgAnimationElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3439
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3440
			((CSvgAnimationElementImpl *)iCurrentElement)->SetReferenceElementL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3441
			if(((CSvgAnimationElementImpl *)iCurrentElement)->RecursionVariable())
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3442
				{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3443
				iSvgError->SetErrorCode( ESvgDocumentNotValid );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3444
				iSvgError->SetIsWarning( EFalse );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3445
				iSvgError->SetDescription( _L( "Invalid Document \n" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3446
				iSvgError->AppendDescription( _L("Animation element in loop") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3447
                return iRootElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3448
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3449
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3450
*/
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3451
        if (iCurrentElement->HasAnyTests())
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3452
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3453
            iReqFetAttSysArray->AppendL(iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3454
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3455
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3456
        if (iCurrentElement->ElemID() == KSvgSwitchElement)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3457
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3458
            iSwitchElementArray->AppendL(iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3459
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3460
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3461
		// For DOM reuse
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3462
		if( iCurrentElement->IsAnimatedElement() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3463
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3464
            ((CSvgAnimationBase*)iCurrentElement)->SetOriginalValues_DOMReuse() ;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3465
            iAnimationElementArray->AppendL(iCurrentElement);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3466
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3467
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3468
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3469
		if( iCurrentElement->ElemID() >= KSvgLinearGradientElement &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3470
			iCurrentElement->ElemID() <= KSvgStopElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3471
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3472
			iCurrentElement->SetAttributeIntL(KCSS_ATTR_DISPLAY,0);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3473
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3474
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3475
		if (	iCurrentElement->ElemID() == KSvgMpathElement &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3476
				iCurrentParentElement->ElemID() == KSvgAnimateMotionElement &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3477
				iSvgError->ErrorCode() == ESvgMissingRequiredAttribute &&
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3478
				iSvgError->IsWarning()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3479
		   )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3480
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3481
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3482
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3483
			iSvgError->SetErrorCode( ESvgNoError );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3484
			// add to event receiver list will have only one copy
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3485
			iDocument->AddToEventReceiverListL( iCurrentParentElement, KSvgEventMaskTimer );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3486
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3487
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3488
		CheckRequiredAttributesL( lElemId);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3489
		iIsAnimElement= EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3490
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3491
		iCurrentParentElement = iCurrentElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3492
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3493
		iStream >> lElemId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3494
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3495
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3496
    //Load Images
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3497
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3498
    TInt lImageElementCnt = iImageElements.Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3499
    TInt lTotalImagesCount = lImageElementCnt + iEmbeddedImagesCount;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3500
    iDocument->SetImageElementsCount(lTotalImagesCount);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3501
    for( TInt index = 0 ; index < lImageElementCnt ; index++)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3502
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3503
          iImageElements[index]->LoadUriL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3504
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3505
    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3506
	if(iUseElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3507
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3508
	 // support for forward reference in use element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3509
	TInt lCount = iUseElementArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3510
	TInt lIndex= 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3511
	while(lIndex < lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3512
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3513
		TPtrC tPtr2 = ((CSvgElementImpl*)iUseElementArray->operator[](lIndex))->Href();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3514
		TInt Pos1= tPtr2.Locate('#');
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3515
        HBufC*  tBufC   = HBufC::NewLC( tPtr2.Length() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3516
	    TPtr    tPtr3    ( tBufC->Des() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3517
	    tPtr3.Copy( tPtr2 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3518
	    tPtr3.TrimAll();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3519
	    // remove '#'
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3520
		if(Pos1 != KErrNotFound)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3521
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3522
			tPtr3.Delete(Pos1,1);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3523
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3524
		if(((CSvgUseElementImpl *)iUseElementArray->operator[](lIndex))->SetRefElemById(tPtr3) != KErrNotFound)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3525
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3526
			((CSvgUseElementImpl *)iUseElementArray->operator[](lIndex))->SetReferenceElementL();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3527
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3528
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3529
			lIndex++;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3530
		CleanupStack::PopAndDestroy( 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3531
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3532
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3533
	// support for forward reference in use element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3534
	if(iAnimRefElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3535
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3536
		TInt lCount = iAnimRefElementArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3537
		TInt lIndex= 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3538
	while(lIndex < lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3539
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3540
		TPtrC tPtr2 = ((CSvgElementImpl*)iAnimRefElementArray->operator[](lIndex))->Href();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3541
		((CSvgAnimationBase *)iAnimRefElementArray->operator[](lIndex))->SetRefElemById(tPtr2);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3542
		lIndex++;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3543
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3544
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3545
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3546
	// For Animation elements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3547
	if (iAnimationElementArray)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3548
		{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3549
		TInt lCount = iAnimationElementArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3550
		TInt lIndex = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3551
		while(lIndex < lCount)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3552
	    	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3553
		    ((CSvgAnimationBase *)iAnimationElementArray->operator[](lIndex))->CheckBeginTime();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3554
		    lIndex ++;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3555
		    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3556
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3557
    // Reset iCurrentElement, as it is no longer used
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3558
    iCurrentElement = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3559
	RemoveFalseElements();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3560
	RemoveFalseSwitchCases();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3561
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3562
	return iRootElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3563
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3564
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3565
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3566
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3567
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3568
// void CSvgDecoder::CheckRequiredAttributesL(const TUint8 aName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3569
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3570
void CSvgDecoder::CheckRequiredAttributesL(const TUint8 aName )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3571
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3572
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3573
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3574
	if( iCurrentElement->iReqAttrFlag != 0)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3575
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3576
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3577
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3578
			iSvgError->SetErrorCode( ESvgMissingRequiredAttribute );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3579
			iSvgError->SetIsWarning( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3580
			iSvgError->SetDescription( _L( "Missing required attribute \"" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3581
			switch(iCurrentElement->iReqAttrFlag)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3582
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3583
			case KSVG_PATH_ELEMFLAG:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3584
				iSvgError->AppendDescription( _L("d") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3585
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3586
			case KAtrWidth:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3587
				iSvgError->AppendDescription( _L("width") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3588
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3589
			case KAtrHeight:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3590
				iSvgError->AppendDescription( _L("height") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3591
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3592
			case KSVG_POLYLINE_ELEMFLAG:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3593
				iSvgError->AppendDescription( _L("points") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3594
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3595
			case KAtrRy:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3596
				iSvgError->AppendDescription( _L("Ry") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3597
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3598
			case KAtrRx:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3599
				iSvgError->AppendDescription( _L("Rx") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3600
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3601
			case KAtrSVGRec:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3602
				iSvgError->AppendDescription( _L("width") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3603
				iSvgError->AppendDescription( _L( "\" and \"" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3604
				iSvgError->AppendDescription(_L("height"));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3605
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3606
			case KAtrSVGElp:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3607
				iSvgError->AppendDescription( _L("Rx") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3608
				iSvgError->AppendDescription( _L( "\" and \"" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3609
				iSvgError->AppendDescription(_L("Ry"));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3610
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3611
			case KAtrSVGTrf:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3612
				iSvgError->AppendDescription( _L("attributeName") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3613
				iSvgError->AppendDescription( _L( "\" and \"" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3614
				iSvgError->AppendDescription(_L("type"));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3615
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3616
			case KSVG_ANIMATE_ELEMFLAG:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3617
				iSvgError->AppendDescription( _L("attributeName") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3618
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3619
			case KSVG_CIRCLE_ELEMFLAG:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3620
				iSvgError->AppendDescription( _L("r") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3621
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3622
			case KSVG_HKERN_ELEMFLAG:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3623
				iSvgError->AppendDescription( _L("k") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3624
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3625
			case KAtrType:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3626
				iSvgError->AppendDescription( _L("type") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3627
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3628
			case KAtrXlinkhref:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3629
				iSvgError->AppendDescription (_L("Xlink:href"));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3630
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3631
			case KAtrSVGAmo:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3632
				iSvgError->AppendDescription( _L("path") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3633
				((CSvgDocumentImpl*)iDocument)->RemoveFromEventReceiverList( iCurrentElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3634
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3635
			case KAtrToBy:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3636
				iSvgError->AppendDescription( _L("to/by") );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3637
				((CSvgDocumentImpl*)iDocument)->RemoveFromEventReceiverList( iCurrentElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3638
				break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3639
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3640
			iSvgError->AppendDescription( _L( "\" for <" ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3641
			// access schema data to get the name of the attribute which is missing
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3642
			// currently the error msg doesnt not report the name of the attribute
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3643
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3644
			TBuf<20> lElemName = _L("svg");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3645
			((CSvgDocumentImpl*)iDocument)->SchemaData()->GetSVGElementName(aName,lElemName);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3646
			iSvgError->AppendDescription( lElemName );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3647
			iSvgError->AppendDescription( _L( ">." ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3648
			// turn off element
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3649
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3650
			  ((CSvgElementImpl*)iCurrentElement)->SetTurnOff( ETrue );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3651
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3652
			((CSvgElementImpl*)iCurrentElement)->SetPropertyL(KCSS_ATTR_DISPLAY,_L("none"));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3653
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3654
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3655
		}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3656
	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3657
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3658
//---------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3659
//Removal of elements that dont pass
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3660
//required extensions, required features, and system language
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3661
//requirements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3662
//switch statement is special case were only the first one
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3663
//that passes these requirements will be used so toss the rest
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3664
//---------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3665
void CSvgDecoder::RemoveFalseElements()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3666
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3667
    if (iReqFetAttSysArray == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3668
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3669
        // Error Case
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3670
        return;        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3671
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3672
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3673
    //loop through the list of elements with required features, attributes, or sys language
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3674
    TInt reqFetSysArrayCnt = iReqFetAttSysArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3675
    while ( reqFetSysArrayCnt > 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3676
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3677
        CSvgElementImpl* lCurElement = ( CSvgElementImpl* )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3678
            iReqFetAttSysArray->operator[]( reqFetSysArrayCnt - 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3679
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3680
        if ( lCurElement != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3681
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3682
            CSvgElementImpl* lCurParent = ( CSvgElementImpl* )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3683
                lCurElement->ParentNode();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3684
 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3685
            //just a normal element check it and remove it if it doesnt pass
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3686
            TBool lResult = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3687
            TRAPD( error, lResult  = VerifyReqExReqFtrSysL( lCurElement ) );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3688
            if ( error == KErrNone && !lResult )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3689
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3690
                // Remove internal references to the element about to be 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3691
                // removed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3692
                // This function would also remove the lCurElement from
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3693
                // iReqFetAttSysArray.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3694
                RemoveInternalReferences( lCurElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3695
                //element doesnt have proper required extension, attributes, or system language
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3696
                lCurParent->RemoveChild( lCurElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3697
                delete (CXmlElementImpl*)lCurElement;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3698
                lCurElement = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3699
                }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3700
            else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3701
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3702
                // Remove the last element from the array as it is processed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3703
                iReqFetAttSysArray->Remove( reqFetSysArrayCnt - 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3704
                } // if ( error == KErrNone && !lResult )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3705
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3706
        else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3707
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3708
            // Remove the last element from the array as it is processed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3709
            iReqFetAttSysArray->Remove( reqFetSysArrayCnt - 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3710
            } // if ( lCurElement != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3711
        // Update the count of elements in the array
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3712
        reqFetSysArrayCnt = iReqFetAttSysArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3713
        } // while ( reqFetSysArrayCnt > 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3714
    // Clear the array as it is no longer required.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3715
    iReqFetAttSysArray->Reset();    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3716
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3717
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3718
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3719
// void CSvgDecoder::RemoveFalseSwitchCases()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3720
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3721
void CSvgDecoder::RemoveFalseSwitchCases()
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3722
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3723
    if (iSwitchElementArray == NULL)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3724
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3725
        // Error Case
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3726
        return;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3727
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3728
        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3729
    TInt switchEleArrayCnt = iSwitchElementArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3730
    while ( switchEleArrayCnt > 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3731
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3732
        TBool foundTrue = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3733
        CSvgElementImpl* curSwitchElem = ( CSvgElementImpl* )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3734
            iSwitchElementArray->operator[]( switchEleArrayCnt - 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3735
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3736
        if ( curSwitchElem != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3737
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3738
            //get the first child...which is where the first
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3739
            CSvgElementImpl* curCaseElem = (CSvgElementImpl*)curSwitchElem->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3740
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3741
            while ( curCaseElem != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3742
                {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3743
                CSvgElementImpl* nextCaseElem = (CSvgElementImpl*)curCaseElem->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3744
                // foundTrue is set to TRUE when an element whose test passes is found. The
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3745
                // subsequent elements are to be removed.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3746
                if ( foundTrue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3747
                    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3748
                    // Remove internal references of the element from 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3749
                    // decoder's lists
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3750
                    RemoveInternalReferences( curCaseElem );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3751
                    //already found the true case in the switch delete the rest
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3752
                    curSwitchElem->RemoveChild( curCaseElem );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3753
                    delete ( CXmlElementImpl* )curCaseElem;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3754
                    curCaseElem = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3755
                    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3756
                else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3757
                    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3758
                    TBool lResult = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3759
                    TRAPD(error, lResult  = VerifyReqExReqFtrSysL(curCaseElem));
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3760
                    if ( error == KErrNone && !lResult )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3761
                        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3762
                        // Remove internal references of the element from 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3763
                        // decoder's lists
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3764
                        RemoveInternalReferences( curCaseElem );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3765
                        //this element doesnt meet the switch requirements delete it and its children
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3766
                        curSwitchElem->RemoveChild(curCaseElem);
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3767
                        delete (CXmlElementImpl*)curCaseElem;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3768
                        curCaseElem = NULL;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3769
                        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3770
                    else
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3771
                        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3772
                        //one evaluated to true so keep it but go ahead and delete the rest in the switch
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3773
                        //should only be one child for switch in end
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3774
                        foundTrue = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3775
                        } // if ( error == KErrNone && !lResult )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3776
                    } // if ( foundTrue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3777
                // Proceed checking the next sibling
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3778
                curCaseElem = nextCaseElem;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3779
                } // while ( curCaseElem != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3780
            } // if ( curSwitchElem != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3781
        // Remove the last switch element which was processed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3782
        iSwitchElementArray->Remove( switchEleArrayCnt - 1 );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3783
        // Update the count of the array
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3784
        switchEleArrayCnt = iSwitchElementArray->Count();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3785
        } // while ( switchEleArrayCnt > 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3786
    // Clear the array as it is no longer needed
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3787
    iSwitchElementArray->Reset();    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3788
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3789
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3790
//---------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3791
//Check to see
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3792
//required extensions, required features, and system language
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3793
//requirements
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3794
//---------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3795
TBool CSvgDecoder::VerifyReqExReqFtrSysL( CSvgElementImpl* aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3796
{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3797
    const CDesCArrayFlat* tempTestArray = NULL; // 'const' keyword added due to S60 (CW) build team recommendation
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3798
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3799
	TBool   doDraw  = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3800
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3801
    // First check for requiredExtensions
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3802
    aElement->GetRequiredExtensions( tempTestArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3803
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3804
    if ( tempTestArray && tempTestArray->MdcaCount() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3805
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3806
    	// Check for all entries in requiredExtensions
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3807
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3808
    	TInt lCount = tempTestArray->MdcaCount();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3809
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3810
      	for ( TInt i = 0; i < lCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3811
      	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3812
      		TPtrC tmpPtr = tempTestArray->MdcaPoint( i );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3813
       	 	if ( tmpPtr.Length() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3814
       	 	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3815
        		doDraw = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3816
          		break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3817
        	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3818
        	else if ( aElement->HasExtension( tmpPtr ) == EFalse )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3819
        	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3820
        		doDraw = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3821
          		break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3822
        	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3823
      	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3824
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3825
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3826
    // Second, check for requiredFeatures
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3827
    aElement->GetRequiredFeatures( tempTestArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3828
    if ( tempTestArray && tempTestArray->MdcaCount() && doDraw)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3829
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3830
    	// Check for all entries in requiredFeatures
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3831
      TInt lCount = tempTestArray->MdcaCount();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3832
      for ( TInt i = 0; i < lCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3833
      {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3834
      	TPtrC tmpPtr = tempTestArray->MdcaPoint( i );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3835
        if ( aElement->HasFeature( tmpPtr ) == EFalse )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3836
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3837
        	doDraw = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3838
          	break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3839
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3840
      }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3841
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3842
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3843
	TBufC<5> iSystemLanguage;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3844
	SystemLanguage( iSystemLanguage.Des() );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3845
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3846
	// Third, check for systemLanguage
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3847
	// Future enhancement: System language doesnt need to be stored in seperate array indexes
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3848
	// could have just stored it as one big string and use findf without the loop
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3849
    aElement->GetSystemLanguage( tempTestArray );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3850
    TBool doDrawSystem = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3851
    if ( tempTestArray && tempTestArray->MdcaCount() && doDraw)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3852
	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3853
    	TInt lCount = tempTestArray->MdcaCount();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3854
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3855
      	for ( TInt i = 0; i < lCount; i++ )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3856
      	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3857
      		TPtrC tmpPtr = tempTestArray->MdcaPoint( i );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3858
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3859
        	if ( tmpPtr.FindF( iSystemLanguage ) >= 0 )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3860
			{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3861
        		doDrawSystem = ETrue;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3862
          		break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3863
			}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3864
      	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3865
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3866
      	if (doDrawSystem == EFalse)
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3867
     	{
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3868
     		doDraw = EFalse;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3869
     	}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3870
     }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3871
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3872
	return doDraw;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3873
}
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3874
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3875
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3876
// void CSvgDecoder::SystemLanguage( TPtr aValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3877
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3878
void CSvgDecoder::SystemLanguage( TPtr aValue )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3879
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3880
    _LIT( KEn, "en" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3881
    _LIT( KFr, "fr" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3882
    _LIT( KDe, "de" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3883
    _LIT( KEs, "es" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3884
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3885
    _LIT( KAf, "af" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3886
    _LIT( KAm, "am" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3887
    _LIT( KAr, "ar" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3888
    _LIT( KBg, "bg" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3889
    _LIT( KBn, "bn" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3890
    _LIT( KBo, "bo" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3891
    _LIT( KCa, "ca" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3892
    _LIT( KCs, "cs" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3893
    _LIT( KCy, "cy" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3894
    _LIT( KDa, "da" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3895
    _LIT( KEl, "el" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3896
    _LIT( KEt, "et" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3897
    _LIT( KFa, "fa" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3898
    _LIT( KFi, "fi" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3899
    _LIT( KGa, "ga" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3900
    _LIT( KGd, "gd" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3901
    _LIT( KGu, "gu" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3902
    _LIT( KHe, "he" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3903
    _LIT( KHi, "hi" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3904
    _LIT( KHu, "hu" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3905
    _LIT( KHr, "hr" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3906
    _LIT( KHy, "hy" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3907
    _LIT( KId, "id" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3908
    _LIT( KIs, "is" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3909
    _LIT( KIt, "it" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3910
    _LIT( KJa, "ja" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3911
    _LIT( KKa, "ka" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3912
    _LIT( KKk, "kk" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3913
    _LIT( KKm, "km" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3914
    _LIT( KKn, "kn" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3915
    _LIT( KKo, "ko" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3916
    _LIT( KLo, "lo" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3917
    _LIT( KLt, "lt" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3918
    _LIT( KLv, "lv" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3919
    _LIT( KMk, "mk" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3920
    _LIT( KMl, "ml" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3921
    _LIT( KMn, "mn" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3922
    _LIT( KMo, "mo" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3923
    _LIT( KMr, "mr" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3924
    _LIT( KMs, "ms" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3925
    _LIT( KMy, "my" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3926
    _LIT( KNo, "no" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3927
    _LIT( KNl, "nl" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3928
    _LIT( KPa, "pa" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3929
    _LIT( KPl, "pl" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3930
    _LIT( KPt, "pt" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3931
    _LIT( KRo, "ro" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3932
    _LIT( KRu, "ru" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3933
    _LIT( KSi, "si" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3934
    _LIT( KSk, "sk" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3935
    _LIT( KSl, "sl" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3936
    _LIT( KSo, "so" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3937
    _LIT( KSr, "sr" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3938
    _LIT( KSq, "sq" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3939
    _LIT( KSv, "sv" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3940
    _LIT( KSw, "sw" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3941
    _LIT( KTa, "ta" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3942
    _LIT( KTe, "te" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3943
    _LIT( KTh, "th" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3944
    _LIT( KTi, "ti" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3945
    _LIT( KTk, "tk" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3946
    _LIT( KTl, "tl" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3947
    _LIT( KTr, "tr" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3948
    _LIT( KUk, "uk" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3949
    _LIT( KUr, "ur" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3950
    _LIT( KVi, "vi" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3951
    //_LIT( KZh, "zh" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3952
    _LIT( KZu, "zu" );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3953
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3954
    _LIT( KEnB, "en-UK");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3955
    _LIT( KEnUS, "en-US");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3956
    _LIT( KZhTW, "zh-TW");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3957
    _LIT( KZhHK, "zh-HK");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3958
    _LIT( KZhCN, "zh-CN");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3959
    _LIT( KFrCA, "fr-CA");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3960
    _LIT( KPtBR, "pt-BR");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3961
    _LIT( KEnTW, "en-TW");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3962
    _LIT( KEnHK, "en-HK");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3963
    _LIT( KEnCN, "en-CN");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3964
    _LIT( KEnJP, "en-JP");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3965
    _LIT( KEnTH, "en-TH");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3966
    _LIT( KEsAR, "es-AR");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3967
    _LIT( KMsAP, "ms-AP");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3968
    _LIT( KEnAP, "en-AP" );    // KLangApacEnglish
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3969
    _LIT( KIdAP, "id-AP" );    // KLangApacIndonesian
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3970
    _LIT( KEu, "eu" );    // KLangBasque
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3971
    _LIT( KGl, "gl" );    // KLangGalician
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3972
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3973
    _LIT(KDefault, "qqqqq");
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3974
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3975
    switch ( User::Language() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3976
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3977
        case ELangTest:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3978
        aValue = KEn;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3979
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3980
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3981
        case ELangEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3982
        aValue = KEnB;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3983
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3984
        case ELangAmerican:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3985
        aValue = KEnUS;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3986
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3987
        case ELangAustralian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3988
        case ELangNewZealand:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3989
        case ELangCanadianEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3990
        case ELangSouthAfricanEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3991
        case ELangInternationalEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3992
        aValue = KEn;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3993
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3994
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3995
        case ELangFrench:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3996
        case ELangSwissFrench:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3997
        case ELangBelgianFrench:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3998
        aValue = KFr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  3999
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4000
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4001
        case ELangGerman:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4002
        case ELangAustrian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4003
        case ELangSwissGerman:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4004
        aValue = KDe;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4005
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4006
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4007
        case ELangSpanish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4008
        case ELangInternationalSpanish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4009
        aValue = KEs;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4010
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4011
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4012
        case ELangLatinAmericanSpanish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4013
        aValue = KEsAR;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4014
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4015
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4016
        case ELangItalian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4017
        case ELangSwissItalian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4018
        aValue = KIt;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4019
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4020
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4021
        case ELangSwedish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4022
        case ELangFinlandSwedish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4023
        aValue = KSv;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4024
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4025
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4026
        case ELangDanish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4027
        aValue = KDa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4028
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4029
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4030
        case ELangNorwegian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4031
        case ELangNorwegianNynorsk:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4032
        aValue = KNo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4033
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4034
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4035
        case ELangFinnish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4036
        aValue = KFi;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4037
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4038
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4039
        case ELangBrazilianPortuguese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4040
        aValue = KPtBR;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4041
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4042
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4043
        case ELangPortuguese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4044
        aValue = KPt;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4045
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4046
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4047
        case ELangTurkish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4048
        case ELangCyprusTurkish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4049
        aValue = KTr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4050
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4051
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4052
        case ELangIcelandic:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4053
        aValue = KIs;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4054
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4055
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4056
        case ELangRussian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4057
        case ELangBelarussian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4058
        aValue = KRu;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4059
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4060
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4061
        case ELangHungarian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4062
        aValue = KHu;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4063
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4064
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4065
        case ELangDutch:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4066
        case ELangBelgianFlemish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4067
        aValue = KNl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4068
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4069
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4070
        case ELangCzech:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4071
        aValue = KCs;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4072
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4073
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4074
        case ELangSlovak:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4075
        aValue = KSk;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4076
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4077
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4078
        case ELangPolish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4079
        aValue = KPl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4080
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4081
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4082
        case ELangSlovenian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4083
        aValue = KSl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4084
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4085
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4086
        case ELangPrcChinese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4087
        aValue = KZhCN;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4088
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4089
        case ELangTaiwanChinese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4090
        aValue = KZhTW;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4091
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4092
        case ELangHongKongChinese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4093
        aValue = KZhHK;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4094
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4095
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4096
        case ELangJapanese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4097
        aValue = KJa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4098
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4099
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4100
        case ELangThai:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4101
        aValue = KTh;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4102
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4103
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4104
        case ELangAfrikaans:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4105
        aValue = KAf;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4106
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4107
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4108
        case ELangAlbanian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4109
        aValue = KSq;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4110
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4111
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4112
        case ELangAmharic:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4113
        aValue = KAm;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4114
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4115
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4116
        case ELangArabic:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4117
        aValue = KAr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4118
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4119
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4120
        case ELangArmenian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4121
        aValue = KHy;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4122
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4123
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4124
        case ELangTagalog:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4125
        aValue = KTl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4126
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4127
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4128
        case ELangBengali:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4129
        aValue = KBn;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4130
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4131
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4132
        case ELangBulgarian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4133
        aValue = KBg;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4134
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4135
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4136
        case ELangBurmese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4137
        aValue = KMy;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4138
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4139
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4140
        case ELangCatalan:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4141
        aValue = KCa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4142
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4143
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4144
        case ELangCroatian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4145
        aValue = KHr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4146
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4147
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4148
        case ELangEstonian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4149
        aValue = KEt;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4150
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4151
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4152
        case ELangFarsi:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4153
        aValue = KFa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4154
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4155
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4156
        case ELangCanadianFrench:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4157
        aValue = KFrCA;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4158
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4159
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4160
        case ELangScotsGaelic:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4161
        aValue = KGd;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4162
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4163
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4164
        case ELangGeorgian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4165
        aValue = KKa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4166
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4167
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4168
        case ELangGreek:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4169
        case ELangCyprusGreek:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4170
        aValue = KEl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4171
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4172
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4173
        case ELangGujarati:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4174
        aValue = KGu;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4175
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4176
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4177
        case ELangHebrew:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4178
        aValue = KHe;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4179
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4180
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4181
        case ELangHindi:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4182
        aValue = KHi;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4183
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4184
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4185
        case ELangIndonesian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4186
        aValue = KId;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4187
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4188
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4189
        case ELangIrish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4190
        aValue = KGa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4191
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4192
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4193
        case ELangKannada :
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4194
        aValue = KKn;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4195
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4196
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4197
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4198
        case ELangKazakh:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4199
        aValue = KKk;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4200
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4201
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4202
        case ELangKhmer:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4203
        aValue = KKm;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4204
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4205
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4206
        case ELangKorean:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4207
        aValue = KKo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4208
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4209
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4210
        case ELangLao:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4211
        aValue = KLo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4212
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4213
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4214
        case ELangLatvian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4215
        aValue = KLv;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4216
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4217
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4218
        case ELangLithuanian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4219
        aValue = KLt;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4220
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4221
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4222
        case ELangMacedonian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4223
        aValue = KMk;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4224
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4225
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4226
        case ELangMalay:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4227
        aValue = KMs;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4228
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4229
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4230
        case ELangMalayalam:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4231
        aValue = KMl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4232
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4233
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4234
        case ELangMarathi:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4235
        aValue = KMr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4236
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4237
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4238
        case ELangMoldavian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4239
        aValue = KMo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4240
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4241
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4242
        case ELangMongolian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4243
        aValue = KMn;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4244
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4245
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4246
        case ELangPunjabi:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4247
        aValue = KPa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4248
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4249
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4250
        case ELangRomanian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4251
        aValue = KRo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4252
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4253
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4254
        case ELangSerbian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4255
        aValue = KSr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4256
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4257
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4258
        case ELangSinhalese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4259
        aValue = KSi;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4260
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4261
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4262
        case ELangSomali:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4263
        aValue = KSo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4264
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4265
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4266
        case ELangSwahili:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4267
        aValue = KSw;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4268
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4269
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4270
        case ELangTamil:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4271
        aValue = KTa;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4272
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4273
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4274
        case ELangTelugu:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4275
        aValue = KTe;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4276
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4277
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4278
        case ELangTibetan:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4279
        aValue = KBo;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4280
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4281
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4282
        case ELangTigrinya:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4283
        aValue = KTi;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4284
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4285
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4286
        case ELangTurkmen:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4287
        aValue = KTk;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4288
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4289
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4290
        case ELangUkrainian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4291
        aValue = KUk;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4292
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4293
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4294
        case ELangUrdu:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4295
        aValue = KUr;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4296
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4297
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4298
        case ELangVietnamese:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4299
        aValue = KVi;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4300
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4301
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4302
        case ELangWelsh:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4303
        aValue = KCy;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4304
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4305
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4306
        case ELangZulu:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4307
        aValue = KZu;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4308
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4309
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4310
        // from \\epoc32\\include\\oem\\languages.hrh
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4311
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4312
        case KLangTaiwanEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4313
        aValue = KEnTW;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4314
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4315
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4316
        case KLangHongKongEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4317
        aValue = KEnHK;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4318
                break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4319
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4320
        case KLangPrcEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4321
        aValue = KEnCN;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4322
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4323
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4324
        case KLangJapaneseEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4325
        aValue = KEnJP;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4326
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4327
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4328
        case KLangThaiEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4329
        aValue = KEnTH;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4330
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4331
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4332
        case KLangApacMalay:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4333
        aValue = KMsAP;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4334
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4335
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4336
        case KLangApacEnglish:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4337
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4338
            aValue = KEnAP;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4339
            break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4340
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4341
        case KLangApacIndonesian:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4342
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4343
            aValue = KIdAP;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4344
            break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4345
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4346
        case KLangBasque:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4347
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4348
            aValue = KEu;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4349
            break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4350
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4351
        case KLangGalician:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4352
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4353
            aValue = KGl;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4354
            break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4355
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4356
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4357
        // Cingular English
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4358
        case 6154:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4359
        aValue = KEnUS;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4360
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4361
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4362
        default:
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4363
        aValue = KDefault;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4364
        break;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4365
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4366
    }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4367
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4368
// --------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4369
// TInt CSvgDecoder::RemoveInternalReferences( CSvgElementImpl* )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4370
// ---------------------------------------------------------------------------
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4371
void CSvgDecoder::RemoveInternalReferences( CSvgElementImpl* aElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4372
    {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4373
    // Remove the references of aElement in content handler's lists
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4374
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4375
    // Use Elements 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4376
    TInt lIndex = 0;
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4377
    if ( aElement->ElemID() == KSvgUseElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4378
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4379
        lIndex = iUseElementArray->Find( aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4380
        if ( lIndex != KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4381
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4382
            iUseElementArray->Remove( lIndex );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4383
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4384
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4385
    else if ( aElement->ElemID() == KSvgSwitchElement )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4386
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4387
        // Switch Elements    
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4388
        lIndex = iSwitchElementArray->Find( aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4389
        if ( lIndex != KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4390
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4391
            iSwitchElementArray->Remove( lIndex );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4392
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4393
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4394
    else if ( aElement->IsAnimatedElement() )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4395
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4396
        // Animation elements include animate* elements, set, 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4397
        // "animation",  audio elements etc.
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4398
        lIndex = iAnimationElementArray->Find( aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4399
        if ( lIndex != KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4400
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4401
            iAnimationElementArray->Remove( lIndex );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4402
            }        
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4403
        lIndex = iAnimRefElementArray->Find( aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4404
        if ( lIndex != KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4405
            {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4406
            iAnimRefElementArray->Remove( lIndex );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4407
            }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4408
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4409
    // Elements with test attributes - requiredFeatures, 
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4410
    // requiredExtensions, systemLanguage
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4411
    lIndex = iReqFetAttSysArray->Find( aElement );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4412
    if ( lIndex != KErrNotFound )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4413
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4414
        iReqFetAttSysArray->Remove( lIndex );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4415
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4416
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4417
    // Remove Internal references of subtree elements as well
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4418
    CSvgElementImpl* lChild = ( CSvgElementImpl* )aElement->FirstChild();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4419
    while ( lChild != NULL )
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4420
        {
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4421
        RemoveInternalReferences( lChild );
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4422
        lChild = ( CSvgElementImpl* )lChild->NextSibling();
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4423
        }
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4424
90e0261ad33c Adding files needed to break SVGEngine dependency on MediaClientAudio.dll.
markw <markw@symbian.org>
parents:
diff changeset
  4425
    }