Code

More documentation. Clean up SMIL a bit. SMIL needs more work, too.
authorishmal <ishmal@users.sourceforge.net>
Thu, 24 Apr 2008 21:12:18 +0000 (21:12 +0000)
committerishmal <ishmal@users.sourceforge.net>
Thu, 24 Apr 2008 21:12:18 +0000 (21:12 +0000)
src/dom/smil.h
src/dom/smilimpl.cpp
src/dom/smilimpl.h
src/dom/svgimpl.h

index a226dc65ba0c206f1f94f72c6d2519c9652781b2..fdeb0994df424465d15962306b9fb214d442a783 100644 (file)
  *  You should have received a copy of the GNU Lesser General Public
  *  License along with this library; if not, write to the Free Software
  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *  
+ * ===========================================================================
+ * NOTES
+ * 
+ * http://www.w3.org/TR/smil-boston-dom     
  */
 
 
@@ -66,24 +71,40 @@ class ElementTime;
 class ElementTimeContainer;
 class ElementTimeControl;
 class ElementTimeManipulation;
+class Time;
+class TimeEvent;
+class TimeList;
+
 class SMILAnimateColorElement;
+typedef Ptr<SMILAnimateColorElement> SMILAnimateColorElementPtr;
 class SMILAnimateElement;
+typedef Ptr<SMILAnimateElement> SMILAnimateElementPtr;
 class SMILAnimateMotionElement;
+typedef Ptr<SMILAnimateMotionElement> SMILAnimateMotionElementPtr;
 class SMILAnimation;
+typedef Ptr<SMILAnimation> SMILAnimationPtr;
 class SMILDocument;
+typedef Ptr<SMILDocument> SMILDocumentPtr;
 class SMILElement;
+typedef Ptr<SMILElement> SMILElementPtr;
 class SMILLayoutElement;
+typedef Ptr<SMILLayoutElement> SMILLayoutElementPtr;
 class SMILMediaElement;
+typedef Ptr<SMILMediaElement> SMILMediaElementPtr;
 class SMILRefElement;
+typedef Ptr<SMILRefElement> SMILRefElementPtr;
 class SMILRegionElement;
+typedef Ptr<SMILRegionElement> SMILRegionElementPtr;
 class SMILRegionInterface;
+typedef Ptr<SMILRegionInterface> SMILRegionInterfacePtr;
 class SMILRootLayoutElement;
+typedef Ptr<SMILRootLayoutElement> SMILRootLayoutElementPtr;
 class SMILSetElement;
+typedef Ptr<SMILSetElement> SMILSetElementPtr;
 class SMILSwitchElement;
+typedef Ptr<SMILSwitchElement> SMILSwitchElementPtr;
 class SMILTopLayoutElement;
-class Time;
-class TimeEvent;
-class TimeList;
+typedef Ptr<SMILTopLayoutElement> SMILTopLayoutElementPtr;
 
 
 
@@ -100,7 +121,7 @@ class TimeList;
 #########################################################################*/
 
 /**
- *
+ * This interface is used by SMIL elements root-layout, top-layout and region. 
  */
 class ElementLayout
 {
@@ -108,49 +129,49 @@ public:
 
 
     /**
-     *
+     * Return the title of an item implementing this interface
      */
     virtual DOMString getTitle()
         { return title; }
 
     /**
-     *
+     * Set the title of an item implementing this interface
      */
     virtual void setTitle(const DOMString &val) throw(dom::DOMException)
         { title = val; }
 
     /**
-     *
+     * Return the background color of an item implementing this interface
      */
     virtual DOMString getBackgroundColor()
         { return backgroundColor; }
 
     /**
-     *
+     * Set the background color of an item implementing this interface
      */
     virtual void setBackgroundColor(const DOMString &val) throw(dom::DOMException)
         { backgroundColor = val; }
 
     /**
-     *
+     * Return the height of an item implementing this interface
      */
     virtual long getHeight()
         { return height; }
 
     /**
-     *
+     * Set the height of an item implementing this interface
      */
     virtual void setHeight(long val) throw(dom::DOMException)
         { height = val; }
 
     /**
-     *
+     * Return the width of an item implementing this interface
      */
     virtual long getWidth()
         { return width; }
 
     /**
-     *
+     * Set the width of an item implementing this interface
      */
     virtual void setWidth(long val) throw(dom::DOMException)
         { width = val; }
@@ -197,22 +218,23 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * Declares rendering surface for an element. See the region attribute definition. 
  */
 class SMILRegionInterface
 {
 public:
 
     /**
-     *
+     * Gets an associated region element
      */
-    virtual SMILRegionElement *getRegion()
+    virtual SMILRegionElementPtr getRegion()
         { return regionElement; }
+        
     /**
-     *
+     * Sets an associated region element
      */
-    virtual void setRegion(const SMILRegionElement *val)
-        { regionElement = (SMILRegionElement *)val; }
+    virtual void setRegion(const SMILRegionElementPtr val)
+        { regionElement = val; }
 
     //##################
     //# Non-API methods
@@ -222,7 +244,7 @@ public:
      *
      */
     SMILRegionInterface()
-        { regionElement = NULL; }
+        {  }
 
     /**
      *
@@ -230,6 +252,15 @@ public:
     SMILRegionInterface(const SMILRegionInterface &other)
        { regionElement = other.regionElement; }
 
+    /**
+     *
+     */
+    SMILRegionInterface& operator=(const SMILRegionInterface &other)
+       {
+          regionElement = other.regionElement;
+          return *this;
+          }
+
     /**
      *
      */
@@ -237,7 +268,7 @@ public:
 
 protected:
 
-    SMILRegionElement *regionElement;
+    SMILRegionElementPtr regionElement;
 
 };
 
@@ -247,7 +278,9 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * The Time interface is a datatype that represents times within the timegraph.
+ * A Time has a type, key values to describe the time, and a boolean to
+ * indicate whether the values are currently unresolved. 
  */
 class Time
 {
@@ -255,17 +288,31 @@ public:
 
 
     /**
-     *
+     * A boolean indicating whether the current Time has been fully resolved to the 
+     * document schedule. Note that for this to be true, the current Time must be 
+     * defined (not indefinite), the syncbase and all Time's that the syncbase 
+     * depends on must be defined (not indefinite), and the begin Time of all 
+     * ascendent time containers of this element and all Time elements that this 
+     * depends upon must be defined (not indefinite). If this Time is based upon an 
+     * event, this Time will only be resolved once the specified event has happened, 
+     * subject to the constraints of the time container. Note that this may change 
+     * from true to false when the parent time container ends its simple duration 
+     * (including when it repeats or restarts).
      */
     virtual bool getResolved()
         { return resolved; }
 
     /**
-     *
+     * The clock value in seconds relative to the parent time container begin. This 
+     * indicates the resolved time relationship to the parent time container. This is 
+     * only valid if resolved is true.
      */
     virtual double getResolvedOffset()
         { return resolvedOffset; }
 
+    /**
+     * An integer indicating the type of this time value. 
+     */             
     typedef enum
         {
         SMIL_TIME_INDEFINITE           = 0,
@@ -274,73 +321,78 @@ public:
         SMIL_TIME_EVENT_BASED          = 3,
         SMIL_TIME_WALLCLOCK            = 4,
         SMIL_TIME_MEDIA_MARKER         = 5
-        } TimeTypes;
+        } TimeType;
 
 
 
     /**
-     *
+     * A code representing the type of the underlying object, as defined above. 
      */
     virtual unsigned short getTimeType()
         { return timeType; }
 
 
     /**
-     *
+     * The clock value in seconds relative to the syncbase or eventbase.
+     * Default value is 0. 
      */
     virtual double getOffset()
         { return offset; }
 
     /**
-     *
+     * Set the value above
      */
     virtual void setOffset(double val) throw (dom::DOMException)
         { offset = val; }
 
     /**
-     *
+     * Get the base element for a sync-based or event-based time. 
      */
-    virtual Element *getBaseElement()
+    virtual ElementPtr getBaseElement()
         { return baseElement; }
 
     /**
-     *
+     * Set the base element for a sync-based or event-based time. 
      */
-    virtual void setBaseElement(const Element *val) throw (dom::DOMException)
-        { baseElement = (Element *)val; }
+    virtual void setBaseElement(const ElementPtr val) throw (dom::DOMException)
+        { baseElement = val; }
 
     /**
-     *
+     * If true, indicates that a sync-based time is relative to the begin of the 
+     * baseElement. If false, indicates that a sync-based time is relative to the 
+     * active end of the baseElement.
      */
     virtual bool getBaseBegin()
         { return baseBegin; }
 
     /**
-     *
+     *  Set the value above.
      */
     virtual void setBaseBegin(bool val) throw (dom::DOMException)
         { baseBegin = val; }
 
     /**
-     *
+     * Get the name of the event for an event-based time. Default value is null. 
      */
     virtual DOMString getEvent()
         { return eventStr; }
 
     /**
-     *
+     * Set the name of the event for an event-based time. Default value is null. 
      */
     virtual void setEvent(const DOMString &val) throw (dom::DOMException)
         { eventStr = val; }
 
     /**
-     *
+     * Get the name of the marker from the media element, for media marker
+     * times. Default value is null. 
      */
     virtual DOMString getMarker()
         { return marker; }
 
     /**
-     *
+     * Set the name of the marker from the media element, for media marker
+     * times. Default value is null. 
      */
     virtual void setMarker(const DOMString &val) throw (dom::DOMException)
         { marker = val; }
@@ -360,7 +412,7 @@ public:
         resolvedOffset = 0.0;
         timeType       = SMIL_TIME_INDEFINITE;
         offset         = 0.0;
-        baseElement    = NULL;
+        //baseElement    = NULL; //not necessary
         baseBegin      = false;
         eventStr       = "";
         marker         = "";
@@ -370,7 +422,21 @@ public:
      *
      */
     Time(const Time &other)
-       {
+        {
+        assign(other);
+        }
+       
+    /**
+     *
+     */
+    Time &operator=(const Time &other)
+        {
+        assign(other);
+        return *this;
+        }
+       
+    void assign(const Time &other)
+        {
         resolved       = other.resolved;
         resolvedOffset = other.resolvedOffset;
         timeType       = other.timeType;
@@ -379,7 +445,7 @@ public:
         baseBegin      = other.baseBegin;
         eventStr       = other.eventStr;
         marker         = other.marker;
-       }
+        }
 
     /**
      *
@@ -392,7 +458,7 @@ protected:
     double         resolvedOffset;
     unsigned short timeType;
     double         offset;
-    Element *      baseElement;
+    ElementPtr     baseElement;
     bool           baseBegin;
     DOMString      eventStr;
     DOMString      marker;
@@ -405,15 +471,18 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * The TimeList interface provides the abstraction of an ordered collection of 
+ * times, without defining or constraining how this collection is implemented.
+ * 
+ * The items in the TimeList are accessible via an integral index, starting from 0.
  */
 class TimeList
 {
 public:
 
-
     /**
-     *
+     * Returns the indexth item in the collection. If index is greater than or equal 
+     * to the number of times in the list, this returns null.
      */
     virtual Time item(unsigned long index)
         {
@@ -426,13 +495,16 @@ public:
         }
 
     /**
-     *
+     * The number of times in the list. The range of valid child time
+     * indices is 0 to length-1 inclusive. 
      */
     virtual unsigned long getLength()
         {
         return items.size();
         }
 
+
+
     //##################
     //# Non-API methods
     //##################
@@ -450,6 +522,15 @@ public:
         items = other.items;
         }
 
+    /**
+     *
+     */
+    TimeList &operator=(const TimeList &other)
+        {
+        items = other.items;
+        return *this;
+        }
+
     /**
      *
      */
@@ -468,7 +549,8 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * This interface defines the set of timing attributes that are common to
+ * all timed elements. 
  */
 class ElementTime
 {
@@ -476,106 +558,120 @@ public:
 
 
     /**
-     *
+     * Get the desired value (as a list of times) of the begin instant of this node. 
      */
-    virtual TimeList getBegin()
+    virtual TimeList &getBegin()
         { return beginTime; }
 
     /**
-     *
+     * Set the desired value (as a list of times) of the begin instant of this node. 
      */
     virtual void setBegin(const TimeList &val) throw(dom::DOMException)
         { beginTime = val; }
+
     /**
-     *
+     * Set the list of active ends for this node. 
      */
-    virtual TimeList getEnd()
+    virtual TimeList &getEnd()
         { return endTime; }
 
     /**
-     *
+     * Set the list of active ends for this node. 
      */
     virtual void setEnd(const TimeList &val) throw(dom::DOMException)
         { endTime = val; }
 
     /**
-     *
+     * Get the desired simple duration  value of this node in seconds.
+     * Negative value means "indefinite". 
      */
     virtual double getDur()
         { return dur; }
 
     /**
-     *
+     * Set the desired simple duration  value of this node in seconds.
+     * Negative value means "indefinite". 
      */
     virtual void setDur(double val) throw(dom::DOMException)
         { dur = val; }
 
+    /**
+     * An integer indicating the value of the restart attribute. 
+     */             
     typedef enum
         {
         RESTART_ALWAYS                 = 0,
         RESTART_NEVER                  = 1,
         RESTART_WHEN_NOT_ACTIVE        = 2
-        } RestartTypes;
+        } RestartType;
 
     /**
-     *
+     *  Get code representing the value of the restart  attribute,
+     *  as defined above. Default value is RESTART_ALWAYS. 
      */
     virtual unsigned short getRestart()
         { return restart; }
 
     /**
-     *
+     *  Set code representing the value of the restart  attribute,
+     *  as defined above. Default value is RESTART_ALWAYS. 
      */
     virtual void setRestart(unsigned short val) throw (dom::DOMException)
         { restart = val; }
 
 
-    // fillTypes
+    /**
+     * An integer indicating the value of the fill attribute. 
+     */             
     typedef enum
         {
         FILL_REMOVE                    = 0,
         FILL_FREEZE                    = 1
-        } FillTypes;
+        } FillType;
 
 
     /**
-     *
+     * Get code representing the value of the fill attribute, as defined above.
+     * Default value is FILL_REMOVE. 
      */
     virtual unsigned short getFill()
         { return fill; }
 
     /**
-     *
+     * Set code representing the value of the fill attribute, as defined above.
      */
     virtual void setFill(unsigned short val) throw (dom::DOMException)
         { fill = val; }
 
     /**
-     *
+     * The repeatCount attribute causes the element to play repeatedly (loop) for the 
+     * specified number of times. A negative value repeat the element indefinitely. 
+     * Default value is 0 (unspecified).
      */
     virtual double getRepeatCount()
         { return repeatCount; }
 
     /**
-     *
+     * Set the value above.
      */
     virtual void setRepeatCount(double val) throw (dom::DOMException)
         { repeatCount = val; }
 
     /**
-     *
+     * The repeatDur causes the element to play repeatedly (loop) for the specified 
+     * duration in milliseconds. Negative means "indefinite".
      */
     virtual double getRepeatDur()
         { return repeatDur; }
 
     /**
-     *
+     * Set the value above.
      */
     virtual void setRepeatDur(double val) throw (dom::DOMException)
         { repeatDur = val; }
 
     /**
-     *
+     * Causes this element to begin the local timeline (subject to sync constraints). 
      */
     virtual bool beginElement()
         {
@@ -583,7 +679,7 @@ public:
         }
 
     /**
-     *
+     * Causes this element to end the local timeline (subject to sync constraints). 
      */
     virtual bool endElement()
         {
@@ -591,21 +687,23 @@ public:
         }
 
     /**
-     *
+     * Causes this element to pause the local timeline (subject to sync constraints). 
      */
     virtual void pauseElement()
         {
         }
 
     /**
-     *
+     * Causes this element to resume a paused local timeline. 
      */
     virtual void resumeElement()
         {
         }
 
     /**
-     *
+     * Seeks this element to the specified point on the local timeline (subject to 
+     * sync constraints). If this is a timeline, this must seek the entire timeline 
+     * (i.e. propagate to all timeChildren).
      */
     virtual void seekElement(double &/*seekTo*/)
         {
@@ -632,6 +730,23 @@ public:
      *
      */
     ElementTime(const ElementTime &other)
+       {
+       assign(other);
+       }
+
+    /**
+     *
+     */
+    ElementTime &operator=(const ElementTime &other)
+       {
+       assign(other);
+       return *this;
+       }
+
+    /**
+     *
+     */
+    void assign(const ElementTime &other)
        {
        beginTime   = other.beginTime;
        endTime     = other.endTime;
@@ -641,7 +756,7 @@ public:
        repeatCount = other.repeatCount;
        repeatDur   = other.repeatDur;
        }
-
+       
     /**
      *
      */
@@ -667,54 +782,66 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * This interface support use-cases commonly associated with animation. 
  */
 class ElementTimeManipulation
 {
 public:
 
     /**
-     *
+     * Defines the playback speed of element time. The value is specified as a 
+     * multiple of normal (parent time container) play speed. Legal values are signed 
+     * floating point values. Zero values are not allowed. The default is 1.0 (no 
+     * modification of speed).
      */
     virtual double getSpeed()
         { return speed; }
+        
     /**
-     *
+     * Sets the value above.
      */
     virtual void setSpeed(double val) throw (dom::DOMException)
         { speed = val; }
+
     /**
-     *
+     * The percentage value of the simple acceleration of time for the element. 
+     * Allowed values are from 0 to 100. Default value is 0 (no acceleration). The 
+     * sum of the values for accelerate and decelerate must not exceed 100. If it 
+     * does, the deceleration value will be reduced to make the sum legal.
      */
     virtual double getAccelerate()
         { return accelerate; }
 
     /**
-     *
+     * Sets the value above.
      */
     virtual void setAccelerate(double val) throw (dom::DOMException)
         { accelerate = val; }
 
     /**
-     *
+     * The percentage value of the simple decelerate of time for the element. Allowed 
+     * values are from 0 to 100. Default value is 0 (no deceleration). The sum of the 
+     * values for accelerate and decelerate must not exceed 100. If it does, the 
+     * deceleration value will be reduced to make the sum legal.
      */
     virtual double getDecelerate()
         { return decelerate; }
 
     /**
-     *
+     * Sets the value above.
      */
     virtual void setDecelerate(double val) throw (dom::DOMException)
         { decelerate = val; }
 
     /**
-     *
+     * The autoReverse attribute controls the "play forwards then backwards" 
+     * functionality. Default value is false.
      */
     virtual bool getAutoReverse()
         { return autoReverse; }
 
     /**
-     *
+     * Sets the value above.
      */
     virtual void setAutoReverse(bool val) throw (dom::DOMException)
         { autoReverse = val; }
@@ -739,6 +866,23 @@ public:
      *
      */
     ElementTimeManipulation(const ElementTimeManipulation &other)
+        {
+        assign(other);
+        }
+
+    /**
+     *
+     */
+    ElementTimeManipulation &operator=(const ElementTimeManipulation &other)
+        {
+        assign(other);
+        return *this;
+        }
+
+    /**
+     *
+     */
+    void assign(const ElementTimeManipulation &other)
         {
         speed       = other.speed;
         accelerate  = other.accelerate;
@@ -757,7 +901,7 @@ protected:
     double speed;
     double accelerate;
     double decelerate;
-    bool autoReverse;
+    bool   autoReverse;
 
 };
 
@@ -767,7 +911,7 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * This is a placeholder - subject to change. This represents generic timelines. 
  */
 class ElementTimeContainer : public ElementTime
 {
@@ -775,7 +919,8 @@ public:
 
 
     /**
-     *
+     * A NodeList that contains all timed childrens of this node. If there
+     * are no timed children, the Nodelist is empty. 
      */
     virtual NodeList getTimeChildren()
         {
@@ -784,9 +929,9 @@ public:
         }
 
     /**
-     *
+     * Returns a list of child elements active at the specified invocation. 
      */
-    virtual NodeList getActiveChildrenAt(double /*instant*/)
+    virtual NodeList getActiveChildrenAt(double /*instant_in_millis*/)
         {
         NodeList list;
         return list;
@@ -824,42 +969,46 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * The synchronization behavior extension. 
  */
 class ElementSyncBehavior
 {
 public:
 
     /**
-     *
+     * The runtime synchronization behavior for an element. 
      */
     virtual DOMString getSyncBehavior()
         { return syncBehavior; }
 
     /**
-     *
+     * The sync tolerance for the associated element. It has an effect only
+     * if the element has syncBehavior="locked". 
      */
     virtual double getSyncTolerance()
         { return syncTolerance; }
 
     /**
-     *
+     * Defines the default value for the runtime synchronization behavior
+     * for an element, and all descendents. 
      */
     virtual DOMString getDefaultSyncBehavior()
         { return defaultSyncBehavior; }
 
     /**
-     *
+     * Defines the default value for the sync tolerance for an element,
+     *          and all descendents. 
      */
     virtual double getDefaultSyncTolerance()
         { return defaultSyncTolerance; }
 
     /**
-     *
+     * If set to true, forces the time container playback to sync to this element. 
      */
     virtual bool getSyncMaster()
         { return syncMaster; }
 
+
     //##################
     //# Non-API methods
     //##################
@@ -880,6 +1029,23 @@ public:
      *
      */
     ElementSyncBehavior(const ElementSyncBehavior &other)
+        {
+        assign(other);
+        }
+
+    /**
+     *
+     */
+    ElementSyncBehavior &operator=(const ElementSyncBehavior &other)
+        {
+        assign(other);
+        return *this;
+        }
+
+    /**
+     *
+     */
+    void assign(const ElementSyncBehavior &other)
         {
         syncBehavior         = other.syncBehavior;
         syncTolerance        = other.syncTolerance;
@@ -909,26 +1075,27 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * A parallel container defines a simple parallel time grouping in which multiple 
+ * elements can play back at the same time.
  */
 class ElementParallelTimeContainer : public ElementTimeContainer
 {
 public:
 
     /**
-     *
+     * Controls the end of the container. 
      */
     virtual DOMString getEndSync()
         { return endSync; }
 
     /**
-     *
+     * Controls the end of the container. 
      */
     virtual void setEndSync(const DOMString &val) throw (dom::DOMException)
         { endSync = val; }
 
     /**
-     *
+     * This method returns the implicit duration in seconds. 
      */
     virtual double getImplicitDuration()
         { return implicitDuration; }
@@ -952,6 +1119,23 @@ public:
     ElementParallelTimeContainer(const ElementParallelTimeContainer &other)
                                 : ElementTimeContainer(other)
         {
+        assign(other);
+        }
+
+    /**
+     *
+     */
+    ElementParallelTimeContainer &operator=(const ElementParallelTimeContainer &other)
+        {
+        assign(other);
+        return *this;
+        }
+
+    /**
+     *
+     */
+    void assign(const ElementParallelTimeContainer &other)
+        {
         endSync          = other.endSync;
         implicitDuration = other.implicitDuration;
         }
@@ -974,7 +1158,8 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * A seq container defines a sequence of elements in which elements play
+ * one after the other. 
  */
 class ElementSequentialTimeContainer : public ElementTimeContainer
 {
@@ -1012,26 +1197,28 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface defines a time container with semantics based upon par, but 
+ * with the additional constraint that only one child element may play at a time.
  */
 class ElementExclusiveTimeContainer : public ElementTimeContainer
 {
 public:
 
     /**
-     *
+     * Controls the end of the container. 
      */
     virtual DOMString getEndSync()
         { return endSync; }
 
     /**
-     *
+     * Controls the end of the container. 
      */
     virtual void setEndSync(const DOMString &val) throw (dom::DOMException)
         { endSync = val; }
 
     /**
-     *
+     * This should support another method to get the ordered collection of paused 
+     * elements (the paused stack) at a given point in time.
      */
     virtual NodeList getPausedElements()
         { return pausedElements; }
@@ -1051,6 +1238,23 @@ public:
     ElementExclusiveTimeContainer(const ElementExclusiveTimeContainer &other)
                     : ElementTimeContainer(other)
         {
+        assign(other);
+        }
+
+    /**
+     *
+     */
+    ElementExclusiveTimeContainer &operator=(const ElementExclusiveTimeContainer &other)
+        {
+        assign(other);
+        return *this;
+        }
+
+    /**
+     *
+     */
+    void assign(const ElementExclusiveTimeContainer &other)
+        {
         endSync        = other.endSync;
         pausedElements = other.pausedElements;
         }
@@ -1074,14 +1278,14 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * NOTE:  need more info
  */
 class ElementTimeControl
 {
 public:
 
     /**
-     *
+     * Causes this element to begin the local timeline (subject to sync constraints). 
      */
     virtual bool beginElement() throw(dom::DOMException)
         {
@@ -1089,7 +1293,13 @@ public:
         }
 
     /**
-     *
+     * Causes this element to begin the local timeline (subject to sync constraints), 
+     * at the passed offset from the current time when the method is called. If the 
+     * offset is >= 0, the semantics are equivalent to an event-base begin with the 
+     * specified offset. If the offset is < 0, the semantics are equivalent to 
+     * beginElement(), but the element active duration is evaluated as though the 
+     * element had begun at the passed (negative) offset from the current time when 
+     * the method is called.
      */
     virtual bool beginElementAt(double /*offset*/) throw(dom::DOMException)
         {
@@ -1097,7 +1307,7 @@ public:
         }
 
     /**
-     *
+     * Causes this element to end the local timeline (subject to sync constraints). 
      */
     virtual bool endElement() throw(dom::DOMException)
         {
@@ -1105,7 +1315,8 @@ public:
         }
 
     /**
-     *
+     * Causes this element to end the local timeline (subject to sync constraints) at 
+     * the specified offset from the current time when the method is called.
      */
     virtual bool endElementAt(double /*offset*/) throw(dom::DOMException)
         {
@@ -1142,7 +1353,7 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface define the set of animation target extensions. 
  */
 class ElementTargetAttributes
 {
@@ -1150,36 +1361,40 @@ public:
 
 
     /**
-     *
+     * Get the name of the target attribute. 
      */
     virtual DOMString getAttributeName()
         { return attributeName; }
 
     /**
-     *
+     * Set the name of the target attribute. 
      */
     virtual void setAttributeName(const DOMString &val)
         { attributeName = val; }
 
+    /**
+     * A code representing the value of the attributeType attribute
+     */             
     typedef enum
         {
         ATTRIBUTE_TYPE_AUTO            = 0,
         ATTRIBUTE_TYPE_CSS             = 1,
         ATTRIBUTE_TYPE_XML             = 2
-        } AttributeTypes;
+        } AttributeType;
 
     /**
-     *
+     * Get the attribute type, as defined above.
      */
     virtual unsigned short getAttributeType()
         { return attributeType; }
 
     /**
-     *
+     * Set the attribute type, as defined above.
      */
     virtual void setAttributeType(unsigned short val)
         { attributeType = val; }
 
+
     //##################
     //# Non-API methods
     //##################
@@ -1197,6 +1412,23 @@ public:
      *
      */
     ElementTargetAttributes(const ElementTargetAttributes &other)
+       {
+       assign(other);
+       }
+
+    /**
+     *
+     */
+    ElementTargetAttributes &operator=(const ElementTargetAttributes &other)
+       {
+       assign(other);
+       return *this;
+       }
+
+    /**
+     *
+     */
+    void assign(const ElementTargetAttributes &other)
        {
        attributeName = other.attributeName;
        attributeType = other.attributeType;
@@ -1220,7 +1452,7 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * Defines the test attributes interface. See the Test attributes definition. 
  */
 class ElementTest
 {
@@ -1228,79 +1460,79 @@ public:
 
 
     /**
-     *
+     * Get the systemBitrate value. 
      */
     virtual long getSystemBitrate()
         { return systemBitrate; }
 
     /**
-     *
+     * Set the systemBitrate value. 
      */
     virtual void setSystemBitrate(long val) throw (dom::DOMException)
         { systemBitrate = val; }
 
     /**
-     *
+     *  Get the systemCaptions value. 
      */
     virtual bool getSystemCaptions()
         { return systemCaptions; }
 
     /**
-     *
+     * Set the systemCaptions value. 
      */
     virtual void setSystemCaptions(bool val) throw (dom::DOMException)
         { systemCaptions = val; }
 
     /**
-     *
+     * Get the systemLanguage value. 
      */
     virtual DOMString getSystemLanguage()
         { return systemLanguage; }
 
     /**
-     *
+     * Set the systemLanguage value. 
      */
     virtual void setSystemLanguage(const DOMString &val) throw (dom::DOMException)
         { systemLanguage = val; }
 
     /**
-     *
+     * Get the systemRequired value. 
      */
     virtual bool getSystemRequired()
         { return systemRequired; }
 
     /**
-     *
+     * Get the systemScreenSize value. 
      */
     virtual bool getSystemScreenSize()
         { return systemScreenSize; }
 
     /**
-     *
+     * Get the systemScreenDepth value. 
      */
     virtual bool getSystemScreenDepth()
         { return systemScreenDepth; }
 
     /**
-     *
+     * Get the systemOverdubOrSubtitle value. 
      */
     virtual DOMString getSystemOverdubOrSubtitle()
         { return systemOverdubOrSubtitle; }
 
     /**
-     *
+     * Set the systemOverdubOrSubtitle value. 
      */
     virtual void setSystemOverdubOrSubtitle(const DOMString &val) throw (dom::DOMException)
         { systemOverdubOrSubtitle = val; }
 
     /**
-     *
+     * Get the systemAudioDesc value. 
      */
     virtual bool getSystemAudioDesc()
-        { return systemBitrate; }
+        { return systemAudioDesc; }
 
     /**
-     *
+     * Set the systemOverdubOrSubtitle value. 
      */
     virtual void setSystemAudioDesc(bool val)  throw (dom::DOMException)
         { systemAudioDesc = val; }
@@ -1315,21 +1547,30 @@ public:
      */
     ElementTest()
         {
-        systemBitrate           = 0;
-        systemCaptions          = false;
-        systemLanguage          = "";
-        systemRequired          = false;
-        systemScreenSize        = false;
-        systemScreenDepth       = false;
-        systemOverdubOrSubtitle = "";
-        systemAudioDesc         = false;
         }
 
     /**
      *
      */
     ElementTest(const ElementTest &other)
-       {
+        {
+        assign(other);
+        }
+
+    /**
+     *
+     */
+    ElementTest &operator=(const ElementTest &other)
+        {
+        assign(other);
+        return *this;
+        }
+
+    /**
+     *
+     */
+    void assign(const ElementTest &other)
+        {
         systemBitrate           = other.systemBitrate;
         systemCaptions          = other.systemCaptions;
         systemLanguage          = other.systemLanguage;
@@ -1338,7 +1579,7 @@ public:
         systemScreenDepth       = other.systemScreenDepth;
         systemOverdubOrSubtitle = other.systemOverdubOrSubtitle;
         systemAudioDesc         = other.systemAudioDesc;
-       }
+        }
 
     /**
      *
@@ -1365,26 +1606,33 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * The TimeEvent interface provides specific contextual information associated
+ * with Time events. 
  */
 class TimeEvent : public events::Event
 {
 public:
 
     /**
-     *
+     * The view attribute identifies the AbstractView from which the event
+     * was generated. 
      */
-    virtual views::AbstractView getView()
+    virtual views::AbstractView &getView()
         { return view; }
 
     /**
-     *
+     * Specifies some detail information about the Event, depending on
+     *          the type of event. 
      */
     virtual long getDetail()
         { return detail; }
 
     /**
-     *
+     * The initTimeEvent method is used to initialize the value of a TimeEvent 
+     * created through the DocumentEvent interface. This method may only be called 
+     * before the TimeEvent has been dispatched via the dispatchEvent method, though 
+     * it may be called multiple times during that phase if necessary. If called 
+     * multiple times, the final invocation takes precedence.
      */
     virtual void initTimeEvent(const DOMString &/*typeArg*/,
                                const views::AbstractView */*viewArg*/,
@@ -1408,6 +1656,23 @@ public:
      *
      */
     TimeEvent(const TimeEvent &other) : events::Event(other)
+        {
+        assign(other);
+        }
+
+    /**
+     *
+     */
+    TimeEvent &operator=(const TimeEvent &other)
+        {
+        assign(other);
+        return *this;
+        }
+
+    /**
+     *
+     */
+    void assign(const TimeEvent &other)
         {
         view   = other.view;
         detail = other.detail;
@@ -1444,7 +1709,9 @@ protected:
 #########################################################################*/
 
 /**
- *
+ * A SMIL document is the root of the SMIL Hierarchy and holds the entire 
+ * content. Beside providing access to the hierarchy, it also provides some 
+ * convenience methods for accessing certain sets of information from the document.
  */
 class SMILDocument : virtual public Document,
                      public ElementSequentialTimeContainer
@@ -1470,19 +1737,21 @@ public:
 #########################################################################*/
 
 /**
- *
+ * The SMILElement interface is the base for all SMIL element types. It follows 
+ * the model of the HTMLElement in the HTML DOM, extending the base Element class 
+ * to denote SMIL-specific elements.
  */
 class SMILElement : virtual public Element
 {
 public:
 
     /**
-     *
+     * Get the unique ID
      */
     virtual DOMString getId() =0;
 
     /**
-     *
+     * Set the unique ID
      */
     virtual void setId(const DOMString &val) throw (dom::DOMException) =0;
 
@@ -1505,19 +1774,21 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Declares layout type for the document. See:
+ * http://www.w3.org/TR/2000/WD-smil-boston-20000225/layout.html#LayoutModuleNS-TheLayoutElement 
  */
 class SMILLayoutElement : virtual public SMILElement
 {
 public:
 
     /**
-     *
+     * The mime type of the layout langage used in this layout element.The default 
+     * value of the type attribute is "text/smil-basic-layout".
      */
     virtual DOMString getType() =0;
 
     /**
-     *
+     * true if the player can understand the mime type, false otherwise. 
      */
     virtual bool getResolved() =0;
 
@@ -1539,7 +1810,8 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Declares layout properties for the top-layout element. See:
+ * http://www.w3.org/TR/2000/WD-smil-boston-20000225/layout.html#LayoutModuleNS-TheTopLayoutElement 
  */
 class SMILTopLayoutElement : virtual public SMILElement,
                              virtual public ElementLayout
@@ -1565,7 +1837,8 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Declares layout properties for the root-layout element. See:
+ * http://www.w3.org/TR/2000/WD-smil-boston-20000225/layout.html#LayoutModuleNS-TheRootLayoutElement 
  */
 class SMILRootLayoutElement : virtual public SMILElement,
                               virtual public ElementLayout
@@ -1591,7 +1864,8 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Controls the position, size and scaling of media object elements. See:
+ * http://www.w3.org/TR/2000/WD-smil-boston-20000225/layout.html#LayoutModuleNS-TheRegionElement
  */
 class SMILRegionElement : virtual public SMILElement,
                           virtual public ElementLayout
@@ -1600,32 +1874,32 @@ public:
 
 
     /**
-     *
+     * Get the fit value
      */
     virtual DOMString getFit() =0;
 
     /**
-     *
+     * Set the fit value
      */
     virtual void setFit(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the top value
      */
     virtual DOMString getTop() =0;
 
     /**
-     *
+     * Set the top value
      */
     virtual void setTop(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the ZIndex value
      */
     virtual long getZIndex() =0;
 
     /**
-     *
+     * Set the ZIndex value
      */
     virtual void setZIndex(long val) throw (dom::DOMException) =0;
 
@@ -1649,7 +1923,7 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Declares media content. 
  */
 class SMILMediaElement : virtual public ElementTime,
                          virtual public SMILElement
@@ -1658,152 +1932,152 @@ public:
 
 
     /**
-     *
+     * Get the "abstractAttr" value
      */
     virtual DOMString getAbstractAttr() =0;
 
     /**
-     *
+     * Set the "abstractAttr" value
      */
     virtual void setAbstractAttr(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "alt" value
      */
     virtual DOMString getAlt() =0;
 
     /**
-     *
+     * Set the "alt" value
      */
     virtual void setAlt(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "author" value
      */
     virtual DOMString getAuthor() =0;
 
     /**
-     *
+     * Set the "author" value
      */
     virtual void setAuthor(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "clipBegin" value
      */
     virtual DOMString getClipBegin() =0;
 
     /**
-     *
+     * Set the "clipBegin" value
      */
     virtual void setClipBegin(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "clipEnd" value
      */
     virtual DOMString getClipEnd() =0;
 
     /**
-     *
+     * Set the "clipEnd" value
      */
     virtual void setClipEnd(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "copyright" value
      */
     virtual DOMString getCopyright() =0;
 
     /**
-     *
+     * Set the "copyright" value
      */
     virtual void setCopyright(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "longdesc" value
      */
     virtual DOMString getLongdesc() =0;
 
     /**
-     *
+     * Set the "longdesc" value
      */
     virtual void setLongdesc(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "port" value
      */
     virtual DOMString getPort() =0;
 
     /**
-     *
+     * Set the "port" value
      */
     virtual void setPort(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "readIndex" value
      */
     virtual DOMString getReadIndex() =0;
 
     /**
-     *
+     * Set the "readIndex" value
      */
     virtual void setReadIndex(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "rtpFormat" value
      */
     virtual DOMString getRtpformat() =0;
 
     /**
-     *
+     * Set the "readIndex" value
      */
     virtual void setRtpformat(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "src" value
      */
     virtual DOMString getSrc() =0;
 
     /**
-     *
+     * Set the "src" value
      */
     virtual void setSrc(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "stripRepeat" value
      */
     virtual DOMString getStripRepeat() =0;
 
     /**
-     *
+     * Set the "stripRepeat" value
      */
     virtual void setStripRepeat(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "title" value
      */
     virtual DOMString getTitle() =0;
 
     /**
-     *
+     * Set the "title" value
      */
     virtual void setTitle(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "transport" value
      */
     virtual DOMString getTransport() =0;
 
     /**
-     *
+     * Set the "transport" value
      */
     virtual void setTransport(const DOMString &val) throw (dom::DOMException) =0;
 
     /**
-     *
+     * Get the "type" value
      */
     virtual DOMString getType() =0;
 
     /**
-     *
+     * Set the "type" value
      */
     virtual void setType(const DOMString &val) throw (dom::DOMException) =0;
 
@@ -1827,7 +2101,8 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Audio, video,  etc
+ * NOTE: need more info 
  */
 class SMILRefElement : virtual public SMILMediaElement
 {
@@ -1852,7 +2127,7 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface defines the set of animation extensions for SMIL. 
  */
 class SMILAnimation : virtual public SMILElement,
                       virtual public ElementTargetAttributes,
@@ -1861,116 +2136,127 @@ class SMILAnimation : virtual public SMILElement,
 {
 public:
 
+    /**
+     * Codes for the "additive" attribute
+     */             
     typedef enum
         {
         ADDITIVE_REPLACE               = 0,
         ADDITIVE_SUM                   = 1
-        } AdditiveTypes;
+        } AdditiveType;
 
 
     /**
-     *
+     * A code representing the value of the additive  attribute, as defined above.
+     * Default value is ADDITIVE_REPLACE. 
      */
     virtual unsigned short getAdditive() =0;
 
     /**
-     *
+     * Set the value above.
      */
     virtual void setAdditive(unsigned short val) throw (dom::DOMException)=0;
 
+    /**
+     * Codes for the 'accumulate' attribute
+     */             
     typedef enum
         {
         ACCUMULATE_NONE                = 0,
         ACCUMULATE_SUM                 = 1
-        } AccumulateTypes;
+        } AccumulateType;
 
 
     /**
-     *
+     * A code representing the value of the accumulate  attribute, as defined above.
+     * Default value is ACCUMULATE_NONE. 
      */
     virtual unsigned short getAccumulate() =0;
 
     /**
-     *
+     * Set the value above
      */
     virtual void setAccumulate(unsigned short val) throw (dom::DOMException)=0;
 
+    /**
+     * Codes for the "calcmode" attribute
+     */             
     typedef enum
         {
         CALCMODE_DISCRETE              = 0,
         CALCMODE_LINEAR                = 1,
         CALCMODE_PACED                 = 2,
         CALCMODE_SPLINE                = 3
-        } CalcModeTypes;
+        } CalcModeType;
 
 
     /**
-     *
+     * A code representing the value of the calcMode  attribute, as defined above. 
      */
     virtual unsigned short getCalcMode() =0;
 
     /**
-     *
+     *  Set the value above.
      */
     virtual void setCalcMode(unsigned short val) throw (dom::DOMException)=0;
 
     /**
-     *
+     * A DOMString representing the value of the keySplines  attribute. 
      */
     virtual DOMString getKeySplines() =0;
 
     /**
-     *
+     *  Set the value above.
      */
     virtual void setKeySplines(const DOMString &val) throw (dom::DOMException)=0;
 
     /**
-     *
+     * Get a list of the time values of the keyTimes attribute. 
      */
     virtual TimeList getKeyTimes() =0;
 
     /**
-     *
+     * Set the list of the time value of the keyTimes  attribute. 
      */
     virtual void setKeyTimes(const TimeList &val) throw (dom::DOMException)=0;
 
     /**
-     *
+     * Get a DOMString representing the value of the values attribute. 
      */
     virtual DOMString getValues() =0;
 
     /**
-     *
+     * Set the DOMString representing the value of the values attribute. 
      */
     virtual void setValues(const DOMString &val) throw (dom::DOMException)=0;
 
     /**
-     *
+     * Get a DOMString representing the value of the from attribute. 
      */
     virtual DOMString getFrom() =0;
 
     /**
-     *
+     * Set the DOMString representing the value of the from attribute. 
      */
     virtual void setFrom(const DOMString &val) throw (dom::DOMException)=0;
 
     /**
-     *
+     * Get a DOMString representing the value of the to attribute. 
      */
     virtual DOMString getTo() =0;
 
     /**
-     *
+     * Set the DOMString representing the value of the to attribute. 
      */
     virtual void setTo(const DOMString &val) throw (dom::DOMException)=0;
 
     /**
-     *
+     * Get a DOMString representing the value of the by attribute. 
      */
     virtual DOMString getBy() =0;
 
     /**
-     *
+     * Set the DOMString representing the value of the by attribute. 
      */
     virtual void setBy(const DOMString &val) throw (dom::DOMException)=0;
 
@@ -1992,7 +2278,7 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface represents the SMIL animate element. 
  */
 class SMILAnimateElement : virtual public SMILAnimation
 {
@@ -2017,7 +2303,7 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface represents the set element. 
  */
 class SMILSetElement : virtual public ElementTimeControl,
                        virtual public ElementTime,
@@ -2027,12 +2313,12 @@ class SMILSetElement : virtual public ElementTimeControl,
 public:
 
     /**
-     *
+     * Specifies the value for the attribute during the duration of this element. 
      */
     virtual DOMString getTo() =0;
 
     /**
-     *
+     * Set the value above.
      */
     virtual void setTo(const DOMString &val) =0;
 
@@ -2054,29 +2340,29 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface present the animationMotion element in SMIL. 
  */
 class SMILAnimateMotionElement : virtual public SMILAnimateElement
 {
 public:
 
     /**
-     *
+     * Specifies the curve that describes the attribute value as a function of time. 
      */
     virtual DOMString getPath() =0;
 
     /**
-     *
+     * Specifies the curve that describes the attribute value as a function of time. 
      */
     virtual void setPath(const DOMString &val) throw(dom::DOMException) =0;
 
     /**
-     *
+     * Specifies the origin of motion for the animation. 
      */
     virtual DOMString getOrigin() =0;
 
     /**
-     *
+     * Specifies the origin of motion for the animation. 
      */
     virtual void setOrigin(const DOMString &val) throw(dom::DOMException) =0;
 
@@ -2099,7 +2385,7 @@ public:
 #########################################################################*/
 
 /**
- *
+ * This interface represents the SMIL animateColor element. 
  */
 class SMILAnimateColorElement : virtual public SMILAnimation
 {
@@ -2127,16 +2413,18 @@ public:
 #########################################################################*/
 
 /**
- *
+ * Defines a block of content control. See:
+ * http://www.w3.org/TR/2000/WD-smil-boston-20000225/content.html#ContentControlNS-SwitchElement
  */
 class SMILSwitchElement : virtual public SMILElement
 {
 public:
 
     /**
-     *
+     * Returns the slected element at runtime. null if the selected element
+     * is not yet available. 
      */
-    virtual Element *getSelectedElement() =0;
+    virtual ElementPtr getSelectedElement() =0;
 
     //##################
     //# Non-API methods
index d2f8278d6f98f1e248d29e18e86bdf316d8cd506..82bbe9d0ee7e6662fe96be60aa089125d9f0ca82 100644 (file)
@@ -82,7 +82,7 @@ DOMString SMILElementImpl::getId()
 /**
  *
  */
-void SMILElementImpl::setId(const DOMString &val) throw (dom::DOMException)
+void SMILElementImpl::setId(const DOMString &/*val*/) throw (dom::DOMException)
 {
 }
 
@@ -189,7 +189,7 @@ DOMString SMILRegionElementImpl::getFit()
 /**
  *
  */
-void SMILRegionElementImpl::setFit(const DOMString &val) throw (dom::DOMException)
+void SMILRegionElementImpl::setFit(const DOMString &/*val*/) throw (dom::DOMException)
 {
 }
 
@@ -204,7 +204,7 @@ DOMString SMILRegionElementImpl::getTop()
 /**
  *
  */
-void SMILRegionElementImpl::setTop(const DOMString &val) throw (dom::DOMException)
+void SMILRegionElementImpl::setTop(const DOMString &/*val*/) throw (dom::DOMException)
 {
 }
 
@@ -219,7 +219,7 @@ long SMILRegionElementImpl::getZIndex()
 /**
  *
  */
-void SMILRegionElementImpl::setZIndex(long val) throw (dom::DOMException)
+void SMILRegionElementImpl::setZIndex(long /*val*/) throw (dom::DOMException)
 {
 }
 
@@ -253,7 +253,7 @@ DOMString SMILMediaElementImpl::getAbstractAttr()
 /**
  *
  */
-void SMILMediaElementImpl::setAbstractAttr(const DOMString &val)
+void SMILMediaElementImpl::setAbstractAttr(const DOMString &/*val*/)
                                    throw (dom::DOMException)
 {
 }
@@ -269,7 +269,7 @@ DOMString SMILMediaElementImpl::getAlt()
 /**
  *
  */
-void SMILMediaElementImpl::setAlt(const DOMString &val)
+void SMILMediaElementImpl::setAlt(const DOMString &/*val*/)
                                    throw (dom::DOMException)
 {
 }
@@ -285,7 +285,7 @@ DOMString SMILMediaElementImpl::getAuthor()
 /**
  *
  */
-void SMILMediaElementImpl::setAuthor(const DOMString &val)
+void SMILMediaElementImpl::setAuthor(const DOMString &/*val*/)
                                   throw (dom::DOMException)
 {
 }
@@ -301,7 +301,7 @@ DOMString SMILMediaElementImpl::getClipBegin()
 /**
  *
  */
-void SMILMediaElementImpl::setClipBegin(const DOMString &val)
+void SMILMediaElementImpl::setClipBegin(const DOMString &/*val*/)
                                  throw (dom::DOMException)
 {
 }
@@ -317,7 +317,7 @@ DOMString SMILMediaElementImpl::getClipEnd()
 /**
  *
  */
-void SMILMediaElementImpl::setClipEnd(const DOMString &val)
+void SMILMediaElementImpl::setClipEnd(const DOMString &/*val*/)
                                throw (dom::DOMException)
 {
 }
@@ -333,7 +333,7 @@ DOMString SMILMediaElementImpl::getCopyright()
 /**
  *
  */
-void SMILMediaElementImpl::setCopyright(const DOMString &val)
+void SMILMediaElementImpl::setCopyright(const DOMString &/*val*/)
                                   throw (dom::DOMException)
 {
 }
@@ -349,7 +349,7 @@ DOMString SMILMediaElementImpl::getLongdesc()
 /**
  *
  */
-void SMILMediaElementImpl::setLongdesc(const DOMString &val)
+void SMILMediaElementImpl::setLongdesc(const DOMString &/*val*/)
                                throw (dom::DOMException)
 {
 }
@@ -365,7 +365,7 @@ DOMString SMILMediaElementImpl::getPort()
 /**
  *
  */
-void SMILMediaElementImpl::setPort(const DOMString &val)
+void SMILMediaElementImpl::setPort(const DOMString &/*val*/)
                                  throw (dom::DOMException)
 {
 }
@@ -381,7 +381,7 @@ DOMString SMILMediaElementImpl::getReadIndex()
 /**
  *
  */
-void SMILMediaElementImpl::setReadIndex(const DOMString &val)
+void SMILMediaElementImpl::setReadIndex(const DOMString &/*val*/)
                                 throw (dom::DOMException)
 {
 }
@@ -397,7 +397,7 @@ DOMString SMILMediaElementImpl::getRtpformat()
 /**
  *
  */
-void SMILMediaElementImpl::setRtpformat(const DOMString &val)
+void SMILMediaElementImpl::setRtpformat(const DOMString &/*val*/)
                               throw (dom::DOMException)
 {
 }
@@ -413,7 +413,7 @@ DOMString SMILMediaElementImpl::getSrc()
 /**
  *
  */
-void SMILMediaElementImpl::setSrc(const DOMString &val)
+void SMILMediaElementImpl::setSrc(const DOMString &/*val*/)
                                  throw (dom::DOMException)
 {
 }
@@ -429,7 +429,7 @@ DOMString SMILMediaElementImpl::getStripRepeat()
 /**
  *
  */
-void SMILMediaElementImpl::setStripRepeat(const DOMString &val)
+void SMILMediaElementImpl::setStripRepeat(const DOMString &/*val*/)
                                  throw (dom::DOMException)
 {
 }
@@ -445,7 +445,7 @@ DOMString SMILMediaElementImpl::getTitle()
 /**
  *
  */
-void SMILMediaElementImpl::setTitle(const DOMString &val)
+void SMILMediaElementImpl::setTitle(const DOMString &/*val*/)
                                 throw (dom::DOMException)
 {
 }
@@ -461,7 +461,7 @@ DOMString SMILMediaElementImpl::getTransport()
 /**
  *
  */
-void SMILMediaElementImpl::setTransport(const DOMString &val)
+void SMILMediaElementImpl::setTransport(const DOMString &/*val*/)
                                  throw (dom::DOMException)
 {
 }
@@ -477,7 +477,7 @@ DOMString SMILMediaElementImpl::getType()
 /**
  *
  */
-void SMILMediaElementImpl::setType(const DOMString &val)
+void SMILMediaElementImpl::setType(const DOMString &/*val*/)
                                       throw (dom::DOMException)
 {
 }
@@ -534,7 +534,7 @@ unsigned short SMILAnimationImpl::getAdditive()
 /**
  *
  */
-void SMILAnimationImpl::setAdditive(unsigned short val)
+void SMILAnimationImpl::setAdditive(unsigned short /*val*/)
                                  throw (dom::DOMException)
 {
 }
@@ -550,7 +550,7 @@ unsigned short SMILAnimationImpl::getAccumulate()
 /**
  *
  */
-void SMILAnimationImpl::setAccumulate(unsigned short val)
+void SMILAnimationImpl::setAccumulate(unsigned short /*val*/)
                                 throw (dom::DOMException)
 {
 }
@@ -566,7 +566,7 @@ unsigned short SMILAnimationImpl::getCalcMode()
 /**
  *
  */
-void SMILAnimationImpl::setCalcMode(unsigned short val)
+void SMILAnimationImpl::setCalcMode(unsigned short /*val*/)
                                   throw (dom::DOMException)
 {
 }
@@ -582,7 +582,7 @@ DOMString SMILAnimationImpl::getKeySplines()
 /**
  *
  */
-void SMILAnimationImpl::setKeySplines(const DOMString &val)
+void SMILAnimationImpl::setKeySplines(const DOMString &/*val*/)
                                 throw (dom::DOMException)
 {
 }
@@ -615,7 +615,7 @@ DOMString SMILAnimationImpl::getValues()
 /**
  *
  */
-void SMILAnimationImpl::setValues(const DOMString &val)
+void SMILAnimationImpl::setValues(const DOMString &/*val*/)
                                throw (dom::DOMException)
 {
 }
@@ -631,7 +631,7 @@ DOMString SMILAnimationImpl::getFrom()
 /**
  *
  */
-void SMILAnimationImpl::setFrom(const DOMString &val)
+void SMILAnimationImpl::setFrom(const DOMString &/*val*/)
                                throw (dom::DOMException)
 {
 }
@@ -647,7 +647,7 @@ DOMString SMILAnimationImpl::getTo()
 /**
  *
  */
-void SMILAnimationImpl::setTo(const DOMString &val)
+void SMILAnimationImpl::setTo(const DOMString &/*val*/)
                               throw (dom::DOMException)
 {
 }
@@ -663,7 +663,7 @@ DOMString SMILAnimationImpl::getBy()
 /**
  *
  */
-void SMILAnimationImpl::setBy(const DOMString &val)
+void SMILAnimationImpl::setBy(const DOMString &/*val*/)
                                   throw (dom::DOMException)
 {
 }
@@ -716,7 +716,7 @@ DOMString SMILSetElementImpl::getTo()
 /**
  *
  */
-void SMILSetElementImpl::setTo(const DOMString &val)
+void SMILSetElementImpl::setTo(const DOMString &/*val*/)
 {
 }
 
@@ -749,7 +749,7 @@ DOMString SMILAnimateMotionElementImpl::getPath()
 /**
  *
  */
-void SMILAnimateMotionElementImpl::setPath(const DOMString &val)
+void SMILAnimateMotionElementImpl::setPath(const DOMString &/*val*/)
                                       throw(dom::DOMException)
 {
 }
@@ -765,7 +765,7 @@ DOMString SMILAnimateMotionElementImpl::getOrigin()
 /**
  *
  */
-void SMILAnimateMotionElementImpl::setOrigin(const DOMString &val)
+void SMILAnimateMotionElementImpl::setOrigin(const DOMString &/*val*/)
                                          throw(dom::DOMException)
 {
 }
@@ -815,9 +815,10 @@ SMILAnimateColorElementImpl::~SMILAnimateColorElementImpl()
 /**
  *
  */
-Element *SMILSwitchElementImpl::getSelectedElement()
+ElementPtr SMILSwitchElementImpl::getSelectedElement()
 {
-    return NULL;
+   ElementPtr ptr;
+    return ptr;
 }
 
 //##################
index 7c1a014dc6901aaa66a958d8eccea56e2a60216b..cb06eb5f58b3ab5cbaa07b716f049d387895b31a 100644 (file)
@@ -734,7 +734,7 @@ public:
     /**
      *
      */
-    virtual Element *getSelectedElement();
+    virtual ElementPtr getSelectedElement();
 
     //##################
     //# Non-API methods
index 5c2e78f1b9494343383bc7361935a6175bb74cbe..2ea09be3caeb49cdbda350302592a6e690bf7d49 100644 (file)
@@ -13,7 +13,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2006 Bob Jamison
+ * Copyright (C) 2006-2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public