1 /*
2 * Licensed to The Apereo Foundation under one or more contributor license
3 * agreements. See the NOTICE file distributed with this work for additional
4 * information regarding copyright ownership.
5 *
6 *
7 * The Apereo Foundation licenses this file to you under the Educational
8 * Community License, Version 2.0 (the "License"); you may not use this file
9 * except in compliance with the License. You may obtain a copy of the License
10 * at:
11 *
12 * http://opensource.org/licenses/ecl2.txt
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
17 * License for the specific language governing permissions and limitations under
18 * the License.
19 *
20 */
21
22 package org.opencastproject.metadata.mpeg7;
23
24 import java.awt.Rectangle;
25
26 /**
27 * The <code>VideoText</code> element represents parts of the video with superimposed text. It is a subtype of a moving
28 * region (<code>mpeg7:MovingRegionType</code>).
29 *
30 * <pre>
31 * <complexType name="VideoTextType">
32 * <complexContent>
33 * <extension base="mpeg7:MovingRegionType">
34 * <sequence>
35 * <element name="Text" type="mpeg7:TextualType" minOccurs="0"/>
36 * </sequence>
37 * <attribute name="textType" use="optional">
38 * <simpleType>
39 * <union>
40 * <simpleType>
41 * <restriction base="NMTOKEN">
42 * <enumeration value="superimposed"/>
43 * <enumeration value="scene"/>
44 * </restriction>
45 * </simpleType>
46 * <simpleType>
47 * <restriction base="mpeg7:termAliasReferenceType"/>
48 * </simpleType>
49 * <simpleType>
50 * <restriction base="mpeg7:termURIReferenceType"/>
51 * </simpleType>
52 * </union>
53 * </simpleType>
54 * </attribute>
55 * <attribute name="fontSize" type="positiveInteger" use="optional"/>
56 * <attribute name="fontType" type="string" use="optional"/>
57 * </extension>
58 * </complexContent>
59 * </complexType>
60 * </pre>
61 */
62 public interface VideoText extends MovingRegion {
63
64 /** Video text type */
65 enum Type {
66 superimposed, scene
67 };
68
69 /**
70 * Sets the segment identifier.
71 *
72 * @param id
73 * the identifier
74 */
75 void setIdentifier(String id);
76
77 /**
78 * Returns the segment identifier.
79 *
80 * @return the identifier
81 */
82 String getIdentifier();
83
84 /**
85 * Sets the text.
86 *
87 * @param text
88 * the text
89 */
90 void setText(Textual text);
91
92 /**
93 * Returns the text.
94 *
95 * @return the text
96 */
97 Textual getText();
98
99 /**
100 * Sets the videotext type.
101 *
102 * @param type
103 * the type
104 */
105 void setType(Type type);
106
107 /**
108 * Rerturns the videotext type.
109 *
110 * @return the type
111 */
112 Type getType();
113
114 /**
115 * Sets the optional font type.
116 *
117 * @param fontType
118 * the font type
119 */
120 void setFontType(String fontType);
121
122 /**
123 * Returns the font type.
124 *
125 * @return the font type
126 */
127 String getFontType();
128
129 /**
130 * Sets the optional font size.
131 *
132 * @param size
133 * the font size
134 */
135 void setFontSize(int size);
136
137 /**
138 * Returns the font size.
139 *
140 * @return the font size
141 */
142 int getFontSize();
143
144 /**
145 * Sets the text's bounding box.
146 *
147 * @param rectangle
148 * the bounding box
149 */
150 void setBoundary(Rectangle rectangle);
151
152 /**
153 * Returns the text's bounding box.
154 *
155 * @return the bounding box
156 */
157 Rectangle getBoundary();
158
159 }