@qooxdoo/framework
Version:
The JS Framework for Coders
66 lines (58 loc) • 2.8 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2009 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Fabian Jakobs (fjakobs)
* Christian Hagendorn (chris_schmidt)
************************************************************************ */
/**
* Places the object directly at the specified position. It is not moved if
* parts of the object are outside of the axis' range.
*/
qx.Bootstrap.define("qx.util.placement.DirectAxis",
{
statics :
{
/**
* Computes the start of the object by taking only the attachment and
* alignment into account. The object by be not fully visible.
*
* @param size {Integer} Size of the object to align
* @param target {Map} Location of the object to align the object to. This map
* should have the keys <code>start</code> and <code>end</code>.
* @param offsets {Map} Map with all offsets on each side.
* Comes with the keys <code>start</code> and <code>end</code>.
* @param position {String} Accepts the same values as the <code> position</code>
* argument of {@link #computeStart}.
* @return {Integer} The computed start position of the object.
*/
_moveToEdgeAndAlign : qx.util.placement.AbstractAxis._moveToEdgeAndAlign,
/**
* Computes the start of the object on the axis
*
* @param size {Integer} Size of the object to align
* @param target {Map} Location of the object to align the object to. This map
* should have the keys <code>start</code> and <code>end</code>.
* @param offsets {Map} Map with all offsets on each side.
* Comes with the keys <code>start</code> and <code>end</code>.
* @param areaSize {Integer} Size of the axis.
* @param position {String} Alignment of the object on the target. Valid values are
* <ul>
* <li><code>edge-start</code> The object is placed before the target</li>
* <li><code>edge-end</code> The object is placed after the target</li>
* <li><code>align-start</code>The start of the object is aligned with the start of the target</li>
* <li><code>align-center</code>The center of the object is aligned with the center of the target</li>
* <li><code>align-end</code>The end of the object is aligned with the end of the object</li>
* </ul>
* @return {Integer} The computed start position of the object.
*/
computeStart : function(size, target, offsets, areaSize, position) {
return this._moveToEdgeAndAlign(size, target, offsets, position);
}
}
});