This appendix contains the complete OMG IDL for the SYMM Object Model definitions. The definitions are divided into SYMM.
The IDL files are also available as: http://www.w3.org/TR/1999/WD-smil-boston-dom-19991115/idl.zip
// File: smil.idl #ifndef _SMIL_IDL_ #define _SMIL_IDL_ #include "dom.idl" #pragma prefix "dom.w3c.org" module smil { typedef dom::Element Element; typedef dom::DOMString DOMString; typedef dom::NodeList NodeList; typedef dom::Document Document; interface SMILRegionElement; interface SMILRegionInterface { attribute SMILRegionElement region; }; interface Time { readonly attribute boolean resolved; readonly attribute double resolvedOffset; // TimeTypes const unsigned short SMIL_TIME_INDEFINITE = 0; const unsigned short SMIL_TIME_OFFSET = 1; const unsigned short SMIL_TIME_SYNC_BASED = 2; const unsigned short SMIL_TIME_EVENT_BASED = 3; const unsigned short SMIL_TIME_WALLCLOCK = 4; const unsigned short SMIL_TIME_MEDIA_MARKER = 5; readonly attribute unsigned short timeType; attribute double offset; // raises(dom::DOMException) on setting attribute Element baseElement; // raises(dom::DOMException) on setting attribute boolean baseBegin; // raises(dom::DOMException) on setting attribute DOMString event; // raises(dom::DOMException) on setting attribute DOMString marker; // raises(dom::DOMException) on setting }; interface TimeList { Time item(in unsigned long index); readonly attribute unsigned long length; }; interface ElementTime { attribute TimeList begin; // raises(dom::DOMException) on setting attribute TimeList end; // raises(dom::DOMException) on setting attribute float dur; // raises(dom::DOMException) on setting attribute float repeatCount; // raises(dom::DOMException) on setting attribute long repeatDur; // raises(dom::DOMException) on setting boolean beginElement(); boolean endElement(); void pauseElement(); void resumeElement(); void seekElement(inout DOMString seekTo); }; interface ElementTimeManipulation { attribute float speed; // raises(dom::DOMException) on setting attribute float accelerate; // raises(dom::DOMException) on setting attribute float decelerate; // raises(dom::DOMException) on setting attribute boolean autoReverse; // raises(dom::DOMException) on setting }; interface ElementTimeSynchronization { readonly attribute DOMString syncBehavior; readonly attribute float syncTolerance; readonly attribute DOMString defaultSyncBehavior; readonly attribute float defaultSyncTolerance; readonly attribute boolean syncMaster; }; interface ElementTimeContainer : ElementTime { readonly attribute NodeList timeChildrens; NodeList getActiveChildrenAt(inout DOMString instant); }; interface ElementParallelTimeContainer : ElementTimeContainer { attribute DOMString endSync; // raises(dom::DOMException) on setting }; interface ElementSequentialTimeContainer : ElementTimeContainer { }; interface ElementExclusiveTimeContainer : ElementTimeContainer { attribute DOMString endSync; // raises(dom::DOMException) on setting }; interface ElementTimeControl { boolean beginElement() raises(dom::DOMException); boolean endElement() raises(dom::DOMException); }; interface ElementAnimation : ElementTime, ElementTimeControl { attribute Element targetElement; // raises(dom::DOMException) on setting attribute DOMString href; // raises(dom::DOMException) on setting }; interface ElementTest { attribute DOMString systemBitrate; // raises(dom::DOMException) on setting attribute DOMString systemCaptions; // raises(dom::DOMException) on setting attribute DOMString systemLanguage; // raises(dom::DOMException) on setting attribute DOMString systemOverdubOrCaption; // raises(dom::DOMException) on setting attribute DOMString systemRequired; // raises(dom::DOMException) on setting attribute DOMString systemScreenSize; // raises(dom::DOMException) on setting attribute DOMString systemScreenDepth; // raises(dom::DOMException) on setting }; interface SMILDocument : Document { }; interface SMILElement : Element { attribute DOMString id; // raises(dom::DOMException) on setting }; interface SMILMetaElement : SMILElement { attribute DOMString content; // raises(dom::DOMException) on setting attribute DOMString name; // raises(dom::DOMException) on setting attribute DOMString skipContent; // raises(dom::DOMException) on setting }; interface SMILLayoutElement : SMILElement { attribute DOMString type; // raises(dom::DOMException) on setting }; interface SMILRootLayoutElement : SMILElement { attribute DOMString title; // raises(dom::DOMException) on setting attribute DOMString skipContent; // raises(dom::DOMException) on setting attribute DOMString backgroundColor; // raises(dom::DOMException) on setting attribute long height; // raises(dom::DOMException) on setting attribute long width; // raises(dom::DOMException) on setting }; interface SMILRegionElement : SMILElement { attribute DOMString title; // raises(dom::DOMException) on setting attribute DOMString skipContent; // raises(dom::DOMException) on setting attribute DOMString fit; // raises(dom::DOMException) on setting attribute DOMString backgroundColor; // raises(dom::DOMException) on setting attribute long height; // raises(dom::DOMException) on setting attribute long width; // raises(dom::DOMException) on setting attribute DOMString top; // raises(dom::DOMException) on setting attribute long zIndex; // raises(dom::DOMException) on setting }; interface SMILMediaElement : ElementTime, SMILElement { attribute DOMString abstractAttr; // raises(dom::DOMException) on setting attribute DOMString alt; // raises(dom::DOMException) on setting attribute DOMString author; // raises(dom::DOMException) on setting attribute DOMString clipBegin; // raises(dom::DOMException) on setting attribute DOMString clipEnd; // raises(dom::DOMException) on setting attribute DOMString copyright; // raises(dom::DOMException) on setting attribute DOMString longdesc; // raises(dom::DOMException) on setting attribute DOMString src; // raises(dom::DOMException) on setting attribute DOMString title; // raises(dom::DOMException) on setting attribute DOMString type; // raises(dom::DOMException) on setting }; interface SMILRefElement : SMILMediaElement { }; interface SMILAnimateElement : ElementAnimation, SMILElement { attribute TimeList keyTimes; // raises(dom::DOMException) on setting attribute TimeList keySplines; // raises(dom::DOMException) on setting }; interface SMILSetElement : ElementAnimation, SMILElement { }; interface SMILAnimateMotionElement : SMILAnimateElement { attribute DOMString path; // raises(dom::DOMException) on setting attribute DOMString origin; // raises(dom::DOMException) on setting }; interface SMILSwitchElement : SMILElement { attribute DOMString title; // raises(dom::DOMException) on setting }; }; #endif // _SMIL_IDL_