summaryrefslogtreecommitdiff
path: root/images/eclipse-workbenchscreen.screen
diff options
context:
space:
mode:
authori08005 <i08005@4478ddc8-7591-0410-85af-75e9d0d8dff3>2011-02-15 20:40:19 +0000
committeryvesf <yvesf-git@xapek.org>2011-05-11 23:10:10 +0200
commit25fe33409f24006ddaecdeb07c2a685f4d516945 (patch)
tree4b696d7fe79ae5e7b4b56dfc0444862e93a29c35 /images/eclipse-workbenchscreen.screen
parentb46373146c35c892a6e8ca802d96095e67f6128e (diff)
downloadstudienarbeit-2011-25fe33409f24006ddaecdeb07c2a685f4d516945.tar.gz
studienarbeit-2011-25fe33409f24006ddaecdeb07c2a685f4d516945.zip
Vorabversion Studienarbeit 2/2011 KSM Eclipse-RCP
Diffstat (limited to 'images/eclipse-workbenchscreen.screen')
-rw-r--r--images/eclipse-workbenchscreen.screen209
1 files changed, 209 insertions, 0 deletions
diff --git a/images/eclipse-workbenchscreen.screen b/images/eclipse-workbenchscreen.screen
new file mode 100644
index 0000000..c99ff38
--- /dev/null
+++ b/images/eclipse-workbenchscreen.screen
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore">
+ <widgets xsi:type="model:Window" x="25" y="25" width="816" height="578" text="Java - org.eclipse.draw2d.geometry.Rectangle - Eclipse" measuredWidth="816" measuredHeight="578"/>
+ <widgets xsi:type="model:Menu" x="25" y="44" width="803" text="File,Edit,Source,Refactor,Navigate,Search,Project,Run,Window,Help" measuredWidth="803" measuredHeight="30">
+ <items x="5" y="0" width="30" height="30" text="File"/>
+ <items x="35" y="0" width="34" height="30" text="Edit"/>
+ <items x="69" y="0" width="55" height="30" text="Source"/>
+ <items x="124" y="0" width="62" height="30" text="Refactor"/>
+ <items x="186" y="0" width="67" height="30" text="Navigate"/>
+ <items x="253" y="0" width="55" height="30" text="Search"/>
+ <items x="308" y="0" width="54" height="30" text="Project"/>
+ <items x="362" y="0" width="33" height="30" text="Run"/>
+ <items x="395" y="0" width="57" height="30" text="Window"/>
+ <items x="452" y="0" width="39" height="30" text="Help"/>
+ </widgets>
+ <widgets xsi:type="model:VLine" x="29" y="74" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:VLine" x="169" y="74" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:VLine" x="239" y="74" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:VLine" x="361" y="74" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:VLine" x="473" y="74" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:VLine" x="569" y="74" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:Icon" x="255" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="271" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="289" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="315" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="341" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="585" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="601" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="619" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="635" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="45" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="71" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="97" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="123" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="149" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="377" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="393" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="411" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="427" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="445" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="461" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="489" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="515" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="541" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="557" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:Icon" x="185" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="211" y="80" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="227" y="80" measuredWidth="16" measuredHeight="16" icon="empty-arrow-down (small)"/>
+ <widgets xsi:type="model:HLine" x="313" y="573" width="2" measuredWidth="2" measuredHeight="6"/>
+ <widgets xsi:type="model:Label" x="318" y="573" text="Read-Only" measuredWidth="69" measuredHeight="25">
+ <font/>
+ </widgets>
+ <widgets xsi:type="model:HLine" x="432" y="573" width="2" measuredWidth="2" measuredHeight="6"/>
+ <widgets xsi:type="model:Label" x="437" y="573" text="Smart Insert" measuredWidth="85" measuredHeight="25">
+ <font/>
+ </widgets>
+ <widgets xsi:type="model:HLine" x="544" y="573" width="2" measuredWidth="2" measuredHeight="6"/>
+ <widgets xsi:type="model:Label" x="549" y="573" text="41 : 8" measuredWidth="41" measuredHeight="25">
+ <font/>
+ </widgets>
+ <widgets xsi:type="model:Icon" x="45" y="579" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="69" y="142" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="95" y="142" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:VLine" x="115" y="136" height="26" measuredWidth="6" measuredHeight="26"/>
+ <widgets xsi:type="model:Icon" x="127" y="142" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Tree" x="34" y="164" width="135" height="404" text="fakessh&#xA;fakessh2&#xA;ksm&#xA;ksmrcp&#xA;ksm-trunk&#xA;playground1&#xA;quercustest&#xA;rcpapp&#xA;zs&#xA;" measuredWidth="135" measuredHeight="404" verticalScrollbar="true">
+ <items x="0" y="5" width="118" height="23" text="fakessh"/>
+ <items x="0" y="28" width="118" height="23" text="fakessh2"/>
+ <items x="0" y="51" width="118" height="23" text="ksm"/>
+ <items x="0" y="74" width="118" height="23" text="ksmrcp"/>
+ <items x="0" y="97" width="118" height="23" text="ksm-trunk"/>
+ <items x="0" y="120" width="118" height="23" text="playground1"/>
+ <items x="0" y="143" width="118" height="23" text="quercustest"/>
+ <items x="0" y="166" width="118" height="23" text="rcpapp"/>
+ <items x="0" y="189" width="118" height="23" text="zs"/>
+ </widgets>
+ <widgets xsi:type="model:Icon" x="680" y="141" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="706" y="141" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="732" y="141" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="758" y="141" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Icon" x="784" y="141" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:Tree" x="675" y="161" width="153" height="263" text="Rectangle&#xA;-serialVersionUID : long&#xA;-SINGLETON : Rectangle&#xA;-height : int&#xA;-width : int&#xA;-x : int&#xA;-y : int&#xA;-Rectangle()&#xA;-Rectangle(int, int, int, int)&#xA;-Rectangle(Point, Dimension)&#xA;-Rectangle(Point, Point)&#xA;-Rectangle(Rectangle)&#xA;-Rectangle(Rectangle)&#xA;-bottom() : int&#xA;-contains(int, int) : boolean&#xA;-contains(Point) : boolean&#xA;-contains(Rectangle) : boolean&#xA;-crop(Insets) : Rectangle&#xA;-equals(Object) : boolean&#xA;-expand(int, int) : Rectangle&#xA;-expand(Insets) : Rectangle&#xA;-getBottom() : Point&#xA;-getBottomLeft() : Point&#xA;-getBottomRight() : Point&#xA;-getCenter() : Point&#xA;-getCopy() : Rectangle&#xA;-getCropped(Insets) : Rectangle&#xA;-getExpanded(int, int) : Rectangle&#xA;-getExpanded(Insets) : Rectangle&#xA;-getIntersection(Rectangle) : Rectangle&#xA;-getLeft() : Point&#xA;-getLocation() : Point&#xA;-getPosition(Point) : int&#xA;-getResized(int, int) : Rectangle&#xA;-getResized(Dimension) : Rectangle&#xA;-getRight() : Point&#xA;-getSize() : Dimension&#xA;-getTop() : Point&#xA;-getTopLeft() : Point&#xA;-getTopRight() : Point&#xA;-getTranslated(int, int) : Rectangle&#xA;-getTranslated(Point) : Rectangle&#xA;-getTransposed() : Rectangle&#xA;-getUnion(Rectangle) : Rectangle&#xA;-hashCode() : int&#xA;-intersect(Rectangle) : Rectangle&#xA;-intersects(Rectangle) : boolean&#xA;-isEmpty() : boolean&#xA;-performScale(double) : void&#xA;-performTranslate(int, int) : void&#xA;-preciseHeight() : double&#xA;-preciseWidth() : double&#xA;-preciseX() : double&#xA;-preciseY() : double&#xA;-resize(int, int) : Rectangle&#xA;-resize(Dimension) : Rectangle&#xA;-right() : int&#xA;-scale(double) : Rectangle&#xA;-scale(double, double) : Rectangle&#xA;-setBounds(Rectangle) : Rectangle&#xA;-setLocation(int, int) : Rectangle&#xA;-setLocation(Point) : Rectangle&#xA;-setSize(int, int) : Rectangle&#xA;-setSize(Dimension) : Rectangle&#xA;-shrink(int, int) : Rectangle&#xA;-toString() : String&#xA;-touches(Rectangle) : boolean&#xA;-translate(int, int) : Rectangle&#xA;-translate(Point) : Rectangle&#xA;-transpose() : Rectangle&#xA;-union(int, int) : Rectangle&#xA;-union(int, int, int, int) : Rectangle&#xA;-union(Dimension) : Rectangle&#xA;-union(Point) : void&#xA;-union(Rectangle) : Rectangle&#xA;" measuredWidth="153" measuredHeight="263" verticalScrollbar="true">
+ <items x="0" y="5" width="136" height="23" text="Rectangle"/>
+ <items x="0" y="28" width="136" height="23" text="-serialVersionUID : long"/>
+ <items x="0" y="51" width="136" height="23" text="-SINGLETON : Rectangle"/>
+ <items x="0" y="74" width="136" height="23" text="-height : int"/>
+ <items x="0" y="97" width="136" height="23" text="-width : int"/>
+ <items x="0" y="120" width="136" height="23" text="-x : int"/>
+ <items x="0" y="143" width="136" height="23" text="-y : int"/>
+ <items x="0" y="166" width="136" height="23" text="-Rectangle()"/>
+ <items x="0" y="189" width="136" height="23" text="-Rectangle(int, int, int, int)"/>
+ <items x="0" y="212" width="136" height="23" text="-Rectangle(Point, Dimension)"/>
+ <items x="0" y="235" width="136" height="23" text="-Rectangle(Point, Point)"/>
+ <items x="0" y="258" width="136" height="23" text="-Rectangle(Rectangle)"/>
+ <items x="0" y="281" width="136" height="23" text="-Rectangle(Rectangle)"/>
+ <items x="0" y="304" width="136" height="23" text="-bottom() : int"/>
+ <items x="0" y="327" width="136" height="23" text="-contains(int, int) : boolean"/>
+ <items x="0" y="350" width="136" height="23" text="-contains(Point) : boolean"/>
+ <items x="0" y="373" width="136" height="23" text="-contains(Rectangle) : boolean"/>
+ <items x="0" y="396" width="136" height="23" text="-crop(Insets) : Rectangle"/>
+ <items x="0" y="419" width="136" height="23" text="-equals(Object) : boolean"/>
+ <items x="0" y="442" width="136" height="23" text="-expand(int, int) : Rectangle"/>
+ <items x="0" y="465" width="136" height="23" text="-expand(Insets) : Rectangle"/>
+ <items x="0" y="488" width="136" height="23" text="-getBottom() : Point"/>
+ <items x="0" y="511" width="136" height="23" text="-getBottomLeft() : Point"/>
+ <items x="0" y="534" width="136" height="23" text="-getBottomRight() : Point"/>
+ <items x="0" y="557" width="136" height="23" text="-getCenter() : Point"/>
+ <items x="0" y="580" width="136" height="23" text="-getCopy() : Rectangle"/>
+ <items x="0" y="603" width="136" height="23" text="-getCropped(Insets) : Rectangle"/>
+ <items x="0" y="626" width="136" height="23" text="-getExpanded(int, int) : Rectangle"/>
+ <items x="0" y="649" width="136" height="23" text="-getExpanded(Insets) : Rectangle"/>
+ <items x="0" y="672" width="136" height="23" text="-getIntersection(Rectangle) : Rectangle"/>
+ <items x="0" y="695" width="136" height="23" text="-getLeft() : Point"/>
+ <items x="0" y="718" width="136" height="23" text="-getLocation() : Point"/>
+ <items x="0" y="741" width="136" height="23" text="-getPosition(Point) : int"/>
+ <items x="0" y="764" width="136" height="23" text="-getResized(int, int) : Rectangle"/>
+ <items x="0" y="787" width="136" height="23" text="-getResized(Dimension) : Rectangle"/>
+ <items x="0" y="810" width="136" height="23" text="-getRight() : Point"/>
+ <items x="0" y="833" width="136" height="23" text="-getSize() : Dimension"/>
+ <items x="0" y="856" width="136" height="23" text="-getTop() : Point"/>
+ <items x="0" y="879" width="136" height="23" text="-getTopLeft() : Point"/>
+ <items x="0" y="902" width="136" height="23" text="-getTopRight() : Point"/>
+ <items x="0" y="925" width="136" height="23" text="-getTranslated(int, int) : Rectangle"/>
+ <items x="0" y="948" width="136" height="23" text="-getTranslated(Point) : Rectangle"/>
+ <items x="0" y="971" width="136" height="23" text="-getTransposed() : Rectangle"/>
+ <items x="0" y="994" width="136" height="23" text="-getUnion(Rectangle) : Rectangle"/>
+ <items x="0" y="1017" width="136" height="23" text="-hashCode() : int"/>
+ <items x="0" y="1040" width="136" height="23" text="-intersect(Rectangle) : Rectangle"/>
+ <items x="0" y="1063" width="136" height="23" text="-intersects(Rectangle) : boolean"/>
+ <items x="0" y="1086" width="136" height="23" text="-isEmpty() : boolean"/>
+ <items x="0" y="1109" width="136" height="23" text="-performScale(double) : void"/>
+ <items x="0" y="1132" width="136" height="23" text="-performTranslate(int, int) : void"/>
+ <items x="0" y="1155" width="136" height="23" text="-preciseHeight() : double"/>
+ <items x="0" y="1178" width="136" height="23" text="-preciseWidth() : double"/>
+ <items x="0" y="1201" width="136" height="23" text="-preciseX() : double"/>
+ <items x="0" y="1224" width="136" height="23" text="-preciseY() : double"/>
+ <items x="0" y="1247" width="136" height="23" text="-resize(int, int) : Rectangle"/>
+ <items x="0" y="1270" width="136" height="23" text="-resize(Dimension) : Rectangle"/>
+ <items x="0" y="1293" width="136" height="23" text="-right() : int"/>
+ <items x="0" y="1316" width="136" height="23" text="-scale(double) : Rectangle"/>
+ <items x="0" y="1339" width="136" height="23" text="-scale(double, double) : Rectangle"/>
+ <items x="0" y="1362" width="136" height="23" text="-setBounds(Rectangle) : Rectangle"/>
+ <items x="0" y="1385" width="136" height="23" text="-setLocation(int, int) : Rectangle"/>
+ <items x="0" y="1408" width="136" height="23" text="-setLocation(Point) : Rectangle"/>
+ <items x="0" y="1431" width="136" height="23" text="-setSize(int, int) : Rectangle"/>
+ <items x="0" y="1454" width="136" height="23" text="-setSize(Dimension) : Rectangle"/>
+ <items x="0" y="1477" width="136" height="23" text="-shrink(int, int) : Rectangle"/>
+ <items x="0" y="1500" width="136" height="23" text="-toString() : String"/>
+ <items x="0" y="1523" width="136" height="23" text="-touches(Rectangle) : boolean"/>
+ <items x="0" y="1546" width="136" height="23" text="-translate(int, int) : Rectangle"/>
+ <items x="0" y="1569" width="136" height="23" text="-translate(Point) : Rectangle"/>
+ <items x="0" y="1592" width="136" height="23" text="-transpose() : Rectangle"/>
+ <items x="0" y="1615" width="136" height="23" text="-union(int, int) : Rectangle"/>
+ <items x="0" y="1638" width="136" height="23" text="-union(int, int, int, int) : Rectangle"/>
+ <items x="0" y="1661" width="136" height="23" text="-union(Dimension) : Rectangle"/>
+ <items x="0" y="1684" width="136" height="23" text="-union(Point) : void"/>
+ <items x="0" y="1707" width="136" height="23" text="-union(Rectangle) : Rectangle"/>
+ </widgets>
+ <widgets xsi:type="model:TextArea" x="185" y="136" width="476" height="288" text=" * Copyright (c) 2000, 2010 IBM Corporation and others.&#xA;package org.eclipse.draw2d.geometry;&#xA;&#xA;import org.eclipse.draw2d.PositionConstants;&#xA;&#xA;public class Rectangle&#xA; implements &#xA;Cloneable, java.io.Serializable,&#xA; Translatable {&#xA;&#x9;/** the X value */&#xA;&#x9;public int x;&#xA;&#x9;/** the Y value */&#xA;&#x9;public int y;&#xA;&#x9;/** the width */&#xA;&#x9;public int width;&#xA;&#x9;/** the height */&#xA;&#x9;public int height;&#xA;&#xA;&#x9;/**&#xA;&#x9; * A singleton for use in short calculations. Use to avoid newing&#xA;&#x9; * unnecessary objects.&#xA;&#x9; */&#xA;&#x9;public static final Rectangle SINGLETON = new Rectangle();&#xA;&#xA;&#x9;static final long serialVersionUID = 1;&#xA;&#xA;&#x9;/**&#xA;&#x9; * Constructs a Rectangle at the origin with zero width and height.&#xA;&#x9; * &#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle() {&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Constructs a Rectangle given a location and size.&#xA;&#x9; * &#xA;&#x9; * @param p&#xA;&#x9; * the location&#xA;&#x9; * @param size&#xA;&#x9; * the size&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle(Point p, Dimension size) {&#xA;&#x9;&#x9;this(p.x, p.y, size.width, size.height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Constructs a copy of the provided Rectangle.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle supplying the initial values&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle(Rectangle rect) {&#xA;&#x9;&#x9;this(rect.x, rect.y, rect.width, rect.height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Constructs a copy of the provided SWT&#xA;&#x9; * {@link org.eclipse.swt.graphics.Rectangle}.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * The SWT Rectangle being copied&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle(org.eclipse.swt.graphics.Rectangle rect) {&#xA;&#x9;&#x9;this(rect.x, rect.y, rect.width, rect.height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Constructs a Rectangle with the provided values.&#xA;&#x9; * &#xA;&#x9; * @param x&#xA;&#x9; * X location&#xA;&#x9; * @param y&#xA;&#x9; * Y location&#xA;&#x9; * @param width&#xA;&#x9; * Width of the rectangle&#xA;&#x9; * @param height&#xA;&#x9; * Height of the rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle(int x, int y, int width, int height) {&#xA;&#x9;&#x9;this.x = x;&#xA;&#x9;&#x9;this.y = y;&#xA;&#x9;&#x9;this.width = width;&#xA;&#x9;&#x9;this.height = height;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Constructs the smallest Rectangle that contains the specified Points.&#xA;&#x9; * &#xA;&#x9; * @param p1&#xA;&#x9; * Upper left hand corner&#xA;&#x9; * @param p2&#xA;&#x9; * Lower right hand corner&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle(Point p1, Point p2) {&#xA;&#x9;&#x9;this.x = Math.min(p1.x, p2.x);&#xA;&#x9;&#x9;this.y = Math.min(p1.y, p2.y);&#xA;&#x9;&#x9;this.width = Math.abs(p2.x - p1.x) + 1;&#xA;&#x9;&#x9;this.height = Math.abs(p2.y - p1.y) + 1;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns the y-coordinate of the bottom of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return The Y coordinate of the bottom&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public int bottom() {&#xA;&#x9;&#x9;return y + height;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns whether the given point is within the boundaries of this&#xA;&#x9; * Rectangle. The boundaries are inclusive of the top and left edges, but&#xA;&#x9; * exclusive of the bottom and right edges.&#xA;&#x9; * &#xA;&#x9; * @param pt&#xA;&#x9; * Point being tested for containment&#xA;&#x9; * @return true if the Point is within this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public boolean contains(Point pt) {&#xA;&#x9;&#x9;return contains(pt.x, pt.y);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>true&lt;/code> if the given rectangle is contained within the&#xA;&#x9; * boundaries of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * the Rectangle to test&#xA;&#x9; * @return true if the Rectangle is within this Rectangle&#xA;&#x9; */&#xA;&#x9;public boolean contains(Rectangle rect) {&#xA;&#x9;&#x9;return x &lt;= rect.x &amp;&amp; y &lt;= rect.y &amp;&amp; right() >= rect.right()&#xA;&#x9;&#x9;&#x9;&#x9;&amp;&amp; bottom() >= rect.bottom();&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns whether the given coordinates are within the boundaries of this&#xA;&#x9; * Rectangle. The boundaries are inclusive of the top and left edges, but&#xA;&#x9; * exclusive of the bottom and right edges.&#xA;&#x9; * &#xA;&#x9; * @param x&#xA;&#x9; * X value&#xA;&#x9; * @param y&#xA;&#x9; * Y value&#xA;&#x9; * @return true if the coordinates are within this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public boolean contains(int x, int y) {&#xA;&#x9;&#x9;return y >= this.y &amp;&amp; y &lt; this.y + this.height &amp;&amp; x >= this.x&#xA;&#x9;&#x9;&#x9;&#x9;&amp;&amp; x &lt; this.x + this.width;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Crops this rectangle by the amount specified in &lt;code>insets&lt;/code>.&#xA;&#x9; * &#xA;&#x9; * @param insets&#xA;&#x9; * Insets to be removed from the Rectangle&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle crop(Insets insets) {&#xA;&#x9;&#x9;if (insets == null)&#xA;&#x9;&#x9;&#x9;return this;&#xA;&#x9;&#x9;x += insets.left;&#xA;&#x9;&#x9;y += insets.top;&#xA;&#x9;&#x9;width -= (insets.getWidth());&#xA;&#x9;&#x9;height -= (insets.getHeight());&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns whether the input object is equal to this Rectangle or not.&#xA;&#x9; * Rectangles are equivalent if their x, y, height, and width values are the&#xA;&#x9; * same.&#xA;&#x9; * &#xA;&#x9; * @param o&#xA;&#x9; * Object being tested for equality&#xA;&#x9; * @return Returns the result of the equality test&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public boolean equals(Object o) {&#xA;&#x9;&#x9;if (this == o)&#xA;&#x9;&#x9;&#x9;return true;&#xA;&#x9;&#x9;if (o instanceof Rectangle) {&#xA;&#x9;&#x9;&#x9;Rectangle r = (Rectangle) o;&#xA;&#x9;&#x9;&#x9;return (x == r.x) &amp;&amp; (y == r.y) &amp;&amp; (width == r.width)&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;&amp; (height == r.height);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return false;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Expands the horizontal and vertical sides of this Rectangle with the&#xA;&#x9; * values provided as input, and returns this for convenience. The location&#xA;&#x9; * of its center is kept constant.&#xA;&#x9; * &#xA;&#x9; * @param h&#xA;&#x9; * Horizontal increment&#xA;&#x9; * @param v&#xA;&#x9; * Vertical increment&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle expand(int h, int v) {&#xA;&#x9;&#x9;return shrink(-h, -v);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Expands the horizontal and vertical sides of this Rectangle by the width&#xA;&#x9; * and height of the given Insets, and returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @param insets&#xA;&#x9; * contains the amounts to expand on each side&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle expand(Insets insets) {&#xA;&#x9;&#x9;x -= insets.left;&#xA;&#x9;&#x9;y -= insets.top;&#xA;&#x9;&#x9;height += insets.getHeight();&#xA;&#x9;&#x9;width += insets.getWidth();&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point representing the middle point of the bottom side of&#xA;&#x9; * this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the bottom of the Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getBottom() {&#xA;&#x9;&#x9;return new Point(x + width / 2, bottom());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point representing the bottom left point of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the bottom left of the rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getBottomLeft() {&#xA;&#x9;&#x9;return new Point(x, y + height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point representing the bottom right point of this&#xA;&#x9; * Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the bottom right of the rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getBottomRight() {&#xA;&#x9;&#x9;return new Point(x + width, y + height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new point representing the center of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the center of the rectangle&#xA;&#x9; */&#xA;&#x9;public Point getCenter() {&#xA;&#x9;&#x9;return new Point(x + width / 2, y + height / 2);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which has the exact same parameters as this&#xA;&#x9; * Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Copy of this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getCopy() {&#xA;&#xA;&#x9;&#x9;if (getClass() == Rectangle.class) {&#xA;&#x9;&#x9;&#x9;/* avoid clone() call cost see bug #260740 */&#xA;&#x9;&#x9;&#x9;return new Rectangle(this);&#xA;&#x9;&#x9;} else {&#xA;&#x9;&#x9;&#x9;try {&#xA;&#x9;&#x9;&#x9;&#x9;return (Rectangle) clone();&#xA;&#x9;&#x9;&#x9;} catch (CloneNotSupportedException exc) {&#xA;&#x9;&#x9;&#x9;&#x9;return new Rectangle(this);&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle with the specified insets cropped.&#xA;&#x9; * &#xA;&#x9; * @param insets&#xA;&#x9; * Insets being cropped from the Rectangle&#xA;&#x9; * @return Cropped new Rectangle&#xA;&#x9; */&#xA;&#x9;public Rectangle getCropped(Insets insets) {&#xA;&#x9;&#x9;Rectangle r = new Rectangle(this);&#xA;&#x9;&#x9;r.crop(insets);&#xA;&#x9;&#x9;return r;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new incremented Rectangle, where the sides are expanded by the&#xA;&#x9; * horizonatal and vertical values provided. The center of the Rectangle is&#xA;&#x9; * maintained constant.&#xA;&#x9; * &#xA;&#x9; * @param h&#xA;&#x9; * Horizontal increment&#xA;&#x9; * @param v&#xA;&#x9; * Vertical inrement&#xA;&#x9; * @return A new expanded Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getExpanded(int h, int v) {&#xA;&#x9;&#x9;return new Rectangle(this).expand(h, v);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Creates and returns a new Rectangle with the bounds of &lt;code>this&lt;/code>&#xA;&#x9; * Rectangle, expanded by the given Insets.&#xA;&#x9; * &#xA;&#x9; * @param insets&#xA;&#x9; * The insets used to expand this rectangle&#xA;&#x9; * @return A new expanded Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getExpanded(Insets insets) {&#xA;&#x9;&#x9;return new Rectangle(this).expand(insets);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which has the intersection of this Rectangle and&#xA;&#x9; * the rectangle provided as input. Returns an empty Rectangle if there is&#xA;&#x9; * no interection.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle provided to test for intersection&#xA;&#x9; * @return A new Rectangle representing the intersection&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getIntersection(Rectangle rect) {&#xA;&#x9;&#x9;int x1 = Math.max(x, rect.x);&#xA;&#x9;&#x9;int x2 = Math.min(x + width, rect.x + rect.width);&#xA;&#x9;&#x9;int y1 = Math.max(y, rect.y);&#xA;&#x9;&#x9;int y2 = Math.min(y + height, rect.y + rect.height);&#xA;&#x9;&#x9;if (((x2 - x1) &lt; 0) || ((y2 - y1) &lt; 0))&#xA;&#x9;&#x9;&#x9;return new Rectangle(0, 0, 0, 0); // No intersection&#xA;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;return new Rectangle(x1, y1, x2 - x1, y2 - y1);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point representing the middle point of the left hand side&#xA;&#x9; * of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the left of the Rectangle&#xA;&#x9; */&#xA;&#x9;public Point getLeft() {&#xA;&#x9;&#x9;return new Point(x, y + height / 2);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns the upper left hand corner of the rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Location of the rectangle&#xA;&#x9; * @see #setLocation(Point)&#xA;&#x9; */&#xA;&#x9;public Point getLocation() {&#xA;&#x9;&#x9;return new Point(x, y);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * &lt;P>&#xA;&#x9; * Returns an integer which represents the position of the given point with&#xA;&#x9; * respect to this rectangle. Possible return values are bitwise ORs of the&#xA;&#x9; * constants WEST, EAST, NORTH, and SOUTH as found in&#xA;&#x9; * {@link org.eclipse.draw2d.PositionConstants}.&#xA;&#x9; * &#xA;&#x9; * &lt;P>&#xA;&#x9; * Returns PositionConstant.NONE if the given point is inside this&#xA;&#x9; * Rectangle.&#xA;&#x9; * &#xA;&#x9; * @param pt&#xA;&#x9; * The Point whose position has to be determined&#xA;&#x9; * @return An &lt;code>int&lt;/code> which is a PositionConstant&#xA;&#x9; * @see org.eclipse.draw2d.PositionConstants&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public int getPosition(Point pt) {&#xA;&#x9;&#x9;int result = PositionConstants.NONE;&#xA;&#xA;&#x9;&#x9;if (contains(pt))&#xA;&#x9;&#x9;&#x9;return result;&#xA;&#xA;&#x9;&#x9;if (pt.x &lt; x)&#xA;&#x9;&#x9;&#x9;result = PositionConstants.WEST;&#xA;&#x9;&#x9;else if (pt.x >= (x + width))&#xA;&#x9;&#x9;&#x9;result = PositionConstants.EAST;&#xA;&#xA;&#x9;&#x9;if (pt.y &lt; y)&#xA;&#x9;&#x9;&#x9;result = result | PositionConstants.NORTH;&#xA;&#x9;&#x9;else if (pt.y >= (y + height))&#xA;&#x9;&#x9;&#x9;result = result | PositionConstants.SOUTH;&#xA;&#xA;&#x9;&#x9;return result;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which is equivalent to this Rectangle with its&#xA;&#x9; * dimensions modified by the passed width &lt;i>w&lt;/i> and height &lt;i>h&lt;/i>.&#xA;&#x9; * &#xA;&#x9; * @param w&#xA;&#x9; * Amount by which width is to be resized&#xA;&#x9; * @param h&#xA;&#x9; * Amount by which height is to be resized&#xA;&#x9; * @return a new rectangle with its width and height modified&#xA;&#x9; */&#xA;&#x9;public Rectangle getResized(int w, int h) {&#xA;&#x9;&#x9;return new Rectangle(this).resize(w, h);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which is equivalent to this Rectangle with its&#xA;&#x9; * dimensions modified by the passed Dimension &lt;i>d&lt;/i>.&#xA;&#x9; * &#xA;&#x9; * @param d&#xA;&#x9; * Dimensions by which the rectangle's size should be modified&#xA;&#x9; * @return The new rectangle with the modified dimensions&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getResized(Dimension d) {&#xA;&#x9;&#x9;return new Rectangle(this).resize(d);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point which represents the middle point of the right hand&#xA;&#x9; * side of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the right of the Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getRight() {&#xA;&#x9;&#x9;return new Point(right(), y + height / 2);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Retuns the dimensions of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Size of this Rectangle as a Dimension&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Dimension getSize() {&#xA;&#x9;&#x9;return new Dimension(width, height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point which represents the middle point of the top side of&#xA;&#x9; * this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the top of the Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getTop() {&#xA;&#x9;&#x9;return new Point(x + width / 2, y);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point which represents the top left hand corner of this&#xA;&#x9; * Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the top left of the rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getTopLeft() {&#xA;&#x9;&#x9;return new Point(x, y);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Point which represents the top right hand corner of this&#xA;&#x9; * Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return Point at the top right of the rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Point getTopRight() {&#xA;&#x9;&#x9;return new Point(x + width, y);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which is shifted along each axis by the passed&#xA;&#x9; * values.&#xA;&#x9; * &#xA;&#x9; * @param dx&#xA;&#x9; * Displacement along X axis&#xA;&#x9; * @param dy&#xA;&#x9; * Displacement along Y axis&#xA;&#x9; * @return The new translated rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getTranslated(int dx, int dy) {&#xA;&#x9;&#x9;return new Rectangle(this).translate(dx, dy);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which is shifted by the position of the given&#xA;&#x9; * Point.&#xA;&#x9; * &#xA;&#x9; * @param pt&#xA;&#x9; * Point providing the amount of shift along each axis&#xA;&#x9; * @return The new translated Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getTranslated(Point pt) {&#xA;&#x9;&#x9;return new Rectangle(this).translate(pt);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new rectangle whose width and height have been interchanged, as&#xA;&#x9; * well as its x and y values. This can be useful in orientation changes.&#xA;&#x9; * &#xA;&#x9; * @return The transposed rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getTransposed() {&#xA;&#x9;&#x9;Rectangle r = new Rectangle(this);&#xA;&#x9;&#x9;r.transpose();&#xA;&#x9;&#x9;return r;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns a new Rectangle which contains both this Rectangle and the&#xA;&#x9; * Rectangle supplied as input.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle for calculating union&#xA;&#x9; * @return A new unioned Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle getUnion(Rectangle rect) {&#xA;&#x9;&#x9;if (rect == null || rect.isEmpty())&#xA;&#x9;&#x9;&#x9;return new Rectangle(this);&#xA;&#x9;&#x9;Rectangle union = new Rectangle(Math.min(x, rect.x),&#xA;&#x9;&#x9;&#x9;&#x9;Math.min(y, rect.y), 0, 0);&#xA;&#x9;&#x9;union.width = Math.max(x + width, rect.x + rect.width) - union.x;&#xA;&#x9;&#x9;union.height = Math.max(y + height, rect.y + rect.height) - union.y;&#xA;&#x9;&#x9;return union;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @see java.lang.Object#hashCode()&#xA;&#x9; */&#xA;&#x9;public int hashCode() {&#xA;&#x9;&#x9;return (x + height + 1) * (y + width + 1) ^ x ^ y;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Sets the size of this Rectangle to the intersection region with the&#xA;&#x9; * Rectangle supplied as input, and returns this for convenience. The&#xA;&#x9; * location and dimensions are set to zero if there is no intersection with&#xA;&#x9; * the input Rectangle.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle for the calculating intersection.&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle intersect(Rectangle rect) {&#xA;&#x9;&#x9;int x1 = Math.max(x, rect.x);&#xA;&#x9;&#x9;int x2 = Math.min(x + width, rect.x + rect.width);&#xA;&#x9;&#x9;int y1 = Math.max(y, rect.y);&#xA;&#x9;&#x9;int y2 = Math.min(y + height, rect.y + rect.height);&#xA;&#x9;&#x9;if (((x2 - x1) &lt; 0) || ((y2 - y1) &lt; 0))&#xA;&#x9;&#x9;&#x9;x = y = width = height = 0; // No intersection&#xA;&#x9;&#x9;else {&#xA;&#x9;&#x9;&#x9;x = x1;&#xA;&#x9;&#x9;&#x9;y = y1;&#xA;&#x9;&#x9;&#x9;width = x2 - x1;&#xA;&#x9;&#x9;&#x9;height = y2 - y1;&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>true&lt;/code> if the input Rectangle intersects this&#xA;&#x9; * Rectangle.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle for the intersetion test&#xA;&#x9; * @return &lt;code>true&lt;/code> if the input Rectangle intersects this&#xA;&#x9; * Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public boolean intersects(Rectangle rect) {&#xA;&#x9;&#x9;return rect.x &lt; x + width &amp;&amp; rect.y &lt; y + height&#xA;&#x9;&#x9;&#x9;&#x9;&amp;&amp; rect.x + rect.width > x &amp;&amp; rect.y + rect.height > y;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>true&lt;/code> if this Rectangle's width or height is less&#xA;&#x9; * than or equal to 0.&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>true&lt;/code> if this Rectangle is empty&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public boolean isEmpty() {&#xA;&#x9;&#x9;return width &lt;= 0 || height &lt;= 0;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @see Translatable#performScale(double)&#xA;&#x9; */&#xA;&#x9;public void performScale(double factor) {&#xA;&#x9;&#x9;scale(factor);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @see Translatable#performTranslate(int, int)&#xA;&#x9; */&#xA;&#x9;public void performTranslate(int dx, int dy) {&#xA;&#x9;&#x9;translate(dx, dy);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Resizes this Rectangle by the Dimension provided as input and returns&#xA;&#x9; * this for convenience. This Rectange's width will become this.width +&#xA;&#x9; * sizeDelta.width. Likewise for height.&#xA;&#x9; * &#xA;&#x9; * @param sizeDelta&#xA;&#x9; * Resize data as a Dimension&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle resize(Dimension sizeDelta) {&#xA;&#x9;&#x9;width += sizeDelta.width;&#xA;&#x9;&#x9;height += sizeDelta.height;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Resizes this Rectangle by the values supplied as input and returns this&#xA;&#x9; * for convenience. This Rectangle's width will become this.width + dw. This&#xA;&#x9; * Rectangle's height will become this.height + dh.&#xA;&#x9; * &#xA;&#x9; * @param dw&#xA;&#x9; * Amount by which width is to be resized&#xA;&#x9; * @param dh&#xA;&#x9; * Amount by which height is to be resized&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle resize(int dw, int dh) {&#xA;&#x9;&#x9;width += dw;&#xA;&#x9;&#x9;height += dh;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns the x-coordinate of the right side of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return The X coordinate of the right side&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public int right() {&#xA;&#x9;&#x9;return x + width;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Scales the location and size of this Rectangle by the given scale and&#xA;&#x9; * returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @param scaleFactor&#xA;&#x9; * The factor by which this rectangle will be scaled&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public final Rectangle scale(double scaleFactor) {&#xA;&#x9;&#x9;return scale(scaleFactor, scaleFactor);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Scales the location and size of this Rectangle by the given scales and&#xA;&#x9; * returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @param scaleX&#xA;&#x9; * the factor by which the X dimension has to be scaled&#xA;&#x9; * @param scaleY&#xA;&#x9; * the factor by which the Y dimension has to be scaled&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle scale(double scaleX, double scaleY) {&#xA;&#x9;&#x9;int oldX = x;&#xA;&#x9;&#x9;int oldY = y;&#xA;&#x9;&#x9;x = (int) (Math.floor(x * scaleX));&#xA;&#x9;&#x9;y = (int) (Math.floor(y * scaleY));&#xA;&#x9;&#x9;width = (int) (Math.ceil((oldX + width) * scaleX)) - x;&#xA;&#x9;&#x9;height = (int) (Math.ceil((oldY + height) * scaleY)) - y;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Sets the parameters of this Rectangle from the Rectangle passed in and&#xA;&#x9; * returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle providing the bounding values&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle setBounds(Rectangle rect) {&#xA;&#x9;&#x9;x = rect.x;&#xA;&#x9;&#x9;y = rect.y;&#xA;&#x9;&#x9;width = rect.width;&#xA;&#x9;&#x9;height = rect.height;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Sets the location of this Rectangle to the point given as input and&#xA;&#x9; * returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @param p&#xA;&#x9; * New position of this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle setLocation(Point p) {&#xA;&#x9;&#x9;x = p.x;&#xA;&#x9;&#x9;y = p.y;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Sets the location of this Rectangle to the coordinates given as input and&#xA;&#x9; * returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @param x1&#xA;&#x9; * The new X coordinate&#xA;&#x9; * @param y1&#xA;&#x9; * The new Y coordinate&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle setLocation(int x1, int y1) {&#xA;&#x9;&#x9;x = x1;&#xA;&#x9;&#x9;y = y1;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Sets the width and height of this Rectangle to the width and height of&#xA;&#x9; * the given Dimension and returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @param d&#xA;&#x9; * The new Dimension&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle setSize(Dimension d) {&#xA;&#x9;&#x9;width = d.width;&#xA;&#x9;&#x9;height = d.height;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Sets the width of this Rectangle to &lt;i>w&lt;/i> and the height of this&#xA;&#x9; * Rectangle to &lt;i>h&lt;/i> and returns this for convenience.&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @param w&#xA;&#x9; * The new width&#xA;&#x9; * @param h&#xA;&#x9; * The new height&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle setSize(int w, int h) {&#xA;&#x9;&#x9;width = w;&#xA;&#x9;&#x9;height = h;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Shrinks the sides of this Rectangle by the horizontal and vertical values&#xA;&#x9; * provided as input, and returns this Rectangle for convenience. The center&#xA;&#x9; * of this Rectangle is kept constant.&#xA;&#x9; * &#xA;&#x9; * @param h&#xA;&#x9; * Horizontal reduction amount&#xA;&#x9; * @param v&#xA;&#x9; * Vertical reduction amount&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle shrink(int h, int v) {&#xA;&#x9;&#x9;x += h;&#xA;&#x9;&#x9;width -= (h + h);&#xA;&#x9;&#x9;y += v;&#xA;&#x9;&#x9;height -= (v + v);&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns the description of this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return String containing the description&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public String toString() {&#xA;&#x9;&#x9;return &quot;Rectangle(&quot; + x + &quot;, &quot; + y + &quot;, &quot; + //$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$&#xA;&#x9;&#x9;&#x9;&#x9;width + &quot;, &quot; + height + &quot;)&quot;;//$NON-NLS-2$//$NON-NLS-1$&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>true&lt;/code> if the input Rectangle touches this Rectangle.&#xA;&#x9; * &#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle being checked for contact&#xA;&#x9; * @return &lt;code>true&lt;/code> if rect touches this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public boolean touches(Rectangle rect) {&#xA;&#x9;&#x9;return rect.x &lt;= x + width &amp;&amp; rect.y &lt;= y + height&#xA;&#x9;&#x9;&#x9;&#x9;&amp;&amp; rect.x + rect.width >= x &amp;&amp; rect.y + rect.height >= y;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Moves this Rectangle horizontally by the x value of the given Point and&#xA;&#x9; * vertically by the y value of the given Point, then returns this Rectangle&#xA;&#x9; * for convenience.&#xA;&#x9; * &#xA;&#x9; * @param p&#xA;&#x9; * Point which provides translation information&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; */&#xA;&#x9;public Rectangle translate(Point p) {&#xA;&#x9;&#x9;x += p.x;&#xA;&#x9;&#x9;y += p.y;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Moves this Rectangle horizontally by dx and vertically by dy, then&#xA;&#x9; * returns this Rectangle for convenience.&#xA;&#x9; * &#xA;&#x9; * @param dx&#xA;&#x9; * Shift along X axis&#xA;&#x9; * @param dy&#xA;&#x9; * Shift along Y axis&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle translate(int dx, int dy) {&#xA;&#x9;&#x9;x += dx;&#xA;&#x9;&#x9;y += dy;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Switches the x and y values, as well as the width and height of this&#xA;&#x9; * Rectangle. Useful for orientation changes.&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle transpose() {&#xA;&#x9;&#x9;int temp = x;&#xA;&#x9;&#x9;x = y;&#xA;&#x9;&#x9;y = temp;&#xA;&#x9;&#x9;temp = width;&#xA;&#x9;&#x9;width = height;&#xA;&#x9;&#x9;height = temp;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Unions this Rectangle's width and height with the specified Dimension.&#xA;&#x9; * &#xA;&#x9; * @param d&#xA;&#x9; * Dimension being unioned&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle union(Dimension d) {&#xA;&#x9;&#x9;width = Math.max(width, d.width);&#xA;&#x9;&#x9;height = Math.max(height, d.height);&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Updates this Rectangle's bounds to the minimum size which can hold both&#xA;&#x9; * this Rectangle and the coordinate (x,y).&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @param x1&#xA;&#x9; * X coordinate&#xA;&#x9; * @param y1&#xA;&#x9; * Y coordinate&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle union(int x1, int y1) {&#xA;&#x9;&#x9;if (x1 &lt; x) {&#xA;&#x9;&#x9;&#x9;width += (x - x1);&#xA;&#x9;&#x9;&#x9;x = x1;&#xA;&#x9;&#x9;} else {&#xA;&#x9;&#x9;&#x9;int right = x + width;&#xA;&#x9;&#x9;&#x9;if (x1 >= right) {&#xA;&#x9;&#x9;&#x9;&#x9;right = x1 + 1;&#xA;&#x9;&#x9;&#x9;&#x9;width = right - x;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;if (y1 &lt; y) {&#xA;&#x9;&#x9;&#x9;height += (y - y1);&#xA;&#x9;&#x9;&#x9;y = y1;&#xA;&#x9;&#x9;} else {&#xA;&#x9;&#x9;&#x9;int bottom = y + height;&#xA;&#x9;&#x9;&#x9;if (y1 >= bottom) {&#xA;&#x9;&#x9;&#x9;&#x9;bottom = y1 + 1;&#xA;&#x9;&#x9;&#x9;&#x9;height = bottom - y;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Updates this Rectangle's bounds to the minimum size which can hold both&#xA;&#x9; * this Rectangle and the given Point.&#xA;&#x9; * &#xA;&#x9; * @param p&#xA;&#x9; * Point to be unioned with this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public void union(Point p) {&#xA;&#x9;&#x9;union(p.x, p.y);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Updates this Rectangle's dimensions to the minimum size which can hold&#xA;&#x9; * both this Rectangle and the given Rectangle.&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @param rect&#xA;&#x9; * Rectangle to be unioned with this Rectangle&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle union(Rectangle rect) {&#xA;&#x9;&#x9;if (rect == null)&#xA;&#x9;&#x9;&#x9;return this;&#xA;&#x9;&#x9;return union(rect.x, rect.y, rect.width, rect.height);&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Updates this Rectangle's dimensions to the minimum size which can hold&#xA;&#x9; * both this Rectangle and the rectangle (x, y, w, h).&#xA;&#x9; * &#xA;&#x9; * @param x&#xA;&#x9; * X coordiante of desired union.&#xA;&#x9; * @param y&#xA;&#x9; * Y coordiante of desired union.&#xA;&#x9; * @param w&#xA;&#x9; * Width of desired union.&#xA;&#x9; * @param h&#xA;&#x9; * Height of desired union.&#xA;&#x9; * @return &lt;code>this&lt;/code> for convenience&#xA;&#x9; * @since 2.0&#xA;&#x9; */&#xA;&#x9;public Rectangle union(int x, int y, int w, int h) {&#xA;&#x9;&#x9;int right = Math.max(this.x + width, x + w);&#xA;&#x9;&#x9;int bottom = Math.max(this.y + height, y + h);&#xA;&#x9;&#x9;this.x = Math.min(this.x, x);&#xA;&#x9;&#x9;this.y = Math.min(this.y, y);&#xA;&#x9;&#x9;this.width = right - this.x;&#xA;&#x9;&#x9;this.height = bottom - this.y;&#xA;&#x9;&#x9;return this;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>double&lt;/code> x coordinate&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>double&lt;/code> x coordinate&#xA;&#x9; * @since 3.4&#xA;&#x9; */&#xA;&#x9;public double preciseX() {&#xA;&#x9;&#x9;return x;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>double&lt;/code> y coordinate&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>double&lt;/code> y coordinate&#xA;&#x9; * @since 3.4&#xA;&#x9; */&#xA;&#x9;public double preciseY() {&#xA;&#x9;&#x9;return y;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>double&lt;/code> width&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>double&lt;/code> width&#xA;&#x9; * @since 3.4&#xA;&#x9; */&#xA;&#x9;public double preciseWidth() {&#xA;&#x9;&#x9;return width;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * Returns &lt;code>double&lt;/code> height&#xA;&#x9; * &#xA;&#x9; * @return &lt;code>double&lt;/code> height&#xA;&#x9; * @since 3.4&#xA;&#x9; */&#xA;&#x9;public double preciseHeight() {&#xA;&#x9;&#x9;return height;&#xA;&#x9;}&#xA;&#xA;}&#xA;" measuredWidth="476" measuredHeight="288" verticalScrollbar="true">
+ <font/>
+ </widgets>
+ <widgets xsi:type="model:Tabs" x="175" y="106" text="NodeFigure.java,Figure.class,Rectangle.class" measuredWidth="336" measuredHeight="30" selection="2">
+ <items x="1" y="0" width="122" height="30" text="NodeFigure.java"/>
+ <items x="123" y="0" width="94" height="30" text="Figure.class"/>
+ <items x="217" y="0" width="118" height="30" text="Rectangle.class"/>
+ </widgets>
+ <widgets xsi:type="model:Tabs" x="672" y="106" text="Outline" measuredWidth="67" measuredHeight="30" selection="0">
+ <items x="1" y="0" width="65" height="30" text="Outline"/>
+ </widgets>
+ <widgets xsi:type="model:Tabs" x="175" y="430" text="Problems,Javadoc,Declaration,Console" measuredWidth="315" measuredHeight="30" selection="4">
+ <items x="1" y="0" width="80" height="30" text="Problems"/>
+ <items x="81" y="0" width="69" height="30" text="Javadoc"/>
+ <items x="150" y="0" width="93" height="30" text="Declaration"/>
+ <items x="243" y="0" width="71" height="30" text="Console"/>
+ </widgets>
+ <widgets xsi:type="model:Label" x="178" y="460" text="No consoles to display at this time." measuredWidth="229" measuredHeight="25">
+ <font/>
+ </widgets>
+ <widgets xsi:type="model:Tabs" x="31" y="106" text="Project Explorer" measuredWidth="122" measuredHeight="30" selection="0">
+ <items x="1" y="0" width="120" height="30" text="Project Explorer"/>
+ </widgets>
+ <widgets xsi:type="model:Icon" x="154" y="142" measuredWidth="16" measuredHeight="16" icon="image (small)"/>
+ <widgets xsi:type="model:VLine" x="172" y="106" height="465" measuredWidth="6" measuredHeight="465"/>
+ <widgets xsi:type="model:HLine" x="175" y="427" width="666" measuredWidth="666" measuredHeight="6"/>
+ <widgets xsi:type="model:VLine" x="669" y="106" height="321" measuredWidth="6" measuredHeight="321"/>
+ <widgets xsi:type="model:VLine" x="29" y="573" height="30" measuredWidth="6" measuredHeight="30"/>
+ <widgets xsi:type="model:VLine" x="655" y="573" height="30" measuredWidth="6" measuredHeight="30"/>
+ <widgets xsi:type="model:Tooltip" x="650" y="38" text="CoolBar" measuredWidth="67" measuredHeight="42">
+ <font bold="true" italic="true"/>
+ </widgets>
+ <widgets xsi:type="model:Tooltip" x="489" y="13" text="Menu" measuredWidth="50" measuredHeight="42">
+ <font bold="true" italic="true"/>
+ </widgets>
+ <widgets xsi:type="model:Tooltip" x="616" y="555" text="StatusBar" measuredWidth="82" measuredHeight="42">
+ <font bold="true" italic="true"/>
+ </widgets>
+ <widgets xsi:type="model:Label" x="377" y="259" text="IEditorPart\nInstances" measuredWidth="230" measuredHeight="110" textAlignment="Center">
+ <font size="32"/>
+ </widgets>
+ <widgets xsi:type="model:Label" x="86" y="497" text="ViewPart's" measuredWidth="225" measuredHeight="59" textAlignment="Center">
+ <font size="32"/>
+ </widgets>
+ <widgets xsi:type="model:Label" x="606" y="408" text="ViewPart's" measuredWidth="225" measuredHeight="59" textAlignment="Center">
+ <font size="32"/>
+ </widgets>
+ <hRuler/>
+ <vRuler/>
+ <font/>
+</model:Screen>