{"id":0,"registry":{"0":{"shape":{"__isSmartRef__":true,"id":1},"submorphs":[],"scripts":[],"_ClipMode":"visible","derivationIds":["3ABFAB66-3E1D-4B57-B4D3-DBF0D37DCE60","D3CB6A05-D42B-419A-992D-1DDF9DDED959","034779AD-D220-487C-A85D-C8C72ED576E0","A62D47E6-D416-4F59-9C68-57A81AD83D78","B05ECE32-16B0-45B6-B2C8-5DD30A6367DD","151E29E6-76A1-40CB-9EF6-CBD018E34FB7","580B4526-35E0-46FC-BFF0-880F5745864C","A6549552-1DBD-4C96-A2A0-A19504B64AE9"],"id":"3F51D0B2-EAD8-45AB-B5EF-97A84E704CF2","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["Morph","HtmlWrapperMorph","selectable"],"eventHandler":{"__isSmartRef__":true,"id":2},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3},"name":"SVGPathMorph","prevScroll":[0,0],"htmlString":"<svg height=208 width=116><polygon points=\"0,0 116,0 58,208 \"style=\"fill:lime;stroke:purple;stroke-width:1\"/>Sorry, your browser does not support SVG</svg>","__serializedExpressions__":["polygonPoints.0","polygonPoints.1","polygonPoints.2","polygonPoints.3","polygonPoints.4","displayPoints.0","displayPoints.1","displayPoints.2","displayPoints.3","displayPoints.4","_Position","distanceToDragEvent","morphicBoundsOffset","scaleFactor"],"polygonPoints":["lively.pt(42.5,0.0)","lively.pt(83.0,29.4)","lively.pt(67.5,76.9)","lively.pt(17.5,76.9)","lively.pt(2.1,29.4)"],"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":22},"displayPoints":["lively.pt(43.6,0.0)","lively.pt(85.0,32.5)","lively.pt(69.2,85.0)","lively.pt(18.0,85.0)","lively.pt(2.1,32.5)"],"svgStyle":{"__isSmartRef__":true,"id":23},"svgCommands":[{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":25},{"__isSmartRef__":true,"id":26},{"__isSmartRef__":true,"id":27},{"__isSmartRef__":true,"id":28},{"__isSmartRef__":true,"id":29}],"path":{"__isSmartRef__":true,"id":30},"isCopyMorphRef":true,"morphRefId":1,"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":40},"__LivelyClassName__":"lively.morphic.HtmlWrapperMorph","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(181.9,-15.3)","morphicBoundsOffset":"lively.pt(3.0,3.0)","scaleFactor":"lively.pt(1.0,1.1)"},"1":{"_BorderWidth":0,"stringifiedShapeNode":"<div xmlns=\"http://www.w3.org/1999/xhtml\" data-lively-morphid=\"3F51D0B2-EAD8-45AB-B5EF-97A84E704CF2\" class=\"Morph HtmlWrapperMorph selectable\" id=\"null\" style=\"overflow: visible; border: 0px solid rgb(204, 0, 0); padding: 0px; width: 228px; height: 114px; position: absolute; left: 0px; top: 0px;\"><svg xmlns=\"http://www.w3.org/2000/svg\" height=\"114\" width=\"228\" viewBox=\"0 0 400 30\"><path d=\"M0.0000,7.5 L350.0000,7.5 L350.0000,0 L400.0000,15 L350.0000,30 L350.0000,22.5 L0.0000,22.5 Z \" style=\"stroke-width:0;opacity:1;fill:rgb(249,8,30);stroke:rgb(204,0,0);\"/>Sorry, your browser does not support SVG</svg></div>","_AppearanceStylingMode":true,"__serializedExpressions__":["_Padding","_Position","_Extent","_Fill","extent"],"__LivelyClassName__":"lively.morphic.Shapes.External","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(228.0,114.0)","_Fill":"Color.rgb(200,200,200)","extent":"lively.pt(228.0,114.0)"},"2":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3":{"partName":"SVGPathMorph","requiredModules":[],"partsSpaceName":"PartsBin/HTML/","comment":"A morph that renders an SVG Path using the SVG HTML tag.  At the moment, just wraps the path directives; an SVGPathMaker widget will be used to create and edit them.  We can also add helper routines.","changes":[{"__isSmartRef__":true,"id":4},{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":14},{"__isSmartRef__":true,"id":15},{"__isSmartRef__":true,"id":16},{"__isSmartRef__":true,"id":17},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":21}],"migrationLevel":9,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Jan 03 2015 11:29:00 GMT-0800 (PST)\")"},"4":{"author":"rick","message":"no comment","id":"F4B5C6D9-FF00-40F3-AB2C-6418F7FF0C74","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jan 01 2015 13:55:14 GMT-0800 (PST)\")"},"5":{"author":"rick","message":"no comment","id":"34146ABF-CC9A-44B4-85FB-6291FAE664AC","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 31 2014 18:57:25 GMT-0800 (PST)\")"},"6":{"author":"rick","message":"overwrote setBorderWidth, setBorderColor, setFill methods","id":"780F7A1F-27D1-45AA-BB9F-2A14B715E7B8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 31 2014 07:46:08 GMT-0800 (PST)\")"},"7":{"author":"rick","message":"no comment","id":"F10EE81E-AA10-4AA3-AED0-E39A28BD7816","__serializedExpressions__":["date"],"date":"new Date(\"Sat Dec 13 2014 13:38:34 GMT-0800 (PST)\")"},"8":{"author":"robertkrahn","message":"Fixed reset as suggested by Rick. Thanks Rick!","id":"C9389773-D839-4E3C-AF10-28F6282541BB","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jul 17 2014 12:02:10 GMT-0700 (PDT)\")"},"9":{"author":"robertkrahn","message":"no comment","id":"4B305BE4-1B35-4BBB-ABCE-D255D563CBD9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:34:42 GMT-0800 (PST)\")"},"10":{"author":"robertkrahn","message":"no comment","id":"FC45EDD5-3632-41E9-8CCF-1E7BF0F5B7FA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:35:06 GMT-0800 (PST)\")"},"11":{"author":"robertkrahn","message":"clipped","id":"D4A9A56A-16E6-4D3D-9B42-425F9CE8E8B6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:30 GMT-0800 (PST)\")"},"12":{"author":"robertkrahn","message":"clipped","id":"287FA9C0-4815-46CD-B588-28102199A3F0","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:38 GMT-0800 (PST)\")"},"13":{"author":"rick","message":"added a few helper scripts","id":"A9AF9642-F781-4A08-A0D1-9590A65517C0","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 05 2014 08:25:26 GMT-0700 (PDT)\")"},"14":{"author":"rick","message":"no comment","id":"216DB4A5-BD67-4090-88E3-7034F796FAE6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 17 2014 07:53:29 GMT-0800 (PST)\")"},"15":{"author":"rick","message":"no comment","id":"EBB06C96-E10F-490F-BFE9-8329D4B9231C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 18 2014 08:51:38 GMT-0800 (PST)\")"},"16":{"author":"rick","message":"no comment","id":"8F210A7A-EE5C-468F-B73E-E69034FD82C8","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 19 2014 12:32:28 GMT-0800 (PST)\")"},"17":{"author":"rick","message":"no comment","id":"9139E52E-56DD-4CB2-8AEE-4C0058A1FAAF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 19 2014 13:22:43 GMT-0800 (PST)\")"},"18":{"author":"rick","message":"no comment","id":"4CFC7D9D-4336-4A20-A406-D939376A90E7","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 19 2014 16:25:48 GMT-0800 (PST)\")"},"19":{"author":"rick","message":"no comment","id":"8A02E809-9D9D-492E-810C-720D3B9835EC","__serializedExpressions__":["date"],"date":"new Date(\"Fri Dec 19 2014 19:58:52 GMT-0800 (PST)\")"},"20":{"author":"rick","message":"no comment","id":"DE332650-80A9-4C6C-96EF-6445A8249A39","__serializedExpressions__":["date"],"date":"new Date(\"Sat Jan 03 2015 11:29:00 GMT-0800 (PST)\")"},"21":{"__serializedExpressions__":["date"],"author":"rick","message":"no comment","id":"768C11E6-8C84-462E-86CD-064A4E3BF4BF","date":"new Date(\"Sat Jan 03 2015 16:55:10 GMT-0800 (PST)\")"},"22":{"layouter":{"__isSmartRef__":true,"id":0}},"23":{"stroke-width":0,"opacity":1,"__serializedExpressions__":["fill","stroke"],"fill":"Color.rgb(249,8,30)","stroke":"Color.rgb(204,0,0)"},"24":{"command":"M","__serializedExpressions__":["args.0"],"args":["lively.pt(0.0,0.0)"]},"25":{"command":"l","__serializedExpressions__":["args.0"],"args":["lively.pt(40.5,29.4)"]},"26":{"command":"l","__serializedExpressions__":["args.0"],"args":["lively.pt(-15.5,47.6)"]},"27":{"command":"l","__serializedExpressions__":["args.0"],"args":["lively.pt(-50.0,0.0)"]},"28":{"command":"l","__serializedExpressions__":["args.0"],"args":["lively.pt(-15.5,-47.6)"]},"29":{"command":"z","args":[]},"30":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":31},"_ClipMode":"visible","derivationIds":[],"id":"6CF50F0C-30C4-4BE7-8E59-4B6618273C72","droppingEnabled":true,"halosEnabled":true,"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"31":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":35},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":38},{"__isSmartRef__":true,"id":39}],"_BorderWidth":1,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(20.0,20.0)","_Extent":"lively.pt(200.0,200.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"32":{"isAbsolute":true,"x":0,"y":7.5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"33":{"isAbsolute":true,"x":350,"y":7.5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"34":{"isAbsolute":true,"x":350,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"35":{"isAbsolute":true,"x":400,"y":15,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"36":{"isAbsolute":true,"x":350,"y":30,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"37":{"isAbsolute":true,"x":350,"y":22.5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"38":{"isAbsolute":true,"x":0,"y":22.5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"39":{"isAbsolute":true,"__LivelyClassName__":"lively.morphic.Shapes.ClosePath","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"40":{"init":{"__isSmartRef__":true,"id":41},"display":{"__isSmartRef__":true,"id":44},"svgStyleString":{"__isSmartRef__":true,"id":47},"getDesiredExtent":{"__isSmartRef__":true,"id":50},"applyLayout":{"__isSmartRef__":true,"id":53},"setSVGStyleProperty":{"__isSmartRef__":true,"id":60},"setSVGStyle":{"__isSmartRef__":true,"id":63},"getBoundingBoxForPath":{"__isSmartRef__":true,"id":66},"getSVGPathCommand":{"__isSmartRef__":true,"id":69},"displayTest":{"__isSmartRef__":true,"id":72},"setFill":{"__isSmartRef__":true,"id":75},"setBorderWidth":{"__isSmartRef__":true,"id":82},"setBorderColor":{"__isSmartRef__":true,"id":89},"setOpacity":{"__isSmartRef__":true,"id":96},"setPathElements":{"__isSmartRef__":true,"id":103},"getPathElements":{"__isSmartRef__":true,"id":106},"createSVGObjectFromElements":{"__isSmartRef__":true,"id":109},"initFromSVGCommand":{"__isSmartRef__":true,"id":112},"generateTest":{"__isSmartRef__":true,"id":115},"getSVGStyleProperty":{"__isSmartRef__":true,"id":118},"getFill":{"__isSmartRef__":true,"id":121},"getOpacity":{"__isSmartRef__":true,"id":128},"getBorderColor":{"__isSmartRef__":true,"id":135},"getBorderWidth":{"__isSmartRef__":true,"id":142},"clearSVGStyleProperty":{"__isSmartRef__":true,"id":149}},"41":{"varMapping":{"__isSmartRef__":true,"id":42},"source":"function init() {\n    this.path = new lively.morphic.Path()\n    this.svgStyle = {fill:\"lime\", stroke:\"purple\", \"stroke-width\":1, opacity:1}\n    this.setLayouter(this)\n}","funcProperties":{"__isSmartRef__":true,"id":43},"__LivelyClassName__":"lively.Closure"},"42":{"this":{"__isSmartRef__":true,"id":0}},"43":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:20:53 GMT-0800 (PST)\")"},"44":{"varMapping":{"__isSmartRef__":true,"id":45},"source":"function display() {\n    // display the path.  \n    var pathCommand = this.getSVGPathCommand()\n    var boundingBox = this.getBoundingBoxForPath()\n    var extent = this.getDesiredExtent()\n    this.setClipMode('visible')\n    var html = \"<svg height=\" + this.getExtent().y + \" width=\" + this.getExtent().x \n    html += ' viewBox=\"' + boundingBox.left() + ' ' + boundingBox.top() + ' ' +\n            extent.x + ' ' + extent.y + '\">'\n    html += '<path d=\"' + pathCommand + '\"' + this.svgStyleString() + '/>'\n    html += 'Sorry, your browser does not support SVG</svg>'\n    this.jQuery().html(html)\n}","funcProperties":{"__isSmartRef__":true,"id":46},"__LivelyClassName__":"lively.Closure"},"45":{"this":{"__isSmartRef__":true,"id":0}},"46":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 17:55:31 GMT-0800 (PST)\")"},"47":{"varMapping":{"__isSmartRef__":true,"id":48},"source":"function svgStyleString() {\n    // turn the svg style structure into a string\n    var result = \"style=\"\n    Object.keys(this.svgStyle).forEach(function(aKey) {\n        result +=  aKey+\":\" +this.svgStyle[aKey] + \";\"\n    }.bind(this))\n    return result;\n}","funcProperties":{"__isSmartRef__":true,"id":49},"__LivelyClassName__":"lively.Closure"},"48":{"this":{"__isSmartRef__":true,"id":0}},"49":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Dec 13 2014 11:59:07 GMT-0800 (PST)\")"},"50":{"varMapping":{"__isSmartRef__":true,"id":51},"source":"function getDesiredExtent() {\n   // this.getDesiredExtent()\n    return this.getBoundingBoxForPath().extent()\n}","funcProperties":{"__isSmartRef__":true,"id":52},"__LivelyClassName__":"lively.Closure"},"51":{"this":{"__isSmartRef__":true,"id":0}},"52":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:31:40 GMT-0800 (PST)\")"},"53":{"varMapping":{"__isSmartRef__":true,"id":54},"source":"function applyLayout() {\n    // implement the layouter interface.   This is how we reshape to new\n    // extents automatically on a scale\n    // this.rescaleToNewExtent()\n    this.display()\n}","funcProperties":{"__isSmartRef__":true,"id":59},"__LivelyClassName__":"lively.Closure"},"54":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":55}},"55":{"$super":{"__isSmartRef__":true,"id":56}},"56":{"varMapping":{"__isSmartRef__":true,"id":57},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":58},"__LivelyClassName__":"lively.Closure"},"57":{"obj":{"__isSmartRef__":true,"id":0},"name":"applyLayout"},"58":{},"59":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 17 2014 22:19:40 GMT-0800 (PST)\")"},"60":{"varMapping":{"__isSmartRef__":true,"id":61},"source":"function setSVGStyleProperty(aProperty, aValue) {\n    // e.g., setSVGStyleProperty('fill', 'red')\n    // Common properties: fill, stroke, stroke-width, opacity\n    // unless the property is a number, it should be a string\n    this.svgStyle[aProperty] = aValue\n    this.display()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":62},"__LivelyClassName__":"lively.Closure"},"61":{"this":{"__isSmartRef__":true,"id":0}},"62":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Dec 13 2014 11:58:43 GMT-0800 (PST)\")"},"63":{"varMapping":{"__isSmartRef__":true,"id":64},"source":"function setSVGStyle(aStyleStructure) {\n    // e.g., this.setSVGStyle({fill:'rgb(253,127,127)', stroke:'blue', opacity:0.5, 'stroke-width':3})\n    // Common properties: fill, stroke, stroke-width, opacity\n    // unless the property is a number, it should be a string\n    this.svgStyle = aStyleStructure\n    this.display()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":65},"__LivelyClassName__":"lively.Closure"},"64":{"this":{"__isSmartRef__":true,"id":0}},"65":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Dec 13 2014 11:58:35 GMT-0800 (PST)\")"},"66":{"varMapping":{"__isSmartRef__":true,"id":67},"source":"function getBoundingBoxForPath() {\n    return this.path.shape.getBounds()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":68},"__LivelyClassName__":"lively.Closure"},"67":{"this":{"__isSmartRef__":true,"id":0}},"68":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:27:33 GMT-0800 (PST)\")"},"69":{"varMapping":{"__isSmartRef__":true,"id":70},"source":"function getSVGPathCommand() {\n    return this.path.shape.createSVGDataFromElements(this.getPathElements())\n    \n}","funcProperties":{"__isSmartRef__":true,"id":71},"__LivelyClassName__":"lively.Closure"},"70":{"this":{"__isSmartRef__":true,"id":0}},"71":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:29:27 GMT-0800 (PST)\")"},"72":{"varMapping":{"__isSmartRef__":true,"id":73},"source":"function displayTest(aTest) {\n    var tests = this.generateTestSequences()\n    this.svgCommands = tests[aTest % tests.length]\n    this.display()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.Closure"},"73":{"this":{"__isSmartRef__":true,"id":0}},"74":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 18 2014 17:10:45 GMT-0800 (PST)\")"},"75":{"varMapping":{"__isSmartRef__":true,"id":76},"source":"function setFill(aColor) {\n    this.setSVGStyleProperty('fill', aColor)\n}","funcProperties":{"__isSmartRef__":true,"id":81},"__LivelyClassName__":"lively.Closure"},"76":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":77}},"77":{"$super":{"__isSmartRef__":true,"id":78}},"78":{"varMapping":{"__isSmartRef__":true,"id":79},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":80},"__LivelyClassName__":"lively.Closure"},"79":{"obj":{"__isSmartRef__":true,"id":0},"name":"setFill"},"80":{},"81":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 07:40:30 GMT-0800 (PST)\")"},"82":{"varMapping":{"__isSmartRef__":true,"id":83},"source":"function setBorderWidth(aNumber) {\n    this.setSVGStyleProperty('stroke-width', aNumber)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":88},"__LivelyClassName__":"lively.Closure"},"83":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":84}},"84":{"$super":{"__isSmartRef__":true,"id":85}},"85":{"varMapping":{"__isSmartRef__":true,"id":86},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":87},"__LivelyClassName__":"lively.Closure"},"86":{"obj":{"__isSmartRef__":true,"id":0},"name":"setBorderWidth"},"87":{},"88":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 07:41:37 GMT-0800 (PST)\")"},"89":{"varMapping":{"__isSmartRef__":true,"id":90},"source":"function setBorderColor(aColor) {\n    this.setSVGStyleProperty('stroke', aColor)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":95},"__LivelyClassName__":"lively.Closure"},"90":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":91}},"91":{"$super":{"__isSmartRef__":true,"id":92}},"92":{"varMapping":{"__isSmartRef__":true,"id":93},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":94},"__LivelyClassName__":"lively.Closure"},"93":{"obj":{"__isSmartRef__":true,"id":0},"name":"setBorderColor"},"94":{},"95":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 07:42:42 GMT-0800 (PST)\")"},"96":{"varMapping":{"__isSmartRef__":true,"id":97},"source":"function setOpacity(aNumber) {\n    this.setSVGStyleProperty('opacity', aNumber)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":102},"__LivelyClassName__":"lively.Closure"},"97":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":98}},"98":{"$super":{"__isSmartRef__":true,"id":99}},"99":{"varMapping":{"__isSmartRef__":true,"id":100},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":101},"__LivelyClassName__":"lively.Closure"},"100":{"obj":{"__isSmartRef__":true,"id":0},"name":"setOpacity"},"101":{},"102":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 07:43:55 GMT-0800 (PST)\")"},"103":{"varMapping":{"__isSmartRef__":true,"id":104},"source":"function setPathElements(pathElements) {\n    this.path.shape.setPathElements(pathElements)\n    this.display()\n}","funcProperties":{"__isSmartRef__":true,"id":105},"__LivelyClassName__":"lively.Closure"},"104":{"this":{"__isSmartRef__":true,"id":0}},"105":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 19:14:14 GMT-0800 (PST)\")"},"106":{"varMapping":{"__isSmartRef__":true,"id":107},"source":"function getPathElements() {\n    return this.path.shape.getPathElements()\n}","funcProperties":{"__isSmartRef__":true,"id":108},"__LivelyClassName__":"lively.Closure"},"107":{"this":{"__isSmartRef__":true,"id":0}},"108":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:27:48 GMT-0800 (PST)\")"},"109":{"varMapping":{"__isSmartRef__":true,"id":110},"source":"function createSVGObjectFromElements(elements) {\n    return this.path.shape.createSVGObjectFromElements(elements)\n}","funcProperties":{"__isSmartRef__":true,"id":111},"__LivelyClassName__":"lively.Closure"},"110":{"this":{"__isSmartRef__":true,"id":0}},"111":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:26:38 GMT-0800 (PST)\")"},"112":{"varMapping":{"__isSmartRef__":true,"id":113},"source":"function initFromSVGCommand(aPathCommand) {\n    // this.initFromSVGCommand('M 100,350 q 150,-300 300,0')\n    if (!this.path) {\n        this.init();\n    }\n    var svgParse = lively.morphic.Shapes.PathElement.parse;\n    var pathElements = svgParse(aPathCommand)\n    this.path.shape.setPathElements(pathElements)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":114},"__LivelyClassName__":"lively.Closure"},"113":{"this":{"__isSmartRef__":true,"id":0}},"114":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 31 2014 18:26:03 GMT-0800 (PST)\")"},"115":{"varMapping":{"__isSmartRef__":true,"id":116},"source":"function generateTest(anIndex) {\n    // this.initFromSVGCommand(this.generateTest(0)); this.getSVGPathCommand()\n    // M150,0 L75,200 L225,200 Z\n    var tests = [\"M150 0L 75 200 L225 200 Z\"]\n    // this.initFromSVGCommand(this.generateTest(1)); this.getSVGPathCommand()\n    // M 100,350 l 150,-300\n    tests.push(\"M 100,350 l 150,-300\")\n    // this.initFromSVGCommand(this.generateTest(2)); this.getSVGPathCommand()\n    // M 175,200 l 150,300\n    tests.push(\"M 175,200 l 150,300\")\n    // this.initFromSVGCommand(this.generateTest(3)); this.getSVGPathCommand()\n    // M 175,200 l 150,0\n    tests.push(\"M 175,200 l 150,0\")\n    // this.initFromSVGCommand(this.generateTest(4)); this.getSVGPathCommand()\n    // M 100,350 q 150,-300 300,0\n    tests.push(\"M 100,350 q 150,-300 300,0\")\n    // this.initFromSVGCommand(this.generateTest(5)); this.getSVGPathCommand()\n    // M42.5000,0 L83.0000,29.4 L67.5000,76.9 L17.5000,76.9 L2.0000,29.4 Z\n    tests.push(\"M42.5000,0 L83.0000,29.4 L67.5000,76.9 L17.5000,76.9 L2.0000,29.4 Z \")\n    // this.initFromSVGCommand(this.generateTest(6)); this.getSVGPathCommand()\n    // \"M220, 220 A200, 200, 0, 0, 0, 20, 20 L 20, 220 Z\"\n    tests.push(\"M220, 220 A200, 200, 0, 0, 0, 20, 20 L 20, 220 Z\")\n    // this.initFromSVGCommand(this.generateTest(7)); this.getSVGPathCommand()\n    // \"M220, 220 A200, 200, 0, 0, 0, 20, 20 L 20, 120  A100, 100, 0, 0, 1, 120, 220 Z\"\n    tests.push(\"M220, 220 A200, 200, 0, 0, 0, 20, 20 L 20, 120  A100, 100, 0, 0, 1, 120, 220 Z\")\n    return tests[anIndex];\n}","funcProperties":{"__isSmartRef__":true,"id":117},"__LivelyClassName__":"lively.Closure"},"116":{"this":{"__isSmartRef__":true,"id":0}},"117":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Jan 01 2015 13:54:44 GMT-0800 (PST)\")"},"118":{"varMapping":{"__isSmartRef__":true,"id":119},"source":"function getSVGStyleProperty(aProperty) {\n    // e.g., setSVGStyleProperty('fill', 'red')\n    // Common properties: fill, stroke, stroke-width, opacity\n    // unless the property is a number, it should be a string\n    return this.svgStyle[aProperty]\n    // this.display()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":120},"__LivelyClassName__":"lively.Closure"},"119":{"this":{"__isSmartRef__":true,"id":0}},"120":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Jan 03 2015 11:26:14 GMT-0800 (PST)\")"},"121":{"varMapping":{"__isSmartRef__":true,"id":122},"source":"function getFill() {\n    return this.getSVGStyleProperty('fill')\n}","funcProperties":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.Closure"},"122":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":123}},"123":{"$super":{"__isSmartRef__":true,"id":124}},"124":{"varMapping":{"__isSmartRef__":true,"id":125},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.Closure"},"125":{"obj":{"__isSmartRef__":true,"id":0},"name":"getFill"},"126":{},"127":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Jan 03 2015 11:26:56 GMT-0800 (PST)\")"},"128":{"varMapping":{"__isSmartRef__":true,"id":129},"source":"function getOpacity() {\n    return this.getSVGStyleProperty('opacity')\n    \n}","funcProperties":{"__isSmartRef__":true,"id":134},"__LivelyClassName__":"lively.Closure"},"129":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":130}},"130":{"$super":{"__isSmartRef__":true,"id":131}},"131":{"varMapping":{"__isSmartRef__":true,"id":132},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":133},"__LivelyClassName__":"lively.Closure"},"132":{"obj":{"__isSmartRef__":true,"id":0},"name":"getOpacity"},"133":{},"134":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Jan 03 2015 11:28:04 GMT-0800 (PST)\")"},"135":{"varMapping":{"__isSmartRef__":true,"id":136},"source":"function getBorderColor() {\n    return this.getSVGStyleProperty('stroke')\n    \n}","funcProperties":{"__isSmartRef__":true,"id":141},"__LivelyClassName__":"lively.Closure"},"136":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":137}},"137":{"$super":{"__isSmartRef__":true,"id":138}},"138":{"varMapping":{"__isSmartRef__":true,"id":139},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":140},"__LivelyClassName__":"lively.Closure"},"139":{"obj":{"__isSmartRef__":true,"id":0},"name":"getBorderColor"},"140":{},"141":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Jan 03 2015 11:27:56 GMT-0800 (PST)\")"},"142":{"varMapping":{"__isSmartRef__":true,"id":143},"source":"function getBorderWidth() {\n    return this.getSVGStyleProperty('stroke-width')\n    \n}","funcProperties":{"__isSmartRef__":true,"id":148},"__LivelyClassName__":"lively.Closure"},"143":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":144}},"144":{"$super":{"__isSmartRef__":true,"id":145}},"145":{"varMapping":{"__isSmartRef__":true,"id":146},"source":"function () {\n        try {\n          // FIXME super is supposed to be static\n          return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n        } catch (e) {\n          if (typeof $world !== undefined) $world.logError(e, 'Error in $super call')\n          else alert('Error in $super call: ' + e + '\\n' + e.stack);\n          return null;\n        }\n      }","funcProperties":{"__isSmartRef__":true,"id":147},"__LivelyClassName__":"lively.Closure"},"146":{"obj":{"__isSmartRef__":true,"id":0},"name":"getBorderWidth"},"147":{},"148":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Jan 03 2015 11:28:32 GMT-0800 (PST)\")"},"149":{"varMapping":{"__isSmartRef__":true,"id":150},"source":"function clearSVGStyleProperty(aProperty) {\n    // e.g., clearSVGStyleProperty('stroke-dasharray')\n    // just deletes the property from the list\n    if (this.svgStyle.hasOwnProperty(aProperty)) {\n        delete this.svgStyle[aProperty]\n    }\n    this.display()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":151},"__LivelyClassName__":"lively.Closure"},"150":{"this":{"__isSmartRef__":true,"id":0}},"151":{"__serializedExpressions__":["timestamp"],"user":"rick","timestamp":"new Date(\"Sat Jan 03 2015 16:02:39 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}