/******************************************************************************* * Copyright (c) 2007, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation ****************************************************************************** * **//**  * Object TextRectangle()  * @type TextRectangle  * @super Object  * @memberOf TextRectangle  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms535906.aspx*/function TextRectangle(){};TextRectangle.prototype= new Object();/**  * Property bottom  * @type Number  * @returns {Number}
  * @memberOf TextRectangle  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms533535.aspx*/TextRectangle.prototype.bottom=0;/**  * Property left  * @type Number  * @returns {Number}
  * @memberOf TextRectangle  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms534099.aspx*/TextRectangle.prototype.left=0;/**  * Property right  * @type Number  * @returns {Number}
  * @memberOf TextRectangle  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms534374.aspx*/TextRectangle.prototype.right=0;/**  * Property top  * @type Number  * @returns {Number}
  * @memberOf TextRectangle  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms534688.aspx*/TextRectangle.prototype.top=0;/**  * function getClientRects()  * @memberOf TextRectangle  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms536435.aspx*/TextRectangle.prototype.getClientRects=function(){};