diff options
| author | MenTaLguY <mental@rydia.net> | 2006-01-16 02:36:01 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2006-01-16 02:36:01 +0000 |
| commit | 179fa413b047bede6e32109e2ce82437c5fb8d34 (patch) | |
| tree | a5a6ac2c1708bd02288fbd8edb2ff500ff2e0916 /src/dom/smil.h | |
| download | inkscape-179fa413b047bede6e32109e2ce82437c5fb8d34.tar.gz inkscape-179fa413b047bede6e32109e2ce82437c5fb8d34.zip | |
moving trunk for module inkscape
(bzr r1)
Diffstat (limited to 'src/dom/smil.h')
| -rwxr-xr-x | src/dom/smil.h | 2167 |
1 files changed, 2167 insertions, 0 deletions
diff --git a/src/dom/smil.h b/src/dom/smil.h new file mode 100755 index 000000000..0be0afe54 --- /dev/null +++ b/src/dom/smil.h @@ -0,0 +1,2167 @@ +#ifndef __SMIL_H__ +#define __SMIL_H__ +/** + * Phoebe DOM Implementation. + * + * This is a C++ approximation of the W3C DOM model, which follows + * fairly closely the specifications in the various .idl files, copies of + * which are provided for reference. Most important is this one: + * + * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html + * + * Authors: + * Bob Jamison + * + * Copyright (C) 2005 Bob Jamison + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * 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 + */ + + +#include "dom.h" +#include "views.h" +#include "events.h" + +#include <vector> + +namespace org +{ +namespace w3c +{ +namespace dom +{ +namespace smil +{ + + + + +//Local definitions +typedef dom::DOMString DOMString; +typedef dom::Element Element; +typedef dom::NodeList NodeList; +typedef dom::Document Document; + +//forward declarations +class ElementExclusiveTimeContainer; +class ElementLayout; +class ElementParallelTimeContainer; +class ElementSequentialTimeContainer; +class ElementSyncBehavior; +class ElementTargetAttributes; +class ElementTest; +class ElementTime; +class ElementTimeContainer; +class ElementTimeControl; +class ElementTimeManipulation; +class SMILAnimateColorElement; +class SMILAnimateElement; +class SMILAnimateMotionElement; +class SMILAnimation; +class SMILDocument; +class SMILElement; +class SMILLayoutElement; +class SMILMediaElement; +class SMILRefElement; +class SMILRegionElement; +class SMILRegionInterface; +class SMILRootLayoutElement; +class SMILSetElement; +class SMILSwitchElement; +class SMILTopLayoutElement; +class Time; +class TimeEvent; +class TimeList; + + + +/*######################################################################### +########################################################################### +## D A T A T Y P E S +########################################################################### +#########################################################################*/ + + + +/*######################################################################### +## ElementLayout +#########################################################################*/ + +/** + * + */ +class ElementLayout +{ +public: + + + /** + * + */ + virtual DOMString getTitle() + { return title; } + + /** + * + */ + virtual void setTitle(const DOMString &val) throw(dom::DOMException) + { title = val; } + + /** + * + */ + virtual DOMString getBackgroundColor() + { return backgroundColor; } + + /** + * + */ + virtual void setBackgroundColor(const DOMString &val) throw(dom::DOMException) + { backgroundColor = val; } + + /** + * + */ + virtual long getHeight() + { return height; } + + /** + * + */ + virtual void setHeight(long val) throw(dom::DOMException) + { height = val; } + + /** + * + */ + virtual long getWidth() + { return width; } + + /** + * + */ + virtual void setWidth(long val) throw(dom::DOMException) + { width = val; } + + + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementLayout() {} + + /** + * + */ + ElementLayout(const ElementLayout &other) + { + title = other.title; + backgroundColor = other.backgroundColor; + height = other.height; + width = other.width; + } + + /** + * + */ + virtual ~ElementLayout() {} + +protected: + + DOMString title; + DOMString backgroundColor; + long height; + long width; + +}; + + +/*######################################################################### +## SMILRegionInterface +#########################################################################*/ + +/** + * + */ +class SMILRegionInterface +{ +public: + + /** + * + */ + virtual SMILRegionElement *getRegion() + { return regionElement; } + /** + * + */ + virtual void setRegion(const SMILRegionElement *val) + { regionElement = (SMILRegionElement *)val; } + + //################## + //# Non-API methods + //################## + + /** + * + */ + SMILRegionInterface() + { regionElement = NULL; } + + /** + * + */ + SMILRegionInterface(const SMILRegionInterface &other) + { regionElement = other.regionElement; } + + /** + * + */ + virtual ~SMILRegionInterface() {} + +protected: + + SMILRegionElement *regionElement; + +}; + + +/*######################################################################### +## Time +#########################################################################*/ + +/** + * + */ +class Time +{ +public: + + + /** + * + */ + virtual bool getResolved() + { return resolved; } + + /** + * + */ + virtual double getResolvedOffset() + { return resolvedOffset; } + + typedef enum + { + SMIL_TIME_INDEFINITE = 0, + SMIL_TIME_OFFSET = 1, + SMIL_TIME_SYNC_BASED = 2, + SMIL_TIME_EVENT_BASED = 3, + SMIL_TIME_WALLCLOCK = 4, + SMIL_TIME_MEDIA_MARKER = 5 + } TimeTypes; + + + + /** + * + */ + virtual unsigned short getTimeType() + { return timeType; } + + + /** + * + */ + virtual double getOffset() + { return offset; } + + /** + * + */ + virtual void setOffset(double val) throw (dom::DOMException) + { offset = val; } + + /** + * + */ + virtual Element *getBaseElement() + { return baseElement; } + + /** + * + */ + virtual void setBaseElement(const Element *val) throw (dom::DOMException) + { baseElement = (Element *)val; } + + /** + * + */ + virtual bool getBaseBegin() + { return baseBegin; } + + /** + * + */ + virtual void setBaseBegin(bool val) throw (dom::DOMException) + { baseBegin = val; } + + /** + * + */ + virtual DOMString getEvent() + { return eventStr; } + + /** + * + */ + virtual void setEvent(const DOMString &val) throw (dom::DOMException) + { eventStr = val; } + + /** + * + */ + virtual DOMString getMarker() + { return marker; } + + /** + * + */ + virtual void setMarker(const DOMString &val) throw (dom::DOMException) + { marker = val; } + + + + //################## + //# Non-API methods + //################## + + /** + * + */ + Time() + { + resolved = false; + resolvedOffset = 0.0; + timeType = SMIL_TIME_INDEFINITE; + offset = 0.0; + baseElement = NULL; + baseBegin = false; + eventStr = ""; + marker = ""; + } + + /** + * + */ + Time(const Time &other) + { + resolved = other.resolved; + resolvedOffset = other.resolvedOffset; + timeType = other.timeType; + offset = other.offset; + baseElement = other.baseElement; + baseBegin = other.baseBegin; + eventStr = other.eventStr; + marker = other.marker; + } + + /** + * + */ + virtual ~Time() {} + +protected: + + bool resolved; + double resolvedOffset; + unsigned short timeType; + double offset; + Element * baseElement; + bool baseBegin; + DOMString eventStr; + DOMString marker; + +}; + + +/*######################################################################### +## TimeList +#########################################################################*/ + +/** + * + */ +class TimeList +{ +public: + + + /** + * + */ + virtual Time item(unsigned long index) + { + if (index >=items.size()) + { + Time tim; + return tim; + } + return items[index]; + } + + /** + * + */ + virtual unsigned long getLength() + { + return items.size(); + } + + //################## + //# Non-API methods + //################## + + /** + * + */ + TimeList() {} + + /** + * + */ + TimeList(const TimeList &other) + { + items = other.items; + } + + /** + * + */ + virtual ~TimeList() {} + +protected: + + std::vector<Time>items; + + +}; + + +/*######################################################################### +## ElementTime +#########################################################################*/ + +/** + * + */ +class ElementTime +{ +public: + + + /** + * + */ + virtual TimeList getBegin() + { return beginTime; } + + /** + * + */ + virtual void setBegin(const TimeList &val) throw(dom::DOMException) + { beginTime = val; } + /** + * + */ + virtual TimeList getEnd() + { return endTime; } + + /** + * + */ + virtual void setEnd(const TimeList &val) throw(dom::DOMException) + { endTime = val; } + + /** + * + */ + virtual double getDur() + { return dur; } + + /** + * + */ + virtual void setDur(double val) throw(dom::DOMException) + { dur = val; } + + typedef enum + { + RESTART_ALWAYS = 0, + RESTART_NEVER = 1, + RESTART_WHEN_NOT_ACTIVE = 2 + } RestartTypes; + + /** + * + */ + virtual unsigned short getRestart() + { return restart; } + + /** + * + */ + virtual void setRestart(unsigned short val) throw (dom::DOMException) + { restart = val; } + + + // fillTypes + typedef enum + { + FILL_REMOVE = 0, + FILL_FREEZE = 1 + } FillTypes; + + + /** + * + */ + virtual unsigned short getFill() + { return fill; } + + /** + * + */ + virtual void setFill(unsigned short val) throw (dom::DOMException) + { fill = val; } + + /** + * + */ + virtual double getRepeatCount() + { return repeatCount; } + + /** + * + */ + virtual void setRepeatCount(double val) throw (dom::DOMException) + { repeatCount = val; } + + /** + * + */ + virtual double getRepeatDur() + { return repeatDur; } + + /** + * + */ + virtual void setRepeatDur(double val) throw (dom::DOMException) + { repeatDur = val; } + + /** + * + */ + virtual bool beginElement() + { + return true; + } + + /** + * + */ + virtual bool endElement() + { + return true; + } + + /** + * + */ + virtual void pauseElement() + { + } + + /** + * + */ + virtual void resumeElement() + { + } + + /** + * + */ + virtual void seekElement(double &seekTo) + { + } + + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementTime() + { + dur = 0.0; + restart = RESTART_ALWAYS; + fill = FILL_REMOVE; + repeatCount = 0.0; + repeatDur = 0.0; + } + + /** + * + */ + ElementTime(const ElementTime &other) + { + beginTime = other.beginTime; + endTime = other.endTime; + dur = other.dur; + restart = other.restart; + fill = other.fill; + repeatCount = other.repeatCount; + repeatDur = other.repeatDur; + } + + /** + * + */ + virtual ~ElementTime() {} + + +protected: + + TimeList beginTime; + TimeList endTime; + double dur; + unsigned short restart; + unsigned short fill; + double repeatCount; + double repeatDur; + + +}; + + +/*######################################################################### +## ElementTimeManipulation +#########################################################################*/ + +/** + * + */ +class ElementTimeManipulation +{ +public: + + /** + * + */ + virtual double getSpeed() + { return speed; } + /** + * + */ + virtual void setSpeed(double val) throw (dom::DOMException) + { speed = val; } + /** + * + */ + virtual double getAccelerate() + { return accelerate; } + + /** + * + */ + virtual void setAccelerate(double val) throw (dom::DOMException) + { accelerate = val; } + + /** + * + */ + virtual double getDecelerate() + { return decelerate; } + + /** + * + */ + virtual void setDecelerate(double val) throw (dom::DOMException) + { decelerate = val; } + + /** + * + */ + virtual bool getAutoReverse() + { return autoReverse; } + + /** + * + */ + virtual void setAutoReverse(bool val) throw (dom::DOMException) + { autoReverse = val; } + + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementTimeManipulation() + { + speed = 0.0; + accelerate = 0.0; + decelerate = 0.0; + autoReverse = false; + } + + /** + * + */ + ElementTimeManipulation(const ElementTimeManipulation &other) + { + speed = other.speed; + accelerate = other.accelerate; + decelerate = other.decelerate; + autoReverse = other.autoReverse; + } + + /** + * + */ + virtual ~ElementTimeManipulation() {} + + +protected: + + double speed; + double accelerate; + double decelerate; + bool autoReverse; + +}; + + +/*######################################################################### +## ElementTimeContainer +#########################################################################*/ + +/** + * + */ +class ElementTimeContainer : public ElementTime +{ +public: + + + /** + * + */ + virtual NodeList getTimeChildren() + { + NodeList list; + return list; + } + + /** + * + */ + virtual NodeList getActiveChildrenAt(double instant) + { + NodeList list; + return list; + } + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementTimeContainer() {} + + /** + * + */ + ElementTimeContainer(const ElementTimeContainer &other) : ElementTime(other) + { + } + + /** + * + */ + virtual ~ElementTimeContainer() {} + +protected: + + +}; + + +/*######################################################################### +## ElementSyncBehavior +#########################################################################*/ + +/** + * + */ +class ElementSyncBehavior +{ +public: + + /** + * + */ + virtual DOMString getSyncBehavior() + { return syncBehavior; } + + /** + * + */ + virtual double getSyncTolerance() + { return syncTolerance; } + + /** + * + */ + virtual DOMString getDefaultSyncBehavior() + { return defaultSyncBehavior; } + + /** + * + */ + virtual double getDefaultSyncTolerance() + { return defaultSyncTolerance; } + + /** + * + */ + virtual bool getSyncMaster() + { return syncMaster; } + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementSyncBehavior() + { + syncBehavior = ""; + syncTolerance = 0.0; + defaultSyncBehavior = ""; + defaultSyncTolerance = 0.0; + syncMaster = false; + } + + /** + * + */ + ElementSyncBehavior(const ElementSyncBehavior &other) + { + syncBehavior = other.syncBehavior; + syncTolerance = other.syncTolerance; + defaultSyncBehavior = other.defaultSyncBehavior; + defaultSyncTolerance = other.defaultSyncTolerance; + syncMaster = other.syncMaster; + } + + /** + * + */ + virtual ~ElementSyncBehavior() {} + +protected: + + DOMString syncBehavior; + double syncTolerance; + DOMString defaultSyncBehavior; + double defaultSyncTolerance; + bool syncMaster; + +}; + + +/*######################################################################### +## ElementParallelTimeContainer +#########################################################################*/ + +/** + * + */ +class ElementParallelTimeContainer : public ElementTimeContainer +{ +public: + + /** + * + */ + virtual DOMString getEndSync() + { return endSync; } + + /** + * + */ + virtual void setEndSync(const DOMString &val) throw (dom::DOMException) + { endSync = val; } + + /** + * + */ + virtual double getImplicitDuration() + { return implicitDuration; } + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementParallelTimeContainer() + { + endSync = ""; + implicitDuration = 0.0; + } + + /** + * + */ + ElementParallelTimeContainer(const ElementParallelTimeContainer &other) + : ElementTimeContainer(other) + { + endSync = other.endSync; + implicitDuration = other.implicitDuration; + } + + /** + * + */ + virtual ~ElementParallelTimeContainer() {} + +protected: + + DOMString endSync; + double implicitDuration; + +}; + + +/*######################################################################### +## ElementSequentialTimeContainer +#########################################################################*/ + +/** + * + */ +class ElementSequentialTimeContainer : public ElementTimeContainer +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementSequentialTimeContainer() {} + + /** + * + */ + ElementSequentialTimeContainer(const ElementSequentialTimeContainer &other) + : ElementTimeContainer(other) + { + } + + /** + * + */ + virtual ~ElementSequentialTimeContainer() {} + + +}; + + +/*######################################################################### +## ElementExclusiveTimeContainer +#########################################################################*/ + +/** + * + */ +class ElementExclusiveTimeContainer : public ElementTimeContainer +{ +public: + + /** + * + */ + virtual DOMString getEndSync() + { return endSync; } + + /** + * + */ + virtual void setEndSync(const DOMString &val) throw (dom::DOMException) + { endSync = val; } + + /** + * + */ + virtual NodeList getPausedElements() + { return pausedElements; } + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementExclusiveTimeContainer() {} + + /** + * + */ + ElementExclusiveTimeContainer(const ElementExclusiveTimeContainer &other) + : ElementTimeContainer(other) + { + endSync = other.endSync; + pausedElements = other.pausedElements; + } + + /** + * + */ + virtual ~ElementExclusiveTimeContainer() {} + +protected: + + DOMString endSync; + NodeList pausedElements; + + +}; + + +/*######################################################################### +## ElementTimeControl +#########################################################################*/ + +/** + * + */ +class ElementTimeControl +{ +public: + + /** + * + */ + virtual bool beginElement() throw(dom::DOMException) + { + return true; + } + + /** + * + */ + virtual bool beginElementAt(double offset) throw(dom::DOMException) + { + return true; + } + + /** + * + */ + virtual bool endElement() throw(dom::DOMException) + { + return true; + } + + /** + * + */ + virtual bool endElementAt(double offset) throw(dom::DOMException) + { + return true; + } + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementTimeControl() {} + + /** + * + */ + ElementTimeControl(const ElementTimeControl &other) + { + } + + /** + * + */ + virtual ~ElementTimeControl() {} + + +}; + + +/*######################################################################### +## ElementTargetAttributes +#########################################################################*/ + +/** + * + */ +class ElementTargetAttributes +{ +public: + + + /** + * + */ + virtual DOMString getAttributeName() + { return attributeName; } + + /** + * + */ + virtual void setAttributeName(const DOMString &val) + { attributeName = val; } + + typedef enum + { + ATTRIBUTE_TYPE_AUTO = 0, + ATTRIBUTE_TYPE_CSS = 1, + ATTRIBUTE_TYPE_XML = 2 + } AttributeTypes; + + /** + * + */ + virtual unsigned short getAttributeType() + { return attributeType; } + + /** + * + */ + virtual void setAttributeType(unsigned short val) + { attributeType = val; } + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementTargetAttributes() + { + attributeName = ""; + attributeType = ATTRIBUTE_TYPE_AUTO; + } + + /** + * + */ + ElementTargetAttributes(const ElementTargetAttributes &other) + { + attributeName = other.attributeName; + attributeType = other.attributeType; + } + + /** + * + */ + virtual ~ElementTargetAttributes() {} + +protected: + + DOMString attributeName; + unsigned short attributeType; + +}; + + +/*######################################################################### +## ElementTest +#########################################################################*/ + +/** + * + */ +class ElementTest +{ +public: + + + /** + * + */ + virtual long getSystemBitrate() + { return systemBitrate; } + + /** + * + */ + virtual void setSystemBitrate(long val) throw (dom::DOMException) + { systemBitrate = val; } + + /** + * + */ + virtual bool getSystemCaptions() + { return systemCaptions; } + + /** + * + */ + virtual void setSystemCaptions(bool val) throw (dom::DOMException) + { systemCaptions = val; } + + /** + * + */ + virtual DOMString getSystemLanguage() + { return systemLanguage; } + + /** + * + */ + virtual void setSystemLanguage(const DOMString &val) throw (dom::DOMException) + { systemLanguage = val; } + + /** + * + */ + virtual bool getSystemRequired() + { return systemRequired; } + + /** + * + */ + virtual bool getSystemScreenSize() + { return systemScreenSize; } + + /** + * + */ + virtual bool getSystemScreenDepth() + { return systemScreenDepth; } + + /** + * + */ + virtual DOMString getSystemOverdubOrSubtitle() + { return systemOverdubOrSubtitle; } + + /** + * + */ + virtual void setSystemOverdubOrSubtitle(const DOMString &val) throw (dom::DOMException) + { systemOverdubOrSubtitle = val; } + + /** + * + */ + virtual bool getSystemAudioDesc() + { return systemBitrate; } + + /** + * + */ + virtual void setSystemAudioDesc(bool val) throw (dom::DOMException) + { systemAudioDesc = val; } + + + //################## + //# Non-API methods + //################## + + /** + * + */ + ElementTest() + { + systemBitrate = 0; + systemCaptions = false; + systemLanguage = ""; + systemRequired = false; + systemScreenSize = false; + systemScreenDepth = false; + systemOverdubOrSubtitle = ""; + systemAudioDesc = false; + } + + /** + * + */ + ElementTest(const ElementTest &other) + { + systemBitrate = other.systemBitrate; + systemCaptions = other.systemCaptions; + systemLanguage = other.systemLanguage; + systemRequired = other.systemRequired; + systemScreenSize = other.systemScreenSize; + systemScreenDepth = other.systemScreenDepth; + systemOverdubOrSubtitle = other.systemOverdubOrSubtitle; + systemAudioDesc = other.systemAudioDesc; + } + + /** + * + */ + virtual ~ElementTest() {} + + +protected: + + + long systemBitrate; + bool systemCaptions; + DOMString systemLanguage; + bool systemRequired; + bool systemScreenSize; + bool systemScreenDepth; + DOMString systemOverdubOrSubtitle; + bool systemAudioDesc; +}; + + +/*######################################################################### +## TimeEvent +#########################################################################*/ + +/** + * + */ +class TimeEvent : public events::Event +{ +public: + + /** + * + */ + virtual views::View getView() + { return view; } + + /** + * + */ + virtual long getDetail() + { return detail; } + + /** + * + */ + virtual void initTimeEvent(const DOMString &typeArg, + const views::View *viewArg, + long detailArg) + { + } + + //################## + //# Non-API methods + //################## + + /** + * + */ + TimeEvent() + { + detail = 0; + } + + /** + * + */ + TimeEvent(const TimeEvent &other) : events::Event(other) + { + view = other.view; + detail = other.detail; + } + + /** + * + */ + virtual ~TimeEvent() {} + + +protected: + + views::View view; + long detail; + + +}; + + + + +/*######################################################################### +########################################################################### +## I N T E R F A C E T Y P E S +########################################################################### +#########################################################################*/ + + + + +/*######################################################################### +## SMILDocument +#########################################################################*/ + +/** + * + */ +class SMILDocument : virtual public Document, + public ElementSequentialTimeContainer +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILDocument() {} + + +}; + + +/*######################################################################### +## SMILElement +#########################################################################*/ + +/** + * + */ +class SMILElement : virtual public Element +{ +public: + + /** + * + */ + virtual DOMString getId() =0; + + /** + * + */ + virtual void setId(const DOMString &val) throw (dom::DOMException) =0; + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILElement() {} + + +}; + + +/*######################################################################### +## SMILLayoutElement +#########################################################################*/ + +/** + * + */ +class SMILLayoutElement : virtual public SMILElement +{ +public: + + /** + * + */ + virtual DOMString getType() =0; + + /** + * + */ + virtual bool getResolved() =0; + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILLayoutElement() {} + + +}; + + +/*######################################################################### +## SMILTopLayoutElement +#########################################################################*/ + +/** + * + */ +class SMILTopLayoutElement : virtual public SMILElement, + virtual public ElementLayout +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILTopLayoutElement() {} + + +}; + + +/*######################################################################### +## SMILRootLayoutElement +#########################################################################*/ + +/** + * + */ +class SMILRootLayoutElement : virtual public SMILElement, + virtual public ElementLayout +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILRootLayoutElement() {} + + +}; + + +/*######################################################################### +## SMILRegionElement +#########################################################################*/ + +/** + * + */ +class SMILRegionElement : virtual public SMILElement, + virtual public ElementLayout +{ +public: + + + /** + * + */ + virtual DOMString getFit() =0; + + /** + * + */ + virtual void setFit(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getTop() =0; + + /** + * + */ + virtual void setTop(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual long getZIndex() =0; + + /** + * + */ + virtual void setZIndex(long val) throw (dom::DOMException) =0; + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILRegionElement() {} + + +}; + + + +/*######################################################################### +## SMILMediaElement +#########################################################################*/ + +/** + * + */ +class SMILMediaElement : virtual public ElementTime, + virtual public SMILElement +{ +public: + + + /** + * + */ + virtual DOMString getAbstractAttr() =0; + + /** + * + */ + virtual void setAbstractAttr(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getAlt() =0; + + /** + * + */ + virtual void setAlt(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getAuthor() =0; + + /** + * + */ + virtual void setAuthor(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getClipBegin() =0; + + /** + * + */ + virtual void setClipBegin(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getClipEnd() =0; + + /** + * + */ + virtual void setClipEnd(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getCopyright() =0; + + /** + * + */ + virtual void setCopyright(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getLongdesc() =0; + + /** + * + */ + virtual void setLongdesc(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getPort() =0; + + /** + * + */ + virtual void setPort(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getReadIndex() =0; + + /** + * + */ + virtual void setReadIndex(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getRtpformat() =0; + + /** + * + */ + virtual void setRtpformat(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getSrc() =0; + + /** + * + */ + virtual void setSrc(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getStripRepeat() =0; + + /** + * + */ + virtual void setStripRepeat(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getTitle() =0; + + /** + * + */ + virtual void setTitle(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getTransport() =0; + + /** + * + */ + virtual void setTransport(const DOMString &val) throw (dom::DOMException) =0; + + /** + * + */ + virtual DOMString getType() =0; + + /** + * + */ + virtual void setType(const DOMString &val) throw (dom::DOMException) =0; + + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILMediaElement() {} + + +}; + + +/*######################################################################### +## SMILRefElement +#########################################################################*/ + +/** + * + */ +class SMILRefElement : virtual public SMILMediaElement +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILRefElement() {} + + +}; + + +/*######################################################################### +## SMILAnimation +#########################################################################*/ + +/** + * + */ +class SMILAnimation : virtual public SMILElement, + virtual public ElementTargetAttributes, + virtual public ElementTime, + virtual public ElementTimeControl +{ +public: + + typedef enum + { + ADDITIVE_REPLACE = 0, + ADDITIVE_SUM = 1 + } AdditiveTypes; + + + /** + * + */ + virtual unsigned short getAdditive() =0; + + /** + * + */ + virtual void setAdditive(unsigned short val) throw (dom::DOMException)=0; + + typedef enum + { + ACCUMULATE_NONE = 0, + ACCUMULATE_SUM = 1 + } AccumulateTypes; + + + /** + * + */ + virtual unsigned short getAccumulate() =0; + + /** + * + */ + virtual void setAccumulate(unsigned short val) throw (dom::DOMException)=0; + + typedef enum + { + CALCMODE_DISCRETE = 0, + CALCMODE_LINEAR = 1, + CALCMODE_PACED = 2, + CALCMODE_SPLINE = 3 + } CalcModeTypes; + + + /** + * + */ + virtual unsigned short getCalcMode() =0; + + /** + * + */ + virtual void setCalcMode(unsigned short val) throw (dom::DOMException)=0; + + /** + * + */ + virtual DOMString getKeySplines() =0; + + /** + * + */ + virtual void setKeySplines(const DOMString &val) throw (dom::DOMException)=0; + + /** + * + */ + virtual TimeList getKeyTimes() =0; + + /** + * + */ + virtual void setKeyTimes(const TimeList &val) throw (dom::DOMException)=0; + + /** + * + */ + virtual DOMString getValues() =0; + + /** + * + */ + virtual void setValues(const DOMString &val) throw (dom::DOMException)=0; + + /** + * + */ + virtual DOMString getFrom() =0; + + /** + * + */ + virtual void setFrom(const DOMString &val) throw (dom::DOMException)=0; + + /** + * + */ + virtual DOMString getTo() =0; + + /** + * + */ + virtual void setTo(const DOMString &val) throw (dom::DOMException)=0; + + /** + * + */ + virtual DOMString getBy() =0; + + /** + * + */ + virtual void setBy(const DOMString &val) throw (dom::DOMException)=0; + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILAnimation() {} + + +}; + + +/*######################################################################### +## SMILAnimateElement +#########################################################################*/ + +/** + * + */ +class SMILAnimateElement : virtual public SMILAnimation +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILAnimateElement() {} + + +}; + + +/*######################################################################### +## SMILSetElement +#########################################################################*/ + +/** + * + */ +class SMILSetElement : virtual public ElementTimeControl, + virtual public ElementTime, + virtual public ElementTargetAttributes, + virtual public SMILElement +{ +public: + + /** + * + */ + virtual DOMString getTo() =0; + + /** + * + */ + virtual void setTo(const DOMString &val) =0; + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILSetElement() {} + + +}; + + +/*######################################################################### +## SMILAnimateMotionElement +#########################################################################*/ + +/** + * + */ +class SMILAnimateMotionElement : virtual public SMILAnimateElement +{ +public: + + /** + * + */ + virtual DOMString getPath() =0; + + /** + * + */ + virtual void setPath(const DOMString &val) throw(dom::DOMException) =0; + + /** + * + */ + virtual DOMString getOrigin() =0; + + /** + * + */ + virtual void setOrigin(const DOMString &val) throw(dom::DOMException) =0; + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILAnimateMotionElement() {} + + +}; + + +/*######################################################################### +## SMILAnimateColorElement +#########################################################################*/ + +/** + * + */ +class SMILAnimateColorElement : virtual public SMILAnimation +{ +public: + + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILAnimateColorElement() {} + + +}; + + + + + +/*######################################################################### +## SMILSwitchElement +#########################################################################*/ + +/** + * + */ +class SMILSwitchElement : virtual public SMILElement +{ +public: + + /** + * + */ + virtual Element *getSelectedElement() =0; + + //################## + //# Non-API methods + //################## + + /** + * + */ + virtual ~SMILSwitchElement() {} + + +}; + + + + + +} //namespace smil +} //namespace dom +} //namespace w3c +} //namespace org + +#endif /* __SMIL_H__ */ + +/*######################################################################### +## E N D O F F I L E +#########################################################################*/ + |
