1 <html><head><title>Roo/lib/Region.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2 * Portions of this file are based on pieces of Yahoo User Interface Library
3 * Copyright (c) 2007, Yahoo! Inc. All rights reserved.
4 * YUI licensed under the BSD License:
5 * http://developer.yahoo.net/yui/license.txt
6 * <script type="text/javascript">
10 </span><span class="jsdoc-var">Roo.lib.Region </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">) {
11 </span><span class="jsdoc-var">this.top </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
12 </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">[1] = </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
13 </span><span class="jsdoc-var">this.right </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
14 </span><span class="jsdoc-var">this.bottom </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">;
15 </span><span class="jsdoc-var">this.left </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
16 </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">[0] = </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
20 </span><span class="jsdoc-var">Roo.lib.Region.prototype </span><span class="jsdoc-syntax">= {
21 </span><span class="jsdoc-var">contains </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">) {
22 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">region.left </span><span class="jsdoc-syntax">>= </span><span class="jsdoc-var">this.left </span><span class="jsdoc-syntax">&&
23 </span><span class="jsdoc-var">region.right </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">this.right </span><span class="jsdoc-syntax">&&
24 </span><span class="jsdoc-var">region.top </span><span class="jsdoc-syntax">>= </span><span class="jsdoc-var">this.top </span><span class="jsdoc-syntax">&&
25 </span><span class="jsdoc-var">region.bottom </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">this.bottom </span><span class="jsdoc-syntax">);
29 </span><span class="jsdoc-var">getArea </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
30 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">( (</span><span class="jsdoc-var">this.bottom </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.top</span><span class="jsdoc-syntax">) * (</span><span class="jsdoc-var">this.right </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.left</span><span class="jsdoc-syntax">) );
33 </span><span class="jsdoc-var">intersect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">) {
34 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.top</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.top</span><span class="jsdoc-syntax">);
35 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.right</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.right</span><span class="jsdoc-syntax">);
36 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.bottom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.bottom</span><span class="jsdoc-syntax">);
37 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.left</span><span class="jsdoc-syntax">);
39 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">>= </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">>= </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">) {
40 </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Roo.lib.Region</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">);
41 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
42 </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
45 </span><span class="jsdoc-var">union </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">) {
46 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.top</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.top</span><span class="jsdoc-syntax">);
47 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.right</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.right</span><span class="jsdoc-syntax">);
48 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.bottom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.bottom</span><span class="jsdoc-syntax">);
49 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">region.left</span><span class="jsdoc-syntax">);
51 </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Roo.lib.Region</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">);
54 </span><span class="jsdoc-var">adjust </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">) {
55 </span><span class="jsdoc-var">this.top </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
56 </span><span class="jsdoc-var">this.left </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
57 </span><span class="jsdoc-var">this.right </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
58 </span><span class="jsdoc-var">this.bottom </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">;
59 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
63 </span><span class="jsdoc-var">Roo.lib.Region.getRegion </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">) {
64 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
66 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">[1];
67 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">[0] + </span><span class="jsdoc-var">el.offsetWidth</span><span class="jsdoc-syntax">;
68 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">[1] + </span><span class="jsdoc-var">el.offsetHeight</span><span class="jsdoc-syntax">;
69 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">[0];
71 </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Roo.lib.Region</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">);
73 </span></code></body></html>