Mercurial > MadButterfly
view nodejs/testsvg.js @ 766:be0e02948c1d
Improve resource management for coords, shapes and paints.
- Make paint to use weak reference to release resource before collected.
- Call Persistent<Object>::Dispose() before deleting the handle
variable. Dispose() will real release Persistent handle. Handle
variable is just a pointer to the handle.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 29 Aug 2010 13:34:40 +0800 |
parents | 6879aa403306 |
children | caa2fdb5f220 |
line wrap: on
line source
var svg = require("./svg"); var mbapp = require("./mbapp"); var sys=require("sys"); var animate=require("./animate"); var fs = require("fs"); app = new mbapp.app(); app.loadSVG("test.svg"); lightbar = app.get("item_lightbar"); item=1; lightbar[5] = app.get("item"+item)[5]; app.files=fs.readdirSync("/tmp/"); for(i=1;i<10;i++) { var o = app.get("item"+i+"text"); o.set_text(app.files[i]); } app.addKeyListener(mbapp.KEY_UP, function() { item = item - 1; if (item == 0) item = 1; else { var target = app.get("item"+item); var an = new animate.linear(app,lightbar,target[2],target[5],0.3); an.start(); } }); app.addKeyListener(mbapp.KEY_DOWN, function() { item = item + 1; if (item == 10) { item = 9; } else { var target = app.get("item"+item); var an = new animate.linear(app,lightbar,target[2],target[5],0.3); an.start(); } }); app.loop();