Home | History | Annotate | Download | only in cc
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 'use strict';
      6 
      7 base.require('base.rect');
      8 
      9 base.exportTo('cc', function() {
     10   function RegionFromArray(array) {
     11     if (array.length % 4 != 0)
     12       throw new Error('Array must consist be a multiple of 4 in length');
     13 
     14     var r = new Region();
     15     for (var i = 0; i < array.length; i += 4) {
     16       r.rects.push(base.Rect.FromXYWH(array[i], array[i + 1],
     17                                       array[i + 2], array[i + 3]));
     18     }
     19     return r;
     20   }
     21 
     22   /**
     23    * @constructor
     24    */
     25   function Region() {
     26     this.rects = [];
     27   }
     28 
     29   Region.prototype = {
     30     __proto__: Region.prototype,
     31 
     32     rectIntersects: function(r) {
     33       for (var i = 0; i < this.rects.length; i++) {
     34         if (this.rects[i].intersects(r))
     35           return true;
     36       }
     37       return false;
     38     }
     39   };
     40 
     41   return {
     42     Region: Region,
     43     RegionFromArray: RegionFromArray
     44   };
     45 });
     46