svgtopt/SVG/SVGImpl/inc/SVGSetElementImpl.h
author hgs
Wed, 03 Nov 2010 18:56:10 +0200
changeset 46 88edb906c587
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  SVG Implementation header file
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef _INC_CSVGSETELEMENTIMPL_
hgs
parents:
diff changeset
    20
#define _INC_CSVGSETELEMENTIMPL_
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include "SVGAnimationBase.h"
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
class   CSvgDocumentImpl;
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
/**
hgs
parents:
diff changeset
    31
 * Class description goes here.
hgs
parents:
diff changeset
    32
 *
hgs
parents:
diff changeset
    33
 *  @lib SVGEngine.lib
hgs
parents:
diff changeset
    34
 *  @since 1.0
hgs
parents:
diff changeset
    35
 */
hgs
parents:
diff changeset
    36
class CSvgSetElementImpl : public CSvgAnimationBase
hgs
parents:
diff changeset
    37
    {
hgs
parents:
diff changeset
    38
    public:
hgs
parents:
diff changeset
    39
		TBool DoAnimProcL(MSvgEvent* aEvent);
hgs
parents:
diff changeset
    40
        // Constructor/deconstructor
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
		/**
hgs
parents:
diff changeset
    43
         * Need method description
hgs
parents:
diff changeset
    44
         *
hgs
parents:
diff changeset
    45
         * @since 1.0
hgs
parents:
diff changeset
    46
         * @param
hgs
parents:
diff changeset
    47
         * @return
hgs
parents:
diff changeset
    48
         */
hgs
parents:
diff changeset
    49
        static CSvgSetElementImpl*NewL(  const TUint8 aElemID,
hgs
parents:
diff changeset
    50
                                      CSvgDocumentImpl* aDoc );
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
		/**
hgs
parents:
diff changeset
    53
         * Need method description
hgs
parents:
diff changeset
    54
         *
hgs
parents:
diff changeset
    55
         * @since 1.0
hgs
parents:
diff changeset
    56
         * @param
hgs
parents:
diff changeset
    57
         * @return
hgs
parents:
diff changeset
    58
         */
hgs
parents:
diff changeset
    59
        static CSvgSetElementImpl*NewLC(  const TUint8 aElemID,
hgs
parents:
diff changeset
    60
                                       CSvgDocumentImpl* aDoc );
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
		 void		 					ReInitializeAnimation();
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
		 void					Reset(MSvgEvent* aEvent);
hgs
parents:
diff changeset
    65
		 void DeactivateAnimation();
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
	private:
hgs
parents:
diff changeset
    68
		/**
hgs
parents:
diff changeset
    69
         * Need method description
hgs
parents:
diff changeset
    70
         *
hgs
parents:
diff changeset
    71
         * @since 1.0
hgs
parents:
diff changeset
    72
         * @param
hgs
parents:
diff changeset
    73
         * @return
hgs
parents:
diff changeset
    74
         */
hgs
parents:
diff changeset
    75
        void                            ConstructL(  const TUint8 aElemID  );
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
	public:
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
        /**
hgs
parents:
diff changeset
    82
         * Need method description
hgs
parents:
diff changeset
    83
         *
hgs
parents:
diff changeset
    84
         * @since 1.0
hgs
parents:
diff changeset
    85
         * @param
hgs
parents:
diff changeset
    86
         * @return
hgs
parents:
diff changeset
    87
         */
hgs
parents:
diff changeset
    88
        virtual                     ~CSvgSetElementImpl();
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
    private:
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
        /**
hgs
parents:
diff changeset
    93
         * Need method description
hgs
parents:
diff changeset
    94
         *
hgs
parents:
diff changeset
    95
         * @since 1.0
hgs
parents:
diff changeset
    96
         * @param
hgs
parents:
diff changeset
    97
         * @return
hgs
parents:
diff changeset
    98
         */
hgs
parents:
diff changeset
    99
                                    CSvgSetElementImpl( CSvgDocumentImpl* aDoc );
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
    public:
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
			/**
hgs
parents:
diff changeset
   104
         * Need method description
hgs
parents:
diff changeset
   105
         *
hgs
parents:
diff changeset
   106
         * @since 1.0
hgs
parents:
diff changeset
   107
         * @param
hgs
parents:
diff changeset
   108
         * @return
hgs
parents:
diff changeset
   109
         */
hgs
parents:
diff changeset
   110
		TInt SetAttributeIntL( const TInt aNameId, const TInt32 aValue);
hgs
parents:
diff changeset
   111
		/**
hgs
parents:
diff changeset
   112
         * Need method description
hgs
parents:
diff changeset
   113
         *
hgs
parents:
diff changeset
   114
         * @since 1.0
hgs
parents:
diff changeset
   115
         * @param
hgs
parents:
diff changeset
   116
         * @return
hgs
parents:
diff changeset
   117
         */
hgs
parents:
diff changeset
   118
		TInt GetAttributeIntL( const TInt aNameId, TInt32& aValue );
hgs
parents:
diff changeset
   119
		/**
hgs
parents:
diff changeset
   120
         * Need method description
hgs
parents:
diff changeset
   121
         *
hgs
parents:
diff changeset
   122
         * @since 1.0
hgs
parents:
diff changeset
   123
         * @param
hgs
parents:
diff changeset
   124
         * @return
hgs
parents:
diff changeset
   125
         */
hgs
parents:
diff changeset
   126
		TInt SetAttributeFloatL(const TInt aNameId, TFloatFixPt aValue );
hgs
parents:
diff changeset
   127
		/**
hgs
parents:
diff changeset
   128
         * Need method description
hgs
parents:
diff changeset
   129
         *
hgs
parents:
diff changeset
   130
         * @since 1.0
hgs
parents:
diff changeset
   131
         * @param
hgs
parents:
diff changeset
   132
         * @return
hgs
parents:
diff changeset
   133
         */
hgs
parents:
diff changeset
   134
		TInt GetAttributeFloat(const TInt aNameId, TFloatFixPt& aValue );
hgs
parents:
diff changeset
   135
        // From MXmlElement API
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
        // From MEventReceiver
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
        /**
hgs
parents:
diff changeset
   140
         * Need method description
hgs
parents:
diff changeset
   141
         *
hgs
parents:
diff changeset
   142
         * @since 1.0
hgs
parents:
diff changeset
   143
         * @param
hgs
parents:
diff changeset
   144
         * @return
hgs
parents:
diff changeset
   145
         */
hgs
parents:
diff changeset
   146
        TBool                       ReceiveEventL( MSvgEvent* aEvent );
hgs
parents:
diff changeset
   147
        // From MEventReceiver
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
        /**
hgs
parents:
diff changeset
   150
         * Need method description
hgs
parents:
diff changeset
   151
         *
hgs
parents:
diff changeset
   152
         * @since 1.0
hgs
parents:
diff changeset
   153
         * @param
hgs
parents:
diff changeset
   154
         * @return
hgs
parents:
diff changeset
   155
         */
hgs
parents:
diff changeset
   156
        void                        ResetReferenceElementL();
hgs
parents:
diff changeset
   157
		CGfxGeneralPath* GetPathAttribute(TInt aAttributeId);
hgs
parents:
diff changeset
   158
		void SetPathAttribute(TInt aAttributeId, CGfxGeneralPath* aPathHandle);
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
       void 						InitAnimationL();
hgs
parents:
diff changeset
   162
       void 							SetToOriginalL();
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
	   void Print( TBool aIsEncodeOn );
hgs
parents:
diff changeset
   165
	   
hgs
parents:
diff changeset
   166
    private:
hgs
parents:
diff changeset
   167
hgs
parents:
diff changeset
   168
        
hgs
parents:
diff changeset
   169
        
hgs
parents:
diff changeset
   170
        // this tells that the style attribute is inherited one.
hgs
parents:
diff changeset
   171
		// this will be used by the SetMediaTime to repoint it to the parent.
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
		TBool                           iIsInheritedAttribute;
hgs
parents:
diff changeset
   174
		
hgs
parents:
diff changeset
   175
		
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
    private:
hgs
parents:
diff changeset
   178
        // From CSvgAnimationBase
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
        /**
hgs
parents:
diff changeset
   181
         * Need method description
hgs
parents:
diff changeset
   182
         *
hgs
parents:
diff changeset
   183
         * @since 1.0
hgs
parents:
diff changeset
   184
         * @param
hgs
parents:
diff changeset
   185
         * @return
hgs
parents:
diff changeset
   186
         */
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
        virtual TBool                   AnimProcL( MSvgTimerEvent* aEvent );
hgs
parents:
diff changeset
   189
hgs
parents:
diff changeset
   190
        /**
hgs
parents:
diff changeset
   191
         * Need method description
hgs
parents:
diff changeset
   192
         *
hgs
parents:
diff changeset
   193
         * @since 1.0
hgs
parents:
diff changeset
   194
         * @param
hgs
parents:
diff changeset
   195
         * @return
hgs
parents:
diff changeset
   196
         */
hgs
parents:
diff changeset
   197
        void                        ResetAnimationL();
hgs
parents:
diff changeset
   198
    };
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
#endif /* _INC_CSvgSetElementImpl_ */