@@ -24,7 +24,6 @@ var canvasRenderer = function (arg) {
2424 renderer . call ( this , arg ) ;
2525
2626 var m_this = this ,
27- m_renderAnimFrameRef = null ,
2827 m_clearCanvas = true ,
2928 s_init = this . _init ,
3029 s_exit = this . _exit ;
@@ -57,8 +56,7 @@ var canvasRenderer = function (arg) {
5756 var canvas = $ ( document . createElement ( 'canvas' ) ) ;
5857 m_this . context2d = canvas [ 0 ] . getContext ( '2d' ) ;
5958
60- canvas . attr ( 'class' , 'canvas-canvas' ) ;
61- canvas . css ( 'display' , 'block' ) ;
59+ canvas . addClass ( 'canvas-canvas' ) ;
6260 $ ( m_this . layer ( ) . node ( ) . get ( 0 ) ) . append ( canvas ) ;
6361
6462 m_this . canvas ( canvas ) ;
@@ -89,32 +87,35 @@ var canvasRenderer = function (arg) {
8987 */
9088 ////////////////////////////////////////////////////////////////////////////
9189 this . _render = function ( ) {
92- if ( m_renderAnimFrameRef === null ) {
93- m_renderAnimFrameRef = window . requestAnimationFrame ( function ( ) {
94- m_renderAnimFrameRef = null ;
95-
96- var layer = m_this . layer ( ) ,
97- map = layer . map ( ) ,
98- camera = map . camera ( ) ,
99- viewport = camera . _viewport ;
100-
101- // Clear the canvas.
102- if ( m_clearCanvas ) {
103- m_this . context2d . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) ;
104- m_this . context2d . clearRect ( 0 , 0 , viewport . width , viewport . height ) ;
105- }
106-
107- var features = layer . features ( ) ;
108- for ( var i = 0 ; i < features . length ; i += 1 ) {
109- if ( features [ i ] . visible ( ) ) {
110- features [ i ] . _renderOnCanvas ( m_this . context2d , map ) ;
111- }
112- }
113- } ) ;
114- }
90+ m_this . layer ( ) . map ( ) . scheduleAnimationFrame ( this . _renderFrame ) ;
11591 return m_this ;
11692 } ;
11793
94+ ////////////////////////////////////////////////////////////////////////////
95+ /**
96+ * Render during an animation frame callback.
97+ */
98+ ////////////////////////////////////////////////////////////////////////////
99+ this . _renderFrame = function ( ) {
100+ var layer = m_this . layer ( ) ,
101+ map = layer . map ( ) ,
102+ camera = map . camera ( ) ,
103+ viewport = camera . _viewport ;
104+
105+ // Clear the canvas.
106+ if ( m_clearCanvas ) {
107+ m_this . context2d . setTransform ( 1 , 0 , 0 , 1 , 0 , 0 ) ;
108+ m_this . context2d . clearRect ( 0 , 0 , viewport . width , viewport . height ) ;
109+ }
110+
111+ var features = layer . features ( ) ;
112+ for ( var i = 0 ; i < features . length ; i += 1 ) {
113+ if ( features [ i ] . visible ( ) ) {
114+ features [ i ] . _renderOnCanvas ( m_this . context2d , map ) ;
115+ }
116+ }
117+ } ;
118+
118119 ////////////////////////////////////////////////////////////////////////////
119120 /**
120121 * Exit
0 commit comments