しかし、今は重要ではありません。フレームワークを提示したいのです。生まれたばかりでまだ機能を習得していないにもかかわらず、すでに完全で面白く、そして最も重要な、便利に見えるフレームワークです。
ツールキット
私はJQueryを非常に気に入っており、DOMを操作するための理想的なフレームワークであると考えています。このフレームワークでJQueryを放棄したので、もう一度これを確信しました。 しかし、DOM、IMHO以外では、jQueryはかさばりすぎており、その哲学はうっとうしいものです。 したがって、最初は独自のフレームワークを作成することにしました。 埋め込みオブジェクトのプロトタイプを展開し、DOMを操作するための基本的な関数を作成します。 JavaScriptを継承する興味深いソリューションを探しているGoogleの特定の時点で、1つの真実に気付きました。私はMooToolsを書いています。 したがって、私は決定を下し、このフレームワークは作業に十分な程度に数時間で研究され、ほぼ完成したプロジェクト全体を新しいフレームワークに書き直しました(同時にリファクタリングしました)が、私は後悔していませんjQueryよりも優れています)。 MooToolsにはまだ十分なものがなかったため、プロトタイプにいくつかのメソッドを追加して組み込みオブジェクトを拡張する必要がありました)
フレームワーク自体
すべてのフレームワーククラスはLibCanvasにあります。 私は気づく可能性のある欠点を修正し、できるだけエレガントにしようとしました。 説明はやや乱雑に見えるかもしれません(プログラミングの夜と、現在は午前7時であるという事実により、最終的には実例が明確になります)
シェル
ImagePreloader、 ProgressBar 、fps-meter、その他のつまらないものがすでに組み込まれているユニバーサルシェルを介してキャンバスを操作することをお勧めします。
new LibCanvas . Canvas2D ($( 'canvas' ))
. setFps ( 50 ) // ,
. fpsMeter ( 20 ) // . N , fps
. setConfig ({
background : '#EFEBE7' , //
images : App . imagesList , // -
progressBar : App . progressBarStyle // -
})
. addElement (new App . MyFirstElement ()) //
. addElement (new App . SecondElement ()) // .draw()
. start (); // -,
コンテキストの変更
埋め込みコンテキストでは常に2つのことが好きではありませんでした。関数がこれの代わりにundefinedを返すため、呼び出しのチェーンを作成できず、場合によっては非常に多くの同じ引数を持つ関数を作成できません。
ctx . drawImage ( image , 15 , 16 , 12 , 34 , 56 , 12 , 32 , 45 );
返されたthis、名前付きパラメーター、およびその他のいくつかの
$( 'canvas' ). getContext ( '2d-libcanvas' )
独自のコンテキストを作成するのが非常に簡単になったことに注意してください(必要な場合)。たとえば、.
./js/Libs/LibCanvas/Core/Context2D.js
/
./js/Libs/LibCanvas/Core/Context2D.js
/
./js/Libs/LibCanvas/Core/Context2D.js
/
./js/Libs/LibCanvas/Core/Context2D.js
/
./js/Libs/LibCanvas/Core/Context2D.js
参照してください。
LibCanvas . addCanvasContext ( '2d-libcanvas' , LibCanvas . Context2D );
組み込みコンテキストの1つを再定義した場合、いつでも元のコンテキストを呼び出すことができます。
$( 'canvas' ). getOriginalContext ( '2d' );
ただし、コンテキストにいくつかの変更が加えられ、より便利になりました。 たとえば、今では絵を描くときに、どのパラメーターが何を意味するかを推測する必要はありません(from-to、from-size、to-sizeの任意のペアを使用できます)。
ctx . drawImage ({
image : images [ 'ufo' ],
crop : {
from : [ 40 , 80 ],
to : [ 120 , 160 ]
},
draw : {
from : [ 80 , 80 ]
size : [ 160 , 160 ]
}
})
そして、さらにいくつかの化粧品の変更:
ctx . fillAll ( 'green' ) //
. set ( 'strokeStyle' , 'red' )
. stroke (new CanvasLib . Shapes . Polygon ([
[ 231 , 67 ],
[ 281 , 67 ],
[ 317 , 103 ],
[ 317 , 153 ],
[ 281 , 189 ],
[ 231 , 189 ],
[ 195 , 153 ],
[ 195 , 103 ]
])) //
. arc ({
circle : [ 100 , 60 , 40 ], // 100:60, 40
angle : [( 5 ). degree (), ( 35 ). degree ()] // c 5 35
})
Number . degree ()
注意してください
Number . degree ()
Number . degree ()
は、Numberにあった正味の度数を返しますが、技術者が好むラジアン単位です。
フィギュア
CanvasLib . Shapes .*
基づき
CanvasLib . Shapes .*
CanvasLib . Shapes .*
フレームワークの機能のほぼ半分を構築します。 現時点では、ポリゴン、円、長方形の3つの数字しかありませんが、時間が経つにつれて、たとえばRoundedRectangleが追加されます。 当然、独自の形状を作成できます。 ただし、この場合に重要なのは、特定のポイントがこの数値内にあるかどうかを判断するための正しいアルゴリズムの実装です。
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
検索し
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , (getShape
)hasDot
. , , Circle "" .
,LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
-LibCanvas . InterfaceElement
, .elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , (getShape
)hasDot
. , , Circle "" .
,LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); // , bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
-LibCanvas . InterfaceElement
, .elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , (
getShape
)
hasDot
. , , Circle "" .
,
LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
-
LibCanvas . InterfaceElement
, .
elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , (
getShape
)
hasDot
. , , Circle "" .
,
LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
-
LibCanvas . InterfaceElement
, .
elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , (
getShape
)
hasDot
. , , Circle "" .
,
LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
-
LibCanvas . InterfaceElement
, .
elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , (
getShape
)
hasDot
. , , Circle "" .
,
LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
-
LibCanvas . InterfaceElement
, .
elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas
CanvasLib . Shapes .* 26 .
. - , html. , , mouseover , html-. . :
this . canvas . mouse . subscribe ( this );
event c . : [click, mouseover, mousemove, mouseout, mouseup, mousedown], [away:mouseover, away:mousemove, away:mouseout, away:mouseup, away:mousedown] , . , , ( getShape
) hasDot
. , , Circle "" .
, LibCanvas . InterfaceElement
, , , :
elem . drawStandart (); //
elem . drawHover (); //
elem . drawActive (); //
, bind' unbind' ( ), GUI.
, - ./js/App/* ./js/Start.js. - . , , !
- EventsTester. . - . , , .
- LibCanvas . InterfaceElement
, . elem . bind ( 'click' , fn );
, . , , , JQueryUI. - )
1. ( , setTransform). ,
2.
3. . , -
greedykid , nutochka , (, , Miss IT ) . .
- LGPL, , : code.google.com/p/libcanvas