Code

Change from DOM Level 3 Views to Level 2 to sync with CSS
[inkscape.git] / src / dom / smilimpl.h
1 #ifndef __SMILIMPL_H__
2 #define __SMILIMPL_H__
3 /**
4  * Phoebe DOM Implementation.
5  *
6  * This is a C++ approximation of the W3C DOM model, which follows
7  * fairly closely the specifications in the various .idl files, copies of
8  * which are provided for reference.  Most important is this one:
9  *
10  * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
11  *
12  * Authors:
13  *   Bob Jamison
14  *
15  * Copyright (C) 2005-2008 Bob Jamison
16  *
17  *  This library is free software; you can redistribute it and/or
18  *  modify it under the terms of the GNU Lesser General Public
19  *  License as published by the Free Software Foundation; either
20  *  version 2.1 of the License, or (at your option) any later version.
21  *
22  *  This library is distributed in the hope that it will be useful,
23  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25  *  Lesser General Public License for more details.
26  *
27  *  You should have received a copy of the GNU Lesser General Public
28  *  License along with this library; if not, write to the Free Software
29  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
30  */
33 #include "smil.h"
34 #include "domimpl.h"
35 #include "views.h"
36 #include "events.h"
39 namespace org
40 {
41 namespace w3c
42 {
43 namespace dom
44 {
45 namespace smil
46 {
49 /*#########################################################################
50 ## SMILDocumentImpl
51 #########################################################################*/
53 /**
54  *
55  */
56 class SMILDocumentImpl : virtual public SMILDocument,
57                          virtual public DocumentImpl
58 {
59 public:
62     //##################
63     //# Non-API methods
64     //##################
66     /**
67      *
68      */
69     SMILDocumentImpl();
71     /**
72      *
73      */
74     virtual ~SMILDocumentImpl();
77 };
80 /*#########################################################################
81 ## SMILElementImpl
82 #########################################################################*/
84 /**
85  *
86  */
87 class SMILElementImpl : virtual public SMILElement,
88                         public ElementImpl
89 {
90 public:
92     /**
93      *
94      */
95     virtual DOMString getId();
97     /**
98      *
99      */
100     virtual void setId(const DOMString &val) throw (dom::DOMException);
103     //##################
104     //# Non-API methods
105     //##################
107     /**
108      *
109      */
110     virtual ~SMILElementImpl();
113 };
116 /*#########################################################################
117 ## SMILLayoutElementImpl
118 #########################################################################*/
120 /**
121  *
122  */
123 class SMILLayoutElementImpl : virtual public SMILLayoutElement,
124                               public SMILElementImpl
126 public:
128     /**
129      *
130      */
131     virtual DOMString getType();
133     /**
134      *
135      */
136     virtual bool getResolved();
138     //##################
139     //# Non-API methods
140     //##################
142     /**
143      *
144      */
145     virtual ~SMILLayoutElementImpl();
148 };
151 /*#########################################################################
152 ## SMILTopLayoutElementImpl
153 #########################################################################*/
155 /**
156  *
157  */
158 class SMILTopLayoutElementImpl : virtual public SMILTopLayoutElement,
159                                  public SMILElementImpl
161 public:
164     //##################
165     //# Non-API methods
166     //##################
168     /**
169      *
170      */
171     virtual ~SMILTopLayoutElementImpl();
174 };
177 /*#########################################################################
178 ## SMILRootLayoutElementImpl
179 #########################################################################*/
181 /**
182  *
183  */
184 class SMILRootLayoutElementImpl : virtual public SMILRootLayoutElement,
185                                   public SMILElementImpl
187 public:
190     //##################
191     //# Non-API methods
192     //##################
194     /**
195      *
196      */
197     virtual ~SMILRootLayoutElementImpl();
200 };
203 /*#########################################################################
204 ## SMILRegionElementImpl
205 #########################################################################*/
207 /**
208  *
209  */
210 class SMILRegionElementImpl : virtual public SMILRegionElement,
211                               public SMILElementImpl
213 public:
216     /**
217      *
218      */
219     virtual DOMString getFit();
221     /**
222      *
223      */
224     virtual void setFit(const DOMString &val) throw (dom::DOMException);
226     /**
227      *
228      */
229     virtual DOMString getTop();
231     /**
232      *
233      */
234     virtual void setTop(const DOMString &val) throw (dom::DOMException);
236     /**
237      *
238      */
239     virtual long getZIndex();
241     /**
242      *
243      */
244     virtual void setZIndex(long val) throw (dom::DOMException);
247     //##################
248     //# Non-API methods
249     //##################
251     /**
252      *
253      */
254     virtual ~SMILRegionElementImpl();
257 };
263 /*#########################################################################
264 ## SMILMediaElementImpl
265 #########################################################################*/
267 /**
268  *
269  */
270 class SMILMediaElementImpl : virtual public SMILMediaElement,
271                              public SMILElementImpl
273 public:
276     /**
277      *
278      */
279     virtual DOMString getAbstractAttr();
281     /**
282      *
283      */
284     virtual void setAbstractAttr(const DOMString &val) throw (dom::DOMException);
286     /**
287      *
288      */
289     virtual DOMString getAlt();
291     /**
292      *
293      */
294     virtual void setAlt(const DOMString &val) throw (dom::DOMException);
296     /**
297      *
298      */
299     virtual DOMString getAuthor();
301     /**
302      *
303      */
304     virtual void setAuthor(const DOMString &val) throw (dom::DOMException);
306     /**
307      *
308      */
309     virtual DOMString getClipBegin();
311     /**
312      *
313      */
314     virtual void setClipBegin(const DOMString &val) throw (dom::DOMException);
316     /**
317      *
318      */
319     virtual DOMString getClipEnd();
321     /**
322      *
323      */
324     virtual void setClipEnd(const DOMString &val) throw (dom::DOMException);
326     /**
327      *
328      */
329     virtual DOMString getCopyright();
331     /**
332      *
333      */
334     virtual void setCopyright(const DOMString &val) throw (dom::DOMException);
336     /**
337      *
338      */
339     virtual DOMString getLongdesc();
341     /**
342      *
343      */
344     virtual void setLongdesc(const DOMString &val) throw (dom::DOMException);
346     /**
347      *
348      */
349     virtual DOMString getPort();
351     /**
352      *
353      */
354     virtual void setPort(const DOMString &val) throw (dom::DOMException);
356     /**
357      *
358      */
359     virtual DOMString getReadIndex();
361     /**
362      *
363      */
364     virtual void setReadIndex(const DOMString &val) throw (dom::DOMException);
366     /**
367      *
368      */
369     virtual DOMString getRtpformat();
371     /**
372      *
373      */
374     virtual void setRtpformat(const DOMString &val) throw (dom::DOMException);
376     /**
377      *
378      */
379     virtual DOMString getSrc();
381     /**
382      *
383      */
384     virtual void setSrc(const DOMString &val) throw (dom::DOMException);
386     /**
387      *
388      */
389     virtual DOMString getStripRepeat();
391     /**
392      *
393      */
394     virtual void setStripRepeat(const DOMString &val) throw (dom::DOMException);
396     /**
397      *
398      */
399     virtual DOMString getTitle();
401     /**
402      *
403      */
404     virtual void setTitle(const DOMString &val) throw (dom::DOMException);
406     /**
407      *
408      */
409     virtual DOMString getTransport();
411     /**
412      *
413      */
414     virtual void setTransport(const DOMString &val) throw (dom::DOMException);
416     /**
417      *
418      */
419     virtual DOMString getType();
421     /**
422      *
423      */
424     virtual void setType(const DOMString &val) throw (dom::DOMException);
428     //##################
429     //# Non-API methods
430     //##################
432     /**
433      *
434      */
435     virtual ~SMILMediaElementImpl();
438 };
441 /*#########################################################################
442 ## SMILRefElementImpl
443 #########################################################################*/
445 /**
446  *
447  */
448 class SMILRefElementImpl : virtual public SMILRefElement,
449                            public SMILMediaElementImpl
451 public:
454     //##################
455     //# Non-API methods
456     //##################
458     /**
459      *
460      */
461     virtual ~SMILRefElementImpl();
464 };
467 /*#########################################################################
468 ## SMILAnimationImpl
469 #########################################################################*/
471 /**
472  *
473  */
474 class SMILAnimationImpl : virtual public SMILAnimation,
475                           public SMILElementImpl
477 public:
479     /**
480      *
481      */
482     virtual unsigned short getAdditive();
484     /**
485      *
486      */
487     virtual void setAdditive(unsigned short val) throw (dom::DOMException);
489     /**
490      *
491      */
492     virtual unsigned short getAccumulate();
494     /**
495      *
496      */
497     virtual void setAccumulate(unsigned short val) throw (dom::DOMException);
499     /**
500      *
501      */
502     virtual unsigned short getCalcMode();
504     /**
505      *
506      */
507     virtual void setCalcMode(unsigned short val) throw (dom::DOMException);
509     /**
510      *
511      */
512     virtual DOMString getKeySplines();
514     /**
515      *
516      */
517     virtual void setKeySplines(const DOMString &val) throw (dom::DOMException);
519     /**
520      *
521      */
522     virtual TimeList getKeyTimes();
524     /**
525      *
526      */
527     virtual void setKeyTimes(const TimeList &val) throw (dom::DOMException);
529     /**
530      *
531      */
532     virtual DOMString getValues();
534     /**
535      *
536      */
537     virtual void setValues(const DOMString &val) throw (dom::DOMException);
539     /**
540      *
541      */
542     virtual DOMString getFrom();
544     /**
545      *
546      */
547     virtual void setFrom(const DOMString &val) throw (dom::DOMException);
549     /**
550      *
551      */
552     virtual DOMString getTo();
554     /**
555      *
556      */
557     virtual void setTo(const DOMString &val) throw (dom::DOMException);
559     /**
560      *
561      */
562     virtual DOMString getBy();
564     /**
565      *
566      */
567     virtual void setBy(const DOMString &val) throw (dom::DOMException);
569     //##################
570     //# Non-API methods
571     //##################
573     /**
574      *
575      */
576     virtual ~SMILAnimationImpl();
578 protected:
580     TimeList keyTimes;
583 };
586 /*#########################################################################
587 ## SMILAnimateElementImpl
588 #########################################################################*/
590 /**
591  *
592  */
593 class SMILAnimateElementImpl : virtual public SMILAnimateElement,
594                                public SMILAnimationImpl
596 public:
599     //##################
600     //# Non-API methods
601     //##################
603     /**
604      *
605      */
606     virtual ~SMILAnimateElementImpl();
609 };
612 /*#########################################################################
613 ## SMILSetElementImpl
614 #########################################################################*/
616 /**
617  *
618  */
619 class SMILSetElementImpl : virtual public SMILSetElement,
620                            public SMILElementImpl
622 public:
624     /**
625      *
626      */
627     virtual DOMString getTo();
629     /**
630      *
631      */
632     virtual void setTo(const DOMString &val);
634     //##################
635     //# Non-API methods
636     //##################
638     /**
639      *
640      */
641     virtual ~SMILSetElementImpl();
644 };
647 /*#########################################################################
648 ## SMILAnimateMotionElementImpl
649 #########################################################################*/
651 /**
652  *
653  */
654 class SMILAnimateMotionElementImpl : virtual public SMILAnimateMotionElement,
655                                      public SMILAnimateElementImpl
657 public:
659     /**
660      *
661      */
662     virtual DOMString getPath();
664     /**
665      *
666      */
667     virtual void setPath(const DOMString &val) throw(dom::DOMException);
669     /**
670      *
671      */
672     virtual DOMString getOrigin();
674     /**
675      *
676      */
677     virtual void setOrigin(const DOMString &val) throw(dom::DOMException);
680     //##################
681     //# Non-API methods
682     //##################
684     /**
685      *
686      */
687     virtual ~SMILAnimateMotionElementImpl();
690 };
693 /*#########################################################################
694 ## SMILAnimateColorElementImpl
695 #########################################################################*/
697 /**
698  *
699  */
700 class SMILAnimateColorElementImpl : virtual public SMILAnimateColorElement,
701                                     public SMILAnimationImpl
703 public:
706     //##################
707     //# Non-API methods
708     //##################
710     /**
711      *
712      */
713     virtual ~SMILAnimateColorElementImpl();
716 };
722 /*#########################################################################
723 ## SMILSwitchElementImpl
724 #########################################################################*/
726 /**
727  *
728  */
729 class SMILSwitchElementImpl : virtual public SMILSwitchElement,
730                               public SMILElementImpl
732 public:
734     /**
735      *
736      */
737     virtual Element *getSelectedElement();
739     //##################
740     //# Non-API methods
741     //##################
743     /**
744      *
745      */
746     virtual ~SMILSwitchElementImpl();
749 };
755 }  //namespace smil
756 }  //namespace dom
757 }  //namespace w3c
758 }  //namespace org
760 #endif    /* __SMILIMPL_H__ */
762 /*#########################################################################
763 ## E N D    O F    F I L E
764 #########################################################################*/