1 /* 2 * Copyright (C) 2007 Esmertec AG. 3 * Copyright (C) 2007 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package com.android.mms.dom.smil; 19 20 import org.w3c.dom.DOMException; 21 import org.w3c.dom.smil.SMILRootLayoutElement; 22 23 public class SmilRootLayoutElementImpl extends SmilElementImpl implements 24 SMILRootLayoutElement { 25 26 private static final String WIDTH_ATTRIBUTE_NAME = "width"; 27 private static final String HEIGHT_ATTRIBUTE_NAME = "height"; 28 private static final String BACKGROUND_COLOR_ATTRIBUTE_NAME = "backgroundColor"; 29 private static final String TITLE_ATTRIBUTE_NAME = "title"; 30 31 SmilRootLayoutElementImpl(SmilDocumentImpl owner, String tagName) { 32 super(owner, tagName); 33 } 34 35 public String getBackgroundColor() { 36 return this.getAttribute(BACKGROUND_COLOR_ATTRIBUTE_NAME); 37 } 38 39 public int getHeight() { 40 String heightString = this.getAttribute(HEIGHT_ATTRIBUTE_NAME); 41 return parseAbsoluteLength(heightString); 42 } 43 44 public String getTitle() { 45 return this.getAttribute(TITLE_ATTRIBUTE_NAME); 46 } 47 48 public int getWidth() { 49 String widthString = this.getAttribute(WIDTH_ATTRIBUTE_NAME); 50 return parseAbsoluteLength(widthString); 51 } 52 53 public void setBackgroundColor(String backgroundColor) throws DOMException { 54 this.setAttribute(BACKGROUND_COLOR_ATTRIBUTE_NAME, backgroundColor); 55 } 56 57 public void setHeight(int height) throws DOMException { 58 this.setAttribute(HEIGHT_ATTRIBUTE_NAME, String.valueOf(height) + "px"); 59 60 } 61 62 public void setTitle(String title) throws DOMException { 63 this.setAttribute(TITLE_ATTRIBUTE_NAME, title); 64 } 65 66 public void setWidth(int width) throws DOMException { 67 this.setAttribute(WIDTH_ATTRIBUTE_NAME, String.valueOf(width) + "px"); 68 } 69 70 /* 71 * Internal Interface 72 */ 73 74 private int parseAbsoluteLength(String length) { 75 if (length.endsWith("px")) { 76 length = length.substring(0, length.indexOf("px")); 77 } 78 try { 79 return Integer.parseInt(length); 80 } catch (NumberFormatException e) { 81 return 0; 82 } 83 } 84 } 85