ext-base-region.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:2k
源码类别:

中间件编程

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.0.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ Ext.lib.Region = function(t, r, b, l) {
  2. var me = this;
  3.         me.top = t;
  4.         me[1] = t;
  5.         me.right = r;
  6.         me.bottom = b;
  7.         me.left = l;
  8.         me[0] = l;
  9.     };
  10.     Ext.lib.Region.prototype = {
  11.         contains : function(region) {
  12.         var me = this;
  13.             return ( region.left >= me.left &&
  14.                      region.right <= me.right &&
  15.                      region.top >= me.top &&
  16.                      region.bottom <= me.bottom );
  17.         },
  18.         getArea : function() {
  19.         var me = this;
  20.             return ( (me.bottom - me.top) * (me.right - me.left) );
  21.         },
  22.         intersect : function(region) {
  23.             var me = this,
  24.              t = Math.max(me.top, region.top),
  25.              r = Math.min(me.right, region.right),
  26.              b = Math.min(me.bottom, region.bottom),
  27.              l = Math.max(me.left, region.left);
  28.             if (b >= t && r >= l) {
  29.                 return new Ext.lib.Region(t, r, b, l);
  30.             }
  31.         },
  32.         
  33.         union : function(region) {
  34.         var me = this,
  35.              t = Math.min(me.top, region.top),
  36.              r = Math.max(me.right, region.right),
  37.              b = Math.max(me.bottom, region.bottom),
  38.              l = Math.min(me.left, region.left);
  39.             return new Ext.lib.Region(t, r, b, l);
  40.         },
  41.         constrainTo : function(r) {
  42.         var me = this;
  43.             me.top = me.top.constrain(r.top, r.bottom);
  44.             me.bottom = me.bottom.constrain(r.top, r.bottom);
  45.             me.left = me.left.constrain(r.left, r.right);
  46.             me.right = me.right.constrain(r.left, r.right);
  47.             return me;
  48.         },
  49.         adjust : function(t, l, b, r) {
  50.         var me = this;
  51.             me.top += t;
  52.             me.left += l;
  53.             me.right += r;
  54.             me.bottom += b;
  55.             return me;
  56.         }
  57.     };
  58.     Ext.lib.Region.getRegion = function(el) {
  59.         var p = Ext.lib.Dom.getXY(el),
  60.          t = p[1],
  61.          r = p[0] + el.offsetWidth,
  62.          b = p[1] + el.offsetHeight,
  63.          l = p[0];
  64.         return new Ext.lib.Region(t, r, b, l);
  65.     };