diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/graphics/ext/shape.js')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/graphics/ext/shape.js | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/graphics/ext/shape.js b/contexts/data/lib/closure-library/closure/goog/graphics/ext/shape.js deleted file mode 100644 index 3531bc0..0000000 --- a/contexts/data/lib/closure-library/closure/goog/graphics/ext/shape.js +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2007 The Closure Library Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -/** - * @fileoverview A thick wrapper around shapes with custom paths. - * @author robbyw@google.com (Robby Walker) - */ - - -goog.provide('goog.graphics.ext.Shape'); - -goog.require('goog.graphics.ext.Path'); -goog.require('goog.graphics.ext.StrokeAndFillElement'); -goog.require('goog.math.Rect'); - - - -/** - * Wrapper for a graphics shape element. - * @param {goog.graphics.ext.Group} group Parent for this element. - * @param {!goog.graphics.ext.Path} path The path to draw. - * @param {boolean=} opt_autoSize Optional flag to specify the path should - * automatically resize to fit the element. Defaults to false. - * @constructor - * @extends {goog.graphics.ext.StrokeAndFillElement} - */ -goog.graphics.ext.Shape = function(group, path, opt_autoSize) { - this.autoSize_ = !!opt_autoSize; - - var graphics = group.getGraphicsImplementation(); - var wrapper = graphics.drawPath(path, null, null, - group.getWrapper()); - goog.graphics.ext.StrokeAndFillElement.call(this, group, wrapper); - this.setPath(path); -}; -goog.inherits(goog.graphics.ext.Shape, goog.graphics.ext.StrokeAndFillElement); - - -/** - * Whether or not to automatically resize the shape's path when the element - * itself is resized. - * @type {boolean} - * @private - */ -goog.graphics.ext.Shape.prototype.autoSize_ = false; - - -/** - * The original path, specified by the caller. - * @type {goog.graphics.Path} - * @private - */ -goog.graphics.ext.Shape.prototype.path_; - - -/** - * The bounding box of the original path. - * @type {goog.math.Rect?} - * @private - */ -goog.graphics.ext.Shape.prototype.boundingBox_ = null; - - -/** - * The scaled path. - * @type {goog.graphics.Path} - * @private - */ -goog.graphics.ext.Shape.prototype.scaledPath_; - - -/** - * Get the path drawn by this shape. - * @return {goog.graphics.Path?} The path drawn by this shape. - */ -goog.graphics.ext.Shape.prototype.getPath = function() { - return this.path_; -}; - - -/** - * Set the path to draw. - * @param {goog.graphics.ext.Path} path The path to draw. - */ -goog.graphics.ext.Shape.prototype.setPath = function(path) { - this.path_ = path; - - if (this.autoSize_) { - this.boundingBox_ = path.getBoundingBox(); - } - - this.scaleAndSetPath_(); -}; - - -/** - * Scale the internal path to fit. - * @private - */ -goog.graphics.ext.Shape.prototype.scaleAndSetPath_ = function() { - this.scaledPath_ = this.boundingBox_ ? this.path_.clone().modifyBounds( - -this.boundingBox_.left, -this.boundingBox_.top, - this.getWidth() / (this.boundingBox_.width || 1), - this.getHeight() / (this.boundingBox_.height || 1)) : this.path_; - - var wrapper = this.getWrapper(); - if (wrapper) { - wrapper.setPath(this.scaledPath_); - } -}; - - -/** - * Redraw the ellipse. Called when the coordinate system is changed. - * @protected - * @override - */ -goog.graphics.ext.Shape.prototype.redraw = function() { - goog.graphics.ext.Shape.superClass_.redraw.call(this); - if (this.autoSize_) { - this.scaleAndSetPath_(); - } -}; - - -/** - * @return {boolean} Whether the shape is parent dependent. - * @protected - * @override - */ -goog.graphics.ext.Shape.prototype.checkParentDependent = function() { - return this.autoSize_ || - goog.graphics.ext.Shape.superClass_.checkParentDependent.call(this); -}; |