aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/graphics/ext/group.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/graphics/ext/group.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/graphics/ext/group.js215
1 files changed, 0 insertions, 215 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/graphics/ext/group.js b/contexts/data/lib/closure-library/closure/goog/graphics/ext/group.js
deleted file mode 100644
index cc65a34..0000000
--- a/contexts/data/lib/closure-library/closure/goog/graphics/ext/group.js
+++ /dev/null
@@ -1,215 +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 thicker wrapper around graphics groups.
- * @author robbyw@google.com (Robby Walker)
- */
-
-
-goog.provide('goog.graphics.ext.Group');
-
-goog.require('goog.graphics.ext.Element');
-
-
-
-/**
- * Wrapper for a graphics group.
- * @param {goog.graphics.ext.Group} group Parent for this element. Can
- * be null if this is a Graphics instance.
- * @param {goog.graphics.GroupElement=} opt_wrapper The thin wrapper
- * to wrap. If omitted, a new group will be created. Must be included
- * when group is null.
- * @constructor
- * @extends {goog.graphics.ext.Element}
- */
-goog.graphics.ext.Group = function(group, opt_wrapper) {
- opt_wrapper = opt_wrapper || group.getGraphicsImplementation().createGroup(
- group.getWrapper());
- goog.graphics.ext.Element.call(this, group, opt_wrapper);
-
- /**
- * Array of child elements this group contains.
- * @type {Array.<goog.graphics.ext.Element>}
- * @private
- */
- this.children_ = [];
-};
-goog.inherits(goog.graphics.ext.Group, goog.graphics.ext.Element);
-
-
-/**
- * Add an element to the group. This should be treated as package local, as
- * it is called by the draw* methods.
- * @param {!goog.graphics.ext.Element} element The element to add.
- * @param {boolean=} opt_chain Whether this addition is part of a longer set
- * of element additions.
- */
-goog.graphics.ext.Group.prototype.addChild = function(element, opt_chain) {
- if (!goog.array.contains(this.children_, element)) {
- this.children_.push(element);
- }
-
- var transformed = this.growToFit_(element);
-
- if (element.isParentDependent()) {
- element.parentTransform();
- }
-
- if (!opt_chain && element.isPendingTransform()) {
- element.reset();
- }
-
- if (transformed) {
- this.reset();
- }
-};
-
-
-/**
- * Remove an element from the group.
- * @param {goog.graphics.ext.Element} element The element to remove.
- */
-goog.graphics.ext.Group.prototype.removeChild = function(element) {
- goog.array.remove(this.children_, element);
-
- // TODO(robbyw): shape.fireEvent('delete')
-
- this.getGraphicsImplementation().removeElement(element.getWrapper());
-};
-
-
-/**
- * Calls the given function on each of this component's children in order. If
- * {@code opt_obj} is provided, it will be used as the 'this' object in the
- * function when called. The function should take two arguments: the child
- * component and its 0-based index. The return value is ignored.
- * @param {Function} f The function to call for every child component; should
- * take 2 arguments (the child and its index).
- * @param {Object=} opt_obj Used as the 'this' object in f when called.
- */
-goog.graphics.ext.Group.prototype.forEachChild = function(f, opt_obj) {
- if (this.children_) {
- goog.array.forEach(this.children_, f, opt_obj);
- }
-};
-
-
-/**
- * @return {goog.graphics.GroupElement} The underlying thin wrapper.
- * @protected
- */
-goog.graphics.ext.Group.prototype.getWrapper;
-
-
-/**
- * Reset the element.
- * @override
- */
-goog.graphics.ext.Group.prototype.reset = function() {
- goog.graphics.ext.Group.superClass_.reset.call(this);
-
- this.updateChildren();
-};
-
-
-/**
- * Called from the parent class, this method resets any pre-computed positions
- * and sizes.
- * @protected
- * @override
- */
-goog.graphics.ext.Group.prototype.redraw = function() {
- this.getWrapper().setSize(this.getWidth(), this.getHeight());
- this.transformChildren();
-};
-
-
-/**
- * Transform the children that need to be transformed.
- * @protected
- */
-goog.graphics.ext.Group.prototype.transformChildren = function() {
- this.forEachChild(function(child) {
- if (child.isParentDependent()) {
- child.parentTransform();
- }
- });
-};
-
-
-/**
- * As part of the reset process, update child elements.
- */
-goog.graphics.ext.Group.prototype.updateChildren = function() {
- this.forEachChild(function(child) {
- if (child.isParentDependent() || child.isPendingTransform()) {
- child.reset();
- } else if (child.updateChildren) {
- child.updateChildren();
- }
- });
-};
-
-
-/**
- * When adding an element, grow this group's bounds to fit it.
- * @param {!goog.graphics.ext.Element} element The added element.
- * @return {boolean} Whether the size of this group changed.
- * @private
- */
-goog.graphics.ext.Group.prototype.growToFit_ = function(element) {
- var transformed = false;
-
- var x = element.getMaxX();
- if (x > this.getWidth()) {
- this.setMinWidth(x);
- transformed = true;
- }
-
- var y = element.getMaxY();
- if (y > this.getHeight()) {
- this.setMinHeight(y);
- transformed = true;
- }
-
- return transformed;
-};
-
-
-/**
- * @return {number} The width of the element's coordinate space.
- */
-goog.graphics.ext.Group.prototype.getCoordinateWidth = function() {
- return this.getWidth();
-};
-
-
-/**
- * @return {number} The height of the element's coordinate space.
- */
-goog.graphics.ext.Group.prototype.getCoordinateHeight = function() {
- return this.getHeight();
-};
-
-
-/**
- * Remove all drawing elements from the group.
- */
-goog.graphics.ext.Group.prototype.clear = function() {
- while (this.children_.length) {
- this.removeChild(this.children_[0]);
- }
-};