diff -r 000000000000 -r d46562c3d99d svgtopt/SVG/SVGImpl/src/SVGSchemaData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/svgtopt/SVG/SVGImpl/src/SVGSchemaData.cpp Thu Jan 07 16:19:02 2010 +0200 @@ -0,0 +1,1662 @@ +/* +* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: SVG Implementation source file + * +*/ + + + +#include "SVGSchemaData.h" + +//ELEMENT LITERALS +_LIT(KPATH, "path"); +_LIT(KSTOP, "stop"); +_LIT(KLINEARGRADIENT, "linearGradient"); +_LIT(KG, "g"); +_LIT(KRECT, "rect"); +_LIT(KPOLYGON, "polygon"); +_LIT(KSVG, "svg"); +_LIT(KRADIALGRADIENT, "radialGradient"); +_LIT(KCIRCLE, "circle"); +_LIT(KLINE, "line"); +_LIT(KPOLYLINE, "polyline"); +_LIT(KELLIPSE, "ellipse"); +_LIT(KDEFS, "defs"); +_LIT(KFOREIGNOBJECT, "foreignObject"); +_LIT(KALTGLYPH, "altGlyph"); +_LIT(KALTGLYPHDEF, "altGlyphDef"); +_LIT(KDESC, "desc"); +_LIT(KSCRIPT, "script"); +_LIT(KSWITCH, "switch"); +_LIT(KMETADATA, "metadata"); +_LIT(KTITLE, "title"); +_LIT(KFONTFACENAME, "font-face-name"); +_LIT(KFONTFACESRC, "font-face-src"); +_LIT(KFONTFACEURI, "font-face-uri"); +_LIT(KGLYPHREF, "glyphRef"); +_LIT(KVKERN, "vkern"); +_LIT(KVIEW, "view"); +_LIT(KHKERN, "hkern"); +_LIT(KA, "a"); +_LIT(KFONT, "font"); +_LIT(KFONTFACE, "font-face"); +_LIT(KGLYPH, "glyph"); +_LIT(KIMAGE, "image"); +_LIT(KMISSINGGLYPH, "missing-glyph"); +_LIT(KSTYLE, "style"); +_LIT(KTEXT, "text"); +_LIT(KUSE, "use"); +_LIT(KANIMATE, "animate"); +_LIT(KANIMATECOLOR, "animateColor"); +_LIT(KANIMATEMOTION, "animateMotion"); +_LIT(KANIMATETRANSFORM, "animateTransform"); +_LIT(KSET, "set"); +_LIT(KMPATH, "mpath"); +_LIT(KTEXTAREA, "textArea"); +_LIT(KDISCARD, "discard"); +_LIT(KSOLIDCOLOR, "solidColor"); +_LIT(KANIMATION, "animation"); +_LIT(KAUDIO, "audio"); +_LIT(KNOTFOUND, "NOT FOUND"); + +//ATTRIBUTE LITERALS +_LIT(KFILL, "fill"); +_LIT(KSOLIDCOLORATT, "solid-color"); +_LIT(KSTROKE, "stroke"); +_LIT(KFILLOPACITY, "fill-opacity"); +_LIT(KSOLIDOPACITY, "solid-opacity"); +_LIT(KSTROKEOPACITY, "stroke-opacity"); +_LIT(KOPACITY, "opacity"); +_LIT(KSTROKEWIDTH, "stroke-width"); +_LIT(KVISIBILITY, "visibility"); +_LIT(KFONTFAMILY, "font-family"); +_LIT(KFONTSIZE, "font-size"); +_LIT(KFONTSTYLE, "font-style"); +_LIT(KFONTWEIGHT, "font-weight"); +_LIT(KSTROKEDASHARRAY, "stroke-dasharray"); +_LIT(KDISPLAY, "display"); +_LIT(KFILLRULE, "fill-rule"); +_LIT(KSTROKELINECAP, "stroke-linecap"); +_LIT(KSTROKELINEJOIN, "stroke-linejoin"); +_LIT(KSTROKEDASHOFFSET, "stroke-dashoffset"); +_LIT(KSTROKEMITERLIMIT, "stroke-miterlimit"); +_LIT(KCOLOR, "color"); +_LIT(KTEXTANCHOR, "text-anchor"); +_LIT(KTEXTDECORATION, "text-decoration"); +_LIT(KLETTERSPACING, "letter-spacing"); +_LIT(KWORDSPACING, "word-spacing"); +_LIT(KCOLORINTERPOLATION, "color-interpolation"); +_LIT(KCOLORRENDERING, "color-rendering"); +_LIT(KVOLUME, "volume"); +_LIT(KAUDIOLEVEL, "audio-level"); + +_LIT(KPAD, "pad"); +_LIT(KREFLECT, "reflect"); +_LIT(KREPEAT, "repeat"); + + +_LIT(KNORMAL, "normal"); +_LIT(KITALIC, "italic"); +_LIT(KOBLIQUE, "oblique"); +_LIT(KINHERIT, "inherit"); + +_LIT(KBOLD, "bold"); +_LIT(KBOLDER, "bolder"); +_LIT(KLIGHTER, "lighter"); +_LIT(K100, "100"); +_LIT(K200, "200"); +_LIT(K300, "300"); +_LIT(K400, "400"); +_LIT(K500, "500"); +_LIT(K600, "600"); +_LIT(K700, "700"); +_LIT(K800, "800"); +_LIT(K900, "900"); + +_LIT(KSTART, "start"); +_LIT(KMIDDLE, "middle"); +_LIT(KEND, "end"); +_LIT(KNONE, "none"); +_LIT(KUNDERLINE, "underline"); +_LIT(KOVERLINE, "overline"); +_LIT(KLINETHROUGH, "line-through"); + +_LIT(KD, "d"); +_LIT(KOFFSET, "offset"); +_LIT(KGRADIENTUNITS, "gradientUnits"); +_LIT(KX1, "x1"); +_LIT(KY1, "y1"); +_LIT(KX2, "x2"); +_LIT(KY2, "y2"); +_LIT(KWIDTH, "width"); +_LIT(KHEIGHT, "height"); +_LIT(KGRADIENTTRANSFORM, "gradientTransform"); +_LIT(KX, "x"); +_LIT(KY, "y"); +_LIT(KPOINTS, "points"); +_LIT(KVIEWBOX, "viewBox"); +_LIT(KRX, "rx"); +_LIT(KRY, "ry"); +_LIT(KCX, "cx"); +_LIT(KCY, "cy"); +_LIT(KR, "r"); +_LIT(KFX, "fx"); +_LIT(KFY, "fy"); +_LIT(KPATHLENGTH, "pathLength"); +_LIT(KSPREADMETHOD, "spreadMethod"); +_LIT(KSTOPCOLOR, "stop-color"); +_LIT(KSTOPOPACITY, "stop-opacity"); +_LIT(KTEXTLENGTH, "textLength"); +_LIT(KHORIZADVX, "horiz-adv-x"); +_LIT(KHORIZORIGINX, "horiz-origin-x"); +_LIT(KHORIZORIGINY, "horiz-origin-y"); +_LIT(KASCENT, "ascent"); +_LIT(KDESCENT, "descent"); +_LIT(KALPHABETIC, "alphabetic"); +_LIT(KUNDERLINEPOSITION, "underline-position"); +_LIT(KUNDERLINETHICKNESS, "underline-thickness"); +_LIT(KOVERLINEPOSITION, "overline-position"); +_LIT(KOVERLINETHICKNESS, "overline-thickness"); +_LIT(KSTRIKETHROUGHPOSITION, "strikethrough-position"); +_LIT(KSTRIKETHROUGHTHICKNESS, "strikethrough-thickness"); +_LIT(KUNITSPEREM, "units-per-em"); +_LIT(KK, "k"); +_LIT(KG1, "g1"); +_LIT(KG2, "g2"); +_LIT(KU1, "u1"); +_LIT(KU2, "u2"); +_LIT(KROTATE, "rotate"); +_LIT(KCDATA, "cdata"); +_LIT(KUNICODE, "unicode"); +_LIT(KGLYPHNAME, "glyph-name"); +_LIT(KLANG, "lang"); +_LIT(KVERSION, "version"); +_LIT(KATTRIBUTENAME, "attributeName"); +_LIT(KTYPE, "type"); +_LIT(KTRANSFORM, "transform"); +_LIT(KFROM, "from"); +_LIT(KTO, "to"); +_LIT(KBY, "by"); +_LIT(KVALUES, "values"); +_LIT(KTARGET, "target"); +_LIT(KKEYSPLINES, "keySplines"); +_LIT(KKEYTIMES, "keyTimes"); +// Runtime Sync Attributes +_LIT( KSYNCBEHAVIORDEFAULT, "syncBehaviorDefault" ); +_LIT( KSYNCTOLERANCEDEFAULT,"syncToleranceDefault" ); +_LIT( KSYNCBEHAVIOR, "syncBehavior" ); +_LIT( KSYNCTOLERANCE, "syncTolerance" ); +_LIT( KSYNCMASTER, "syncMaster" ); +_LIT( KINITIALVISIBILITY, "initialVisibility" ); + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +void CSvgSchemaData::ConstructL() + { + + + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +CSvgSchemaData* CSvgSchemaData::NewL() + { + CSvgSchemaData* self = new ( ELeave ) CSvgSchemaData(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +CSvgSchemaData* CSvgSchemaData::NewLC() + { + CSvgSchemaData* self = new ( ELeave ) CSvgSchemaData(); + CleanupStack::PushL( self ); + self->ConstructL(); + + return self; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +CSvgSchemaData::~CSvgSchemaData() + { + + } + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +CSvgSchemaData::CSvgSchemaData() + { + } + + +/********************* Methods to generate SchemaData Literals ******************/ + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +TInt CSvgSchemaData::GetSVGElementId(const TDesC& aElement) +{ + if (aElement == KPATH ) + { + return KSvgPathElement; + } + if (aElement == KSTOP ) + { + return KSvgStopElement; + } + if (aElement == KLINEARGRADIENT ) + { + return KSvgLinearGradientElement; + } + if (aElement == KG) + { + return KSvgGElement; + } + if (aElement == KRECT ) + { + return KSvgRectElement; + } + if (aElement == KPOLYGON ) + { + return KSvgPolygonElement; + } + if (aElement == KSVG) + { + return KSvgSvgElement; + } + if (aElement == KRADIALGRADIENT ) + { + return KSvgRadialGradientElement; + } + if (aElement == KCIRCLE ) + { + return KSvgCircleElement; + } + if (aElement == KLINE ) + { + return KSvgLineElement; + } + if (aElement == KPOLYLINE ) + { + return KSvgPolylineElement; + } + if (aElement == KELLIPSE ) + { + return KSvgEllipseElement; + } + if (aElement == KDEFS) + { + return KSvgDefsElement; + } + if (aElement == KFOREIGNOBJECT) + { + return KSvgForeignObjectElement; + } + if (aElement == KALTGLYPH) + { + return KSvgAltglyphElement; + } + if (aElement == KALTGLYPHDEF ) + { + return KSvgAltglyphdefElement; + } + if (aElement == KDESC ) + { + return KSvgDescElement; + } + if (aElement == KSCRIPT ) + { + return KSvgScriptElement ; + } + if (aElement == KSWITCH ) + { + return KSvgSwitchElement; + } + if (aElement == KMETADATA) + { + return KSvgMetadataElement; + } + if (aElement == KTITLE) + { + return KSvgTitleElement; + } + if (aElement == KFONTFACENAME) + { + return KSvgFontfacenameElement; + } + if (aElement == KFONTFACESRC) + { + return KSvgFontfacesrcElement; + } + if (aElement == KFONTFACEURI) + { + return KSvgFontfaceuriElement; + } + if (aElement == KGLYPHREF) + { + return KSvgGlyphrefElement; + } + if (aElement == KVKERN) + { + return KSvgVkernElement; + } + if (aElement == KVIEW ) + { + return KSvgViewElement; + } + if (aElement == KHKERN ) + { + return KSvgHkernElement; + } + if (aElement == KA ) + { + return KSvgAElement; + } + if (aElement == KFONT ) + { + return KSvgFontElement; + } + if (aElement == KFONTFACE ) + { + return KSvgFontfaceElement; + } + if (aElement == KGLYPH ) + { + return KSvgGlyphElement; + } + if (aElement == KIMAGE ) + { + return KSvgImageElement; + } + if (aElement == KMISSINGGLYPH ) + { + return KSvgMissingglyphElement; + } + if (aElement == KSTYLE ) + { + return KSvgStyleElement; + } + if (aElement == KTEXT ) + { + return KSvgTextElement; + } + if (aElement == KUSE ) + { + return KSvgUseElement; + } + if (aElement == KANIMATE ) + { + return KSvgAnimateElement; + } + if (aElement == KANIMATECOLOR ) + { + return KSvgAnimateColorElement; + } + if (aElement == KANIMATEMOTION ) + { + return KSvgAnimateMotionElement; + } + if (aElement == KANIMATETRANSFORM ) + { + return KSvgAnimateTransformElement; + } + if (aElement == KSET ) + { + return KSvgSetElement; + } + if (aElement == KMPATH ) + { + return KSvgMpathElement; + } + if (aElement == KTEXTAREA ) + { + return KSvgTextAreaElement; + } + if (aElement == KDISCARD ) + { + return KSvgDiscardElement; + } + if (aElement == KSOLIDCOLOR ) + { + return KSvgSolidColorElement; + } + /* if (aElement == KANIMATION ) + { + return KSvgAnimationElement; + } + */ + if (aElement == KAUDIO ) + { + return KSvgAudioElement; + } +//#ifdef RD_SVGT_MEDIAANIMATION_SUPPORT + if (aElement == KANIMATION ) + { + return KSvgMediaAnimationElement; + } +//#endif + else + { + return KErrNotFound; + } + +} + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +TInt CSvgSchemaData::GetPresentationAttributeId(const TDesC& aElement) +{ + if ( (aElement == KFILL ) || (aElement == KSOLIDCOLORATT ) ) + { + return KCSS_ATTR_FILL; + } + if (aElement == KSTROKE ) + { + return KCSS_ATTR_STROKE; + } + if ( (aElement == KFILLOPACITY) || (aElement == KSOLIDOPACITY) ) + { + return KCSS_ATTR_FILL_OPACITY; + } + if (aElement == KSTROKEOPACITY ) + { + return KCSS_ATTR_STROKE_OPACITY; + } + if (aElement == KOPACITY ) + { + return KCSS_ATTR_GROUP_OPACITY; + } + if (aElement == KSTROKEWIDTH ) + { + return KCSS_ATTR_STROKEWIDTH; + } + if (aElement == KVISIBILITY ) + { + return KCSS_ATTR_VISIBILITY; + } + if (aElement == KFONTFAMILY ) + { + return KCSS_ATTR_FONTFAMILY; + } + if (aElement == KFONTSIZE ) + { + return KCSS_ATTR_FONTSIZE; + } + if (aElement == KFONTSTYLE ) + { + return KCSS_ATTR_FONTSTYLE; + } + if (aElement == KFONTWEIGHT ) + { + return KCSS_ATTR_FONTWEIGHT; + } + if (aElement == KSTROKEDASHARRAY ) + { + return KCSS_ATTR_STROKE_DASHARRAY; + } + if (aElement == KDISPLAY ) + { + return KCSS_ATTR_DISPLAY; + } + if (aElement == KFILLRULE ) + { + return KCSS_ATTR_FILLRULE; + } + if (aElement == KSTROKELINECAP ) + { + return KCSS_ATTR_STROKE_LINECAP; + } + if (aElement == KSTROKELINEJOIN ) + { + return KCSS_ATTR_STROKE_LINEJOIN; + } + if (aElement == KSTROKEDASHOFFSET ) + { + return KCSS_ATTR_STROKE_DASHOFFSET; + } + if (aElement == KSTROKEMITERLIMIT ) + { + return KCSS_ATTR_STROKE_MITERLIMIT; + } + if (aElement == KCOLOR ) + { + return KCSS_ATTR_COLOR; + } + if (aElement == KTEXTANCHOR ) + { + return KCSS_ATTR_TEXTANCHOR; + } + if (aElement == KTEXTDECORATION ) + { + return KCSS_ATTR_TEXTDECORATION; + } + if (aElement == KLETTERSPACING ) + { + return KCSS_ATTR_LETTERSPACING; + } + if (aElement == KWORDSPACING ) + { + return KCSS_ATTR_WORDSPACING; + } + if (aElement == KCOLORINTERPOLATION ) + { + return KCSS_ATTR_COLORINTERPOLATION; + } + if (aElement == KCOLORRENDERING ) + { + return KCSS_ATTR_COLORRENDERING; + } + else + { + return KErrNotFound; + } + +} + +TInt CSvgSchemaData::FindSpreadMethod(const TDesC& aElement) +{ + if(aElement == KPAD ) + { + return 0; + } + if(aElement == KREFLECT ) + { + return 1; + } + if(aElement == KREPEAT ) + { + return 2; + } + else + { + return KErrNotFound; + } +} + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +TInt CSvgSchemaData::FindFontStyle(const TDesC& aElement) +{ + if(aElement == KNORMAL ) + { + return 0; + } + if(aElement == KITALIC ) + { + return 1; + } + if(aElement == KOBLIQUE ) + { + return 2; + } + if(aElement == KINHERIT ) + { + return 3; + } + else + { + return KErrNotFound; + } +} + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +TInt CSvgSchemaData::FindFontWeightEnum(const TDesC& aElement) +{ + if(aElement == KNORMAL ) + { + return 0; + } + if (aElement == KBOLD ) + { + return 1; + } + if (aElement == KBOLDER ) + { + return 2; + } + if (aElement == KLIGHTER ) + { + return 3; + } + if (aElement == K100 ) + { + return 4; + } + if (aElement == K200 ) + { + return 5; + } + if (aElement == K300 ) + { + return 6; + } + if (aElement == K400 ) + { + return 7; + } + if (aElement == K500 ) + { + return 8; + } + if (aElement == K600 ) + { + return 9; + } + if (aElement == K700 ) + { + return 10; + } + if (aElement == K800 ) + { + return 11; + } + if (aElement == K900 ) + { + return 12; + } + if (aElement == KINHERIT ) + { + return 13; + } + else + { + return KErrNotFound; + } +} + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +TInt CSvgSchemaData::FindTextAnchorEnum(const TDesC& aElement) +{ + if(aElement == KSTART ) + { + return 0; + } + if (aElement == KMIDDLE ) + { + return 1; + } + if (aElement == KEND ) + { + return 2; + } + else + { + return -1; + } + +} + + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +TInt CSvgSchemaData::FindTextDecorationEnum(const TDesC& aElement) +{ + if (aElement == KNONE ) + { + return 0; + } + if (aElement == KUNDERLINE ) + { + return 1; + } + if (aElement == KOVERLINE ) + { + return 2; + } + if (aElement == KLINETHROUGH ) + { + return 3; + } + + //Inherit & Blink is not supported currently + else + { + return -1; + } + +} + +TUint16 CSvgSchemaData::GetSVGTAttributeId(const TDesC& aAttrName) +{ + if( aAttrName == KD ) + { + return KAtrD; + } + if(aAttrName == KOFFSET ) + { + return KAtrOffset; + } + if( aAttrName == KSTYLE ) + { + return KAtrStyle; + } + if(aAttrName == KGRADIENTUNITS ) + { + return KAtrGradientUnits; + } + if( aAttrName == KX1 ) + { + return KAtrX1; + } + if( aAttrName == KY1 ) + { + return KAtrY1; + } + if( aAttrName == KX2 ) + { + return KAtrX2; + } + if( aAttrName == KY2 ) + { + return KAtrY2; + } + if( aAttrName == KWIDTH ) + { + return KAtrWidth; + } + if( aAttrName == KHEIGHT ) + { + return KAtrHeight; + } + if( aAttrName == KGRADIENTTRANSFORM ) + { + return KAtrGradientTransform; + } + if( aAttrName == KX ) + { + return KAtrX; + } + if( aAttrName == KY ) + { + return KAtrY; + } + if( aAttrName == KPOINTS ) + { + return KAtrPoints; + } + if (aAttrName == KVIEWBOX ) + { + return KAtrViewBox; + } + if( aAttrName == KRX ) + { + return KAtrRx; + } + if( aAttrName == KRY ) + { + return KAtrRy; + } + if( aAttrName == KCX ) + { + return KAtrCx; + } + if( aAttrName == KCY ) + { + return KAtrCy; + } + if( aAttrName == KR ) + { + return KAtrR; + } + if(aAttrName == KFX ) + { + return KAtrFx; + } + if(aAttrName == KFY ) + { + return KAtrFy; + } + if( aAttrName == KPATHLENGTH ) + { + return KAtrPathLength; + } + if( aAttrName == KSTROKEWIDTH ) + { + return KAtrStrokeWidth; + } + if(aAttrName == KSPREADMETHOD ) + { + return KAtrSpreadMethods; + } + if(aAttrName == KSTOPCOLOR ) + { + return KAtrStopColor; + } + if(aAttrName == KSTOPOPACITY ) + { + return KAtrStopOpacity; + } + if( aAttrName == KTEXTLENGTH ) + { + return KAtrTextLength; + } + if( aAttrName == KHORIZADVX ) + { + return KAtrHorizAdvX; + } + if( aAttrName == KHORIZORIGINX ) + { + return KAtrHorizOriginX; + } + if( aAttrName == KHORIZORIGINY ) + { + return KAtrHorizOriginY; + } + if( aAttrName == KASCENT ) + { + return KAtrAscent; + } + if( aAttrName == KDESCENT ) + { + return KAtrDescent; + } + if( aAttrName == KALPHABETIC ) + { + return KAtrAlphabetic; + } + if( aAttrName == KUNDERLINEPOSITION ) + { + return KAtrUnderlinePosition; + } + if( aAttrName == KUNDERLINETHICKNESS ) + { + return KAtrUnderlineThickness; + } + if( aAttrName == KOVERLINEPOSITION ) + { + return KAtrOverlinePosition; + } + if( aAttrName == KOVERLINETHICKNESS ) + { + return KAtrOverlineThickness; + } + if( aAttrName == KSTRIKETHROUGHPOSITION ) + { + return KAtrStrikethroughPosition; + } + if( aAttrName == KSTRIKETHROUGHTHICKNESS ) + { + return KAtrStrikethroughThickness; + } + if( aAttrName == KUNITSPEREM ) + { + return KAtrUnitsPerEm; + } + if( aAttrName == KWORDSPACING ) + { + return KAtrWordSpacing; + } + if( aAttrName == KLETTERSPACING ) + { + return KAtrLetterSpacing; + } + if( aAttrName == KK ) + { + return KAtrK; + } + if( aAttrName == KG1 ) + { + return KAtrG1; + } + if( aAttrName == KG2 ) + { + return KAtrG2; + } + if( aAttrName == KU1 ) + { + return KAtrU1; + } + if( aAttrName == KU2 ) + { + return KAtrU2; + } + if( aAttrName == KTEXTDECORATION ) + { + return KAtrTextDecoration; + } + if( aAttrName == KROTATE ) + { + return KAtrRotate; + } + if( aAttrName == KCDATA ) + { + return KAtrCdata; + } + if( aAttrName == KUNICODE ) + { + return KAtrUnicode; + } + if( aAttrName == KGLYPHNAME ) + { + return KAtrGlyphName; + } + if( aAttrName == KLANG ) + { + return KAtrLang; + } + if( aAttrName == KVERSION ) + { + return KAtrVersion; + } + if( aAttrName == KATTRIBUTENAME ) + { + return KAtrAttributeName; + } + if( aAttrName == KTYPE ) + { + return KAtrType; + } + if( aAttrName == KTRANSFORM ) + { + return KAtrTransform; + } + if( aAttrName == KFROM ) + { + return KAtrFrom; + } + if( aAttrName == KTO ) + { + return KAtrTo; + } + if( aAttrName == KBY ) + { + return KAtrBy; + } + if (aAttrName == KVALUES ) + { + return KAtrValues; + } + if (aAttrName == KKEYSPLINES) + { + return KAtrKeySplines; + } + if (aAttrName == KKEYTIMES) + { + return KAtrKeyTimes; + } + if (aAttrName == KTARGET ) + { + return KAtrTarget; + } + if (aAttrName == KSOLIDOPACITY ) + { + return KAtrSolidOpacity; + } + if ( aAttrName == KSYNCBEHAVIORDEFAULT ) + { + return KAtrSyncBehaviorDefault; + } + if ( aAttrName == KSYNCTOLERANCEDEFAULT ) + { + return KAtrSyncToleranceDefault; + } + if ( aAttrName == KSYNCBEHAVIOR ) + { + return KAtrSyncBehavior; + } + if ( aAttrName == KSYNCTOLERANCE ) + { + return KAtrSyncTolerance; + } + if ( aAttrName == KSYNCMASTER ) + { + return KAtrSyncMaster; + } + if ( aAttrName == KINITIALVISIBILITY ) + { + return KAtrInitialVisibility; + } + if ( aAttrName == KVOLUME ) + { + return KAtrVolume; + } + if ( aAttrName == KAUDIOLEVEL ) + { + return KAtrAudioLevel; + } + else + { + return (TUint16)KErrNotFound; + } +} + + + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- + +void CSvgSchemaData::GetSVGElementName(const TUint8 aElement, TDes& aElemName) +{ + if (aElement == KSvgPathElement ) + { + aElemName.Copy( KPATH ); + return ; + + } + if (aElement == KSvgStopElement ) + { + aElemName.Copy( KSTOP ); + return ; + + } + if (aElement == KSvgLinearGradientElement ) + { + aElemName.Copy( KLINEARGRADIENT ); + return ; + + } + if (aElement == KSvgGElement) + { + aElemName.Copy( KG ); + return ; + + } + if (aElement == KSvgRectElement ) + { + aElemName.Copy( KRECT ); + return ; + + } + if (aElement == KSvgPolygonElement) + { + aElemName.Copy( KPOLYGON ); + return ; + + } + if (aElement == KSvgSvgElement) + { + aElemName.Copy( KSVG ); + return ; + } + if (aElement == KSvgRadialGradientElement ) + { + aElemName.Copy( KRADIALGRADIENT ); + return ; + + } + if (aElement == KSvgCircleElement ) + { + aElemName.Copy( KCIRCLE ); + return ; + + } + if (aElement == KSvgLineElement ) + { + aElemName.Copy( KLINE ); + return ; + + } + if (aElement == KSvgPolylineElement ) + { + aElemName.Copy( KPOLYLINE ); + return ; + + } + if (aElement == KSvgEllipseElement ) + { + aElemName.Copy( KELLIPSE ); + return ; + + } + if (aElement == KSvgDefsElement) + { + aElemName.Copy( KDEFS ); + return ; + + } + if (aElement == KSvgForeignObjectElement) + { + aElemName.Copy( KFOREIGNOBJECT ); + return ; + + } + if (aElement == KSvgScriptElement) + { + aElemName.Copy( KSCRIPT ); + return ; + + } + if (aElement == KSvgSwitchElement ) + { + aElemName.Copy( KSWITCH ); + return ; + + } + if (aElement == KSvgDescElement) + { + aElemName.Copy( KDESC ); + return ; + + } + if (aElement == KSvgAltglyphElement) + { + aElemName.Copy( KALTGLYPH ); + return ; + + } + if (aElement == KSvgAltglyphdefElement) + { + aElemName.Copy( KALTGLYPHDEF ); + return ; + + } + if (aElement == KSvgMetadataElement) + { + aElemName.Copy( KMETADATA ); + return ; + + } + if (aElement == KSvgTitleElement) + { + aElemName.Copy( KTITLE ); + return ; + + } + if (aElement == KSvgFontfacenameElement) + { + aElemName.Copy( KFONTFACENAME ); + return ; + + } + if (aElement == KSvgFontfacesrcElement) + { + aElemName.Copy( KFONTFACESRC ); + return ; + } + if (aElement == KSvgFontfaceuriElement) + { + aElemName.Copy( KFONTFACEURI ); + return ; + + } + if (aElement == KSvgGlyphrefElement) + { + aElemName.Copy( KGLYPHREF ); + return ; + + } + if (aElement == KSvgVkernElement) + { + aElemName.Copy( KVKERN ); + return ; + + } + if (aElement == KSvgViewElement) + { + aElemName.Copy( KVIEW ); + return ; + + } + if (aElement == KSvgHkernElement ) + { + aElemName.Copy( KHKERN ); + return ; + + } + if (aElement == KSvgAElement ) + { + aElemName.Copy( KA ); + return ; + + } + if (aElement == KSvgFontElement) + { + aElemName.Copy( KFONT ); + return ; + + } + if (aElement == KSvgFontfaceElement) + { + aElemName.Copy( KFONTFACE ); + return ; + + } + if (aElement == KSvgGlyphElement) + { + aElemName.Copy( KGLYPH ); + return ; + + } + if (aElement == KSvgImageElement ) + { + aElemName.Copy( KIMAGE ); + return ; + + } + if (aElement == KSvgMissingglyphElement ) + { + aElemName.Copy( KMISSINGGLYPH ); + return ; + + } + if (aElement == KSvgStyleElement) + { + aElemName.Copy( KSTYLE ); + return ; + + } + if (aElement == KSvgTextElement) + { + aElemName.Copy( KTEXT ); + return ; + + } + if (aElement == KSvgUseElement) + { + aElemName.Copy( KUSE ); + return ; + + } + if (aElement == KSvgAnimateElement ) + { + aElemName.Copy( KANIMATE ); + return ; + + } + if (aElement == KSvgAnimateColorElement ) + { + aElemName.Copy( KANIMATECOLOR ); + return ; + + } + if (aElement == KSvgAnimateMotionElement ) + { + aElemName.Copy( KANIMATEMOTION ); + return ; + + } + if (aElement == KSvgAnimateTransformElement ) + { + aElemName.Copy( KANIMATETRANSFORM ); + return ; + + } + if (aElement == KSvgSetElement ) + { + aElemName.Copy( KSET ); + return ; + + } + if (aElement == KSvgMpathElement ) + { + aElemName.Copy( KMPATH ); + return ; + + } + if (aElement == KSvgTextAreaElement ) + { + aElemName.Copy( KTEXTAREA ); + return ; + + } + if (aElement == KSvgDiscardElement ) + { + aElemName.Copy( KDISCARD ); + return ; + } +/* if (aElement == KSvgAnimationElement ) + { + aElemName.Copy( KANIMATION ); + return ; + }*/ + if (aElement == KSvgSolidColorElement ) + { + aElemName.Copy( KSOLIDCOLOR ); + return ; + } + if (aElement == KSvgAudioElement ) + { + aElemName.Copy( KAUDIO ); + return ; + } + else + { + aElemName.Copy( KNOTFOUND ); + return ; + + } +} + +TAttributeType CSvgSchemaData::GetAttributeType(const TDesC& aAttrName) + { + if(aAttrName == KFILL ) + { + return EString; + } + if( aAttrName == KD ) + { + return EString; + } + if(aAttrName == KOFFSET ) + { + return EFloat; + } + if( aAttrName == KSTYLE ) + { + return EUndefinedType; + } + if(aAttrName == KGRADIENTUNITS ) + { + return EUndefinedType; + } + if( aAttrName == KX1 ) + { + return EFloat; + } + if( aAttrName == KY1 ) + { + return EFloat; + } + if( aAttrName == KX2 ) + { + return EFloat; + } + if( aAttrName == KY2 ) + { + return EFloat; + } + if( aAttrName == KWIDTH ) + { + return EFloat; + } + if( aAttrName == KHEIGHT ) + { + return EFloat; + } + if(aAttrName == KFILLOPACITY ) + { + return EFloat; + } + if( aAttrName == KGRADIENTTRANSFORM ) + { + return EString; + } + if( aAttrName == KX ) + { + return EFloat; + } + if( aAttrName == KY ) + { + return EFloat; + } + if( aAttrName == KPOINTS ) + { + return EString; + } + if (aAttrName == KVIEWBOX ) + { + return EString; + } + if( aAttrName == KRX ) + { + return EFloat; + } + if( aAttrName == KRY ) + { + return EFloat; + } + if( aAttrName == KCX ) + { + return EFloat; + } + if( aAttrName == KCY ) + { + return EFloat; + } + if( aAttrName == KR ) + { + return EFloat; + } + if(aAttrName == KFX ) + { + return EFloat; + } + if(aAttrName == KFY ) + { + return EFloat; + } + if( aAttrName == KPATHLENGTH ) + { + return EFloat; + } + if( aAttrName == KSTROKEWIDTH ) + { + return EFloat; + } + if(aAttrName == KSTROKE ) + { + return EInteger; + } + if(aAttrName == KSPREADMETHOD ) + { + return EUndefinedType; + } + if(aAttrName == KSTOPCOLOR ) + { + return EUndefinedType; + } + if(aAttrName == KSTOPOPACITY ) + { + return EFloat; + } + if( aAttrName == KTEXTLENGTH ) + { + return EFloat; + } + if( aAttrName == KHORIZADVX ) + { + return EFloat; + } + if( aAttrName == KHORIZORIGINX ) + { + return EFloat; + } + if( aAttrName == KHORIZORIGINY ) + { + return EFloat; + } + if( aAttrName == KASCENT ) + { + return EFloat; + } + if( aAttrName == KDESCENT ) + { + return EFloat; + } + if( aAttrName == KALPHABETIC ) + { + return EUndefinedType; + } + if( aAttrName == KUNDERLINEPOSITION ) + { + return EFloat; + } + if( aAttrName == KUNDERLINETHICKNESS ) + { + return EFloat; + } + if( aAttrName == KOVERLINEPOSITION ) + { + return EFloat; + } + if( aAttrName == KOVERLINETHICKNESS ) + { + return EFloat; + } + if( aAttrName == KSTRIKETHROUGHPOSITION ) + { + return EFloat; + } + if( aAttrName == KSTRIKETHROUGHTHICKNESS ) + { + return EFloat; + } + if( aAttrName == KUNITSPEREM ) + { + return EFloat; + } + if( aAttrName == KWORDSPACING ) + { + return EFloat; + } + if( aAttrName == KLETTERSPACING ) + { + return EFloat; + } + if( aAttrName == KK ) + { + return EFloat; + } + if( aAttrName == KG1 ) + { + return EString; + } + if( aAttrName == KG2 ) + { + return EString; + } + if( aAttrName == KU1 ) + { + return EString; + } + if( aAttrName == KU2 ) + { + return EString; + } + if( aAttrName == KTEXTDECORATION ) + { + return EUndefinedType; + } + if( aAttrName == KROTATE ) + { + return EUndefinedType; + } + if( aAttrName == KCDATA ) + { + return EString; + } + if( aAttrName == KUNICODE ) + { + return EString; + } + if( aAttrName == KGLYPHNAME ) + { + return EString; + } + if( aAttrName == KLANG ) + { + return EString; + } + if( aAttrName == KVERSION ) + { + return EString; + } + if( aAttrName == KATTRIBUTENAME ) + { + return EString; + } + if( aAttrName == KTYPE ) + { + return EUndefinedType; + } + if( aAttrName == KTRANSFORM ) + { + return EString; + } + if( aAttrName == KFROM ) + { + return EFloat; + } + if( aAttrName == KTO ) + { + return EFloat; + } + if( aAttrName == KBY ) + { + return EUndefinedType; + } + if (aAttrName == KVALUES ) + { + return EString; + } + if (aAttrName == KSTROKEDASHARRAY ) + { + return EString; + } + if (aAttrName == KSTROKEDASHOFFSET ) + { + return EFloat; + } + if (aAttrName == KTARGET ) + { + return EString; + } + if(aAttrName == KSOLIDOPACITY ) + { + return EFloat; + } + if ( aAttrName == KSYNCBEHAVIORDEFAULT ) + { + return EString; + } + if ( aAttrName == KSYNCTOLERANCEDEFAULT ) + { + return EString; + } + if ( aAttrName == KSYNCBEHAVIOR ) + { + return EString; + } + if ( aAttrName == KSYNCTOLERANCE ) + { + return EString; + } + if ( aAttrName == KSYNCMASTER ) + { + return EInteger; + } + if ( aAttrName == KINITIALVISIBILITY ) + { + return EString; + } + else + { + return EUndefinedType; + } + }