src/cm/media/js/lib/yui/yui_3.0.0b1/build/node/node-screen-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
/*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
Code licensed under the BSD License:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
http://developer.yahoo.net/yui/license.txt
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
version: 3.0.0b1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
build: 1163
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
YUI.add('node-screen', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
 * Extended Node interface for managing regions and screen positioning.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
 * Adds support for positioning elements and normalizes window size and scroll detection. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
 * @module node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
 * @submodule node-screen
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
// these are all "safe" returns, no wrapping required
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
Y.each([
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
     * Returns the inner width of the viewport (exludes scrollbar). 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
     * @config winWidth
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
     * @for Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
     * @type {Int}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
    'winWidth',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
     * Returns the inner height of the viewport (exludes scrollbar). 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
     * @config winHeight
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
     * @type {Int}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
    'winHeight',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
     * Document width 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
     * @config winHeight
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
     * @type {Int}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
    'docWidth',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
     * Document height 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
     * @config docHeight
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
     * @type {Int}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
    'docHeight',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
     * Amount page has been scroll vertically 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
     * @config docScrollX
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
     * @type {Int}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
    'docScrollX',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
     * Amount page has been scroll horizontally 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
     * @config docScrollY
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
     * @type {Int}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
    'docScrollY'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
    ],
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
    function(name) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
        Y.Node.ATTRS[name] = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
            getter: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
                var args = Array.prototype.slice.call(arguments);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
                args.unshift(Y.Node.getDOMNode(this));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
                return Y.DOM[name].apply(this, args);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
        };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
Y.Node.ATTRS.scrollLeft = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
    getter: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
        var node = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
        return ('scrollLeft' in node) ? node.scrollLeft : Y.DOM.docScrollX(node);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
    },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
    setter: function(val) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
        var node = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
        if (node) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
            if ('scrollLeft' in node) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
                node.scrollLeft = val;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
            } else if (node.document || node.nodeType === 9) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
                Y.DOM._getWin(node).scrollTo(val, Y.DOM.docScrollY(node)); // scroll window if win or doc
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
            Y.log('unable to set scrollLeft for ' + node, 'error', 'Node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
Y.Node.ATTRS.scrollTop = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
    getter: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
        var node = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
        return ('scrollTop' in node) ? node.scrollTop : Y.DOM.docScrollY(node);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
    },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
    setter: function(val) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
        var node = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
        if (node) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
            if ('scrollTop' in node) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
                node.scrollTop = val;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
            } else if (node.document || node.nodeType === 9) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
                Y.DOM._getWin(node).scrollTo(Y.DOM.docScrollX(node), val); // scroll window if win or doc
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
            Y.log('unable to set scrollTop for ' + node, 'error', 'Node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
Y.Node.importMethod(Y.DOM, [
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
 * Gets the current position of the node in page coordinates. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
 * @method getXY
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
 * @for Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
 * @return {Array} The XY position of the node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
    'getXY',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
 * @method setXY
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
 * @param {Array} xy Contains X & Y values for new position (coordinates are page-based)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
 * @chainable
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
    'setXY',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
 * Gets the current position of the node in page coordinates. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
 * @method getX
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
 * @return {Int} The X position of the node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
    'getX',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
 * @method setX
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
 * @param {Int} x X value for new position (coordinates are page-based)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
 * @chainable
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
    'setX',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
 * Gets the current position of the node in page coordinates. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
 * @method getY
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
 * @return {Int} The Y position of the node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
    'getY',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
 * Set the position of the node in page coordinates, regardless of how the node is positioned.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
 * @method setY
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
 * @param {Int} y Y value for new position (coordinates are page-based)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
 * @chainable
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
    'setY'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
 * Returns a region object for the node 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
 * @config region
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
 * @for Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
 * @type Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
Y.Node.ATTRS.region = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
    getter: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
        var node = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
        if (node && !node.tagName) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
            if (node.nodeType === 9) { // document
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
                node = node.documentElement;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
            } else if (node.alert) { // window
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
                node = node.document.documentElement;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
        return Y.DOM.region(node);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
 * Returns a region object for the node's viewport 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
 * @config viewportRegion
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
 * @type Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
Y.Node.ATTRS.viewportRegion = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
    getter: function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
        return Y.DOM.viewportRegion(Y.Node.getDOMNode(this));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
Y.Node.importMethod(Y.DOM, 'inViewportRegion');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
// these need special treatment to extract 2nd node arg
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
 * Compares the intersection of the node with another node or region 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
 * @method intersect         
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
 * @for Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
 * @param {Node|Object} node2 The node or region to compare with.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
 * @param {Object} altRegion An alternate region to use (rather than this node's). 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
 * @return {Object} An object representing the intersection of the regions. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
Y.Node.prototype.intersect = function(node2, altRegion) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
    var node1 = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
    if (node2 instanceof Y.Node) { // might be a region object
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
        node2 = Y.Node.getDOMNode(node2);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
    return Y.DOM.intersect(node1, node2, altRegion); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
 * Determines whether or not the node is within the giving region.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
 * @method inRegion         
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
 * @param {Node|Object} node2 The node or region to compare with.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
 * @param {Boolean} all Whether or not all of the node must be in the region. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
 * @param {Object} altRegion An alternate region to use (rather than this node's). 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
 * @return {Object} An object representing the intersection of the regions. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
Y.Node.prototype.inRegion = function(node2, all, altRegion) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
    var node1 = Y.Node.getDOMNode(this);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
    if (node2 instanceof Y.Node) { // might be a region object
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
        node2 = Y.Node.getDOMNode(node2);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
    return Y.DOM.inRegion(node1, node2, all, altRegion); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
}, '3.0.0b1' ,{requires:['dom-screen']});