breakdeps/Svgdecoder.cpp
author William Roberts <williamr@symbian.org>
Mon, 18 Oct 2010 12:30:30 +0100
changeset 66 fc9981c83de7
parent 56 865fbeda552a
permissions -rw-r--r--
Add weatherinfo demo to syborg_stem_rom.oby Removed "Out" from etel.dll because it's too severe and kills the startup scripts Didn't add "In" to weatherinfo.exe because we are currently losing QtGui.dll due to dependency on MediaClientAudio.dll
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
    }