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_