canvasをメソッドチェーンで使うための簡単なラッパー
意外と簡単にかけたのでメモしておきます。
ちなみにループなどでjQueryを使用しています。
function CanvasRapper(elm) { if (elm.tagName != 'CANVAS') { return null; } this.elm = elm; this.ctx = elm.getContext('2d'); var callee = arguments.callee; if (!callee.isInited) { var ctx = this.ctx; $.each(ctx, function (name, obj) { if (typeof obj == 'function') { callee.prototype[name] = function () { obj.apply(this.ctx, $.makeArray(arguments)); return this; } } else { callee.prototype[name] = function (val) { if (val == null) { return this.ctx[name]; } this.ctx[name] = val; return this; } } }); callee.isInited = true; } }