previous   next   contents   index

WD-smil-boston-dom-19991115

Appendix A: IDL Definitions

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

A.1: SYMM Document Object Model

smil.idl:

// 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_


previous   next   contents   index