VMLPath.js revision 60aa9bb9c10c290c922d51d05a4dfa7176cfd40e
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp/**
0fdefaa9ca017edfb76b736c825b34186f33045aTripp * <a href="http://www.w3.org/TR/NOTE-VML">VML</a> implementation of the <a href="Path.html">`Path`</a> class.
0fdefaa9ca017edfb76b736c825b34186f33045aTripp * `VMLPath` is not intended to be used directly. Instead, use the <a href="Path.html">`Path`</a> class.
0fdefaa9ca017edfb76b736c825b34186f33045aTripp * If the browser lacks <a href="http://www.w3.org/TR/SVG/">SVG</a> and <a href="http://www.w3.org/TR/html5/the-canvas-element.html">Canvas</a>
0fdefaa9ca017edfb76b736c825b34186f33045aTripp * capabilities, the <a href="Path.html">`Path`</a> class will point to the `VMLPath` class.
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp *
a75ebc38c1de401b679953a9b87bd323f0f48d02Tripp * @module graphics
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp * @class VMLPath
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp * @extends VMLShape
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp */
9eaaa502227248d304ac9170902697d02158c1d9TrippVMLPath = function()
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp{
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp VMLPath.superclass.constructor.apply(this, arguments);
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp};
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTrippVMLPath.NAME = "vmlPath";
5ecb8c8b041752f6b716054ff5cfc2c9992365c6TrippY.extend(VMLPath, Y.VMLShape, {
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp /**
cec703a844d9691646231634fe709f4ea41d278aTripp * Updates `Shape` based on attribute changes.
cec703a844d9691646231634fe709f4ea41d278aTripp *
cec703a844d9691646231634fe709f4ea41d278aTripp * @method _updateHandler
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp * @private
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp */
5ecb8c8b041752f6b716054ff5cfc2c9992365c6Tripp _updateHandler: function()
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp {
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp var host = this;
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp host._fillChangeHandler();
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp host._strokeChangeHandler();
4f117ca9be1d1a5a285b20cac401d1c2ee340c5bTripp host._updateTransform();
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp }
5ecb8c8b041752f6b716054ff5cfc2c9992365c6Tripp});
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTrippVMLPath.ATTRS = Y.merge(Y.VMLShape.ATTRS, {
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp /**
e7c7565d9550eaa87043aef0df77125ada996deaTripp * Indicates the width of the shape
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp *
60aa9bb9c10c290c922d51d05a4dfa7176cfd40eTripp * @config width
e7c7565d9550eaa87043aef0df77125ada996deaTripp * @type Number
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp */
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp width: {
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp getter: function()
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp {
60aa9bb9c10c290c922d51d05a4dfa7176cfd40eTripp var val = Math.max(this._right - this._left, 0);
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp return val;
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp }
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp },
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp /**
e7c7565d9550eaa87043aef0df77125ada996deaTripp * Indicates the height of the shape
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp *
c093c1aed867e18aa4778708592e1ceb45d18cffTripp * @config height
e7c7565d9550eaa87043aef0df77125ada996deaTripp * @type Number
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp */
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp height: {
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp getter: function()
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp {
60aa9bb9c10c290c922d51d05a4dfa7176cfd40eTripp return Math.max(this._bottom - this._top, 0);
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp }
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp },
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp /**
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp * Indicates the path used for the node.
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp *
c093c1aed867e18aa4778708592e1ceb45d18cffTripp * @config path
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp * @type String
0fdefaa9ca017edfb76b736c825b34186f33045aTripp * @readOnly
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp */
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp path: {
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp readOnly: true,
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp getter: function()
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp {
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp return this._path;
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp }
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp }
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTripp});
09688ec5ffb8b9cf9883a770e2f9ebd60b28888dTrippY.VMLPath = VMLPath;