<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>src&#x2F;jquery.coords.js</title>
    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.1&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
    <link rel="shortcut icon" type="image/png" href="..&#x2F;assets/favicon.png">
    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;combo?3.5.1&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
</head>
<body class="yui3-skin-sam">

<div id="doc">
    <div id="hd" class="yui3-g header">
        <div class="yui3-u-3-4">
            
                <!-- <h1><img src="..&#x2F;assets/css/logo.png" title=""></h1> -->
                <h1><img src="http://ducksboard.com/wp-content/themes/blog-theme-ducksboard/images/ducksboard.png" title=""></h1>
            
        </div>
        <div class="yui3-u-1-4 version">
            <em>API Docs for: </em>
        </div>
    </div>
    <div id="bd" class="yui3-g">

        <div class="yui3-u-1-4">
            <div id="docs-sidebar" class="sidebar apidocs">
                <div id="api-list">
    <h2 class="off-left">APIs</h2>
    <div id="api-tabview" class="tabview">
        <ul class="tabs">
            <li><a href="#api-classes">Classes</a></li>
            <li><a href="#api-modules">Modules</a></li>
        </ul>

        <div id="api-tabview-filter">
            <input type="search" id="api-filter" placeholder="Type to filter APIs">
        </div>

        <div id="api-tabview-panel">
            <ul id="api-classes" class="apis classes">
            
                <li><a href="..&#x2F;classes/Collision.html">Collision</a></li>
            
                <li><a href="..&#x2F;classes/Coords.html">Coords</a></li>
            
                <li><a href="..&#x2F;classes/Gridster.html">Gridster</a></li>
            
            </ul>

            <ul id="api-modules" class="apis modules">
            
            </ul>
        </div>
    </div>
</div>

            </div>
        </div>
        <div class="yui3-u-3-4">
                <div id="api-options">
        Show:
        <label for="api-show-inherited">
            <input type="checkbox" id="api-show-inherited" checked>
            Inherited
        </label>

        <label for="api-show-protected">
            <input type="checkbox" id="api-show-protected">
            Protected
        </label>

        <label for="api-show-private">
            <input type="checkbox" id="api-show-private">
            Private
        </label>
        <label for="api-show-deprecated">
            <input type="checkbox" id="api-show-deprecated">
            Deprecated
        </label>

    </div>


            <div class="apidocs">
                <div id="docs-main">
                    <div class="content">
                        <h1 class="file-heading">File: src&#x2F;jquery.coords.js</h1>

<div class="file">
    <pre class="code prettyprint linenums">
&#x2F;*
 * jquery.coords
 * https:&#x2F;&#x2F;github.com&#x2F;ducksboard&#x2F;gridster.js
 *
 * Copyright (c) 2012 ducksboard
 * Licensed under the MIT, GPL licenses.
 *&#x2F;

;(function($, window, document, undefined){
    &#x2F;**
    * Coords description
    *
    * @class Coords
    * @param {HTMLElement|Object} obj HTMLElement or a literal Object with the left, top, width and height properties.
    * @constructor
    *&#x2F;
    function Coords(obj) {
        if (obj[0] &amp;&amp; $.isPlainObject(obj[0])) {
            this.data = obj[0];
        }else {
            this.el = obj;
        }

        this.isCoords = true;
        this.coords = {};
        this.init();
        return this;
    }

    var fn = Coords.prototype;

    fn.init = function(){
        this.set();
        this.original_coords = this.get();
    };

    fn.set = function() {
        var el = this.el;
        if (el) {
            this.data = el.offset();
            this.data.width || (this.data.width = el.width());
            this.data.height || (this.data.height = el.height());
        }

        var d = this.data;

        this.coords.x1 = d.left;
        this.coords.y1 = d.top;
        this.coords.x2 = d.left + d.width;
        this.coords.y2 = d.top + d.height;
        this.coords.cx = d.left + (d.width &#x2F; 2);
        this.coords.cy = d.top + (d.height &#x2F; 2);
        this.coords.width  = d.width;
        this.coords.height = d.height;
        this.coords.el  = el || false ;

        return this;
    };

    fn.update = function(data){
        if (!data &amp;&amp; !this.el) {
            return this;
        }

        if (data) {
            var new_data = $.extend(this.data, data);
            this.data = new_data;
        }
        this.set();
        return this;
    };

    fn.get = function(){
        return this.coords;
    };

    &#x2F;&#x2F;jQuery adapter
    $.fn.coords = function() {
        if (this.data(&#x27;coords&#x27;) ) {
            return this.data(&#x27;coords&#x27;);
        }

        var ins = new Coords(this, arguments[0]);
        this.data(&#x27;coords&#x27;, ins);
        return ins;
    };

}(jQuery, window, document));

    </pre>
</div>

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
<script>prettyPrint();</script>
<script src="..&#x2F;assets/js/yui-prettify.js"></script>
<script src="..&#x2F;assets/../api.js"></script>
<script src="..&#x2F;assets/js/api-filter.js"></script>
<script src="..&#x2F;assets/js/api-list.js"></script>
<script src="..&#x2F;assets/js/api-search.js"></script>
<script src="..&#x2F;assets/js/apidocs.js"></script>
</body>
</html>