mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-01-03 19:45:44 -05:00
Give any item / object that needs to be exported as a definition / symbol its own unique id.
This will be useful in SVG and JSON exporter.
This commit is contained in:
parent
49728665e6
commit
565fb86430
4 changed files with 11 additions and 6 deletions
|
@ -79,6 +79,8 @@ var GradientColor = this.GradientColor = Color.extend(/** @lends GradientColor#
|
||||||
* path.fillColor = gradientColor;
|
* path.fillColor = gradientColor;
|
||||||
*/
|
*/
|
||||||
initialize: function(gradient, origin, destination, hilite) {
|
initialize: function(gradient, origin, destination, hilite) {
|
||||||
|
// Define this GradientColor's unique id.
|
||||||
|
this._id = ++Base._uid;
|
||||||
this.gradient = gradient || new Gradient();
|
this.gradient = gradient || new Gradient();
|
||||||
this.gradient._addOwner(this);
|
this.gradient._addOwner(this);
|
||||||
this.setOrigin(origin);
|
this.setOrigin(origin);
|
||||||
|
|
|
@ -54,6 +54,11 @@ this.Base = Base.inject(/** @lends Base# */{
|
||||||
|
|
||||||
_types: {},
|
_types: {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A uniqued id number, which when consumed needs to be increased by one
|
||||||
|
*/
|
||||||
|
_uid: 0,
|
||||||
|
|
||||||
extend: function(src) {
|
extend: function(src) {
|
||||||
// Override Base.extend() with a version that registers classes that
|
// Override Base.extend() with a version that registers classes that
|
||||||
// define #_type inside the Base._types lookup, for deserialization.
|
// define #_type inside the Base._types lookup, for deserialization.
|
||||||
|
|
|
@ -31,7 +31,7 @@ var Item = this.Item = Base.extend(Callback, /** @lends Item# */{
|
||||||
|
|
||||||
initialize: function(point) {
|
initialize: function(point) {
|
||||||
// Define this Item's unique id.
|
// Define this Item's unique id.
|
||||||
this._id = ++Item._id;
|
this._id = ++Base._uid;
|
||||||
// If _project is already set, the item was already moved into the DOM
|
// If _project is already set, the item was already moved into the DOM
|
||||||
// hierarchy. Used by Layer, where it's added to project.layers instead
|
// hierarchy. Used by Layer, where it's added to project.layers instead
|
||||||
if (!this._project)
|
if (!this._project)
|
||||||
|
@ -270,7 +270,7 @@ var Item = this.Item = Base.extend(Callback, /** @lends Item# */{
|
||||||
}
|
}
|
||||||
this._name = name || undefined;
|
this._name = name || undefined;
|
||||||
this._changed(/*#=*/ ChangeFlag.ATTRIBUTE);
|
this._changed(/*#=*/ ChangeFlag.ATTRIBUTE);
|
||||||
},
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The path style of the item.
|
* The path style of the item.
|
||||||
|
@ -312,10 +312,6 @@ var Item = this.Item = Base.extend(Callback, /** @lends Item# */{
|
||||||
* var path2 = new Path.Circle(new Point(150, 50), 20);
|
* var path2 = new Path.Circle(new Point(150, 50), 20);
|
||||||
* path2.style = myStyle;
|
* path2.style = myStyle;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
statics: {
|
|
||||||
_id: 0
|
|
||||||
}
|
|
||||||
}, Base.each(['locked', 'visible', 'blendMode', 'opacity', 'guide'],
|
}, Base.each(['locked', 'visible', 'blendMode', 'opacity', 'guide'],
|
||||||
// Produce getter/setters for properties. We need setters because we want to
|
// Produce getter/setters for properties. We need setters because we want to
|
||||||
// call _changed() if a property was modified.
|
// call _changed() if a property was modified.
|
||||||
|
|
|
@ -57,6 +57,8 @@ var Symbol = this.Symbol = Base.extend(/** @lends Symbol# */{
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
initialize: function(item) {
|
initialize: function(item) {
|
||||||
|
// Define this Symbols's unique id.
|
||||||
|
this._id = ++Base._uid;
|
||||||
this.project = paper.project;
|
this.project = paper.project;
|
||||||
this.project.symbols.push(this);
|
this.project.symbols.push(this);
|
||||||
this.setDefinition(item);
|
this.setDefinition(item);
|
||||||
|
|
Loading…
Reference in a new issue