Home | History | Annotate | Download | only in data
      1 // Copyright (c) 2012 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 cr.define('print_preview', function() {
      6   'use strict';
      7 
      8   /**
      9    * Immutable two-dimensional size.
     10    * @param {number} width Width of the size.
     11    * @param {number} height Height of the size.
     12    * @constructor
     13    */
     14   function Size(width, height) {
     15     /**
     16      * Width of the size.
     17      * @type {number}
     18      * @private
     19      */
     20     this.width_ = width;
     21 
     22     /**
     23      * Height of the size.
     24      * @type {number}
     25      * @private
     26      */
     27     this.height_ = height;
     28   };
     29 
     30   Size.prototype = {
     31     /** @return {number} Width of the size. */
     32     get width() {
     33       return this.width_;
     34     },
     35 
     36     /** @return {number} Height of the size. */
     37     get height() {
     38       return this.height_;
     39     },
     40 
     41     /**
     42      * @param {print_preview.Size} other Other size object to compare against.
     43      * @return {boolean} Whether this size object is equal to another.
     44      */
     45     equals: function(other) {
     46       return other != null &&
     47           this.width_ == other.width_ &&
     48           this.height_ == other.height_;
     49     }
     50   };
     51 
     52   // Export
     53   return {
     54     Size: Size
     55   };
     56 });
     57