@@ -113,9 +113,52 @@ ALMCSS.template.dom = function() {
113113 }
114114 } ;
115115
116+ // Painting
117+ // --------
118+
119+ var paintTemplate = function ( template ) {
120+
121+ var getColumnOffset = function ( column ) {
122+ var computedWidths = template . computedWidths ,
123+ result = 0 , i ;
124+ for ( i = 0 ; i < column ; i ++ ) {
125+ result = result + computedWidths [ i ] ;
126+ }
127+ return result ;
128+ } ;
129+
130+ var getRowOffset = function ( row ) {
131+ var rows = template . getRows ( ) ,
132+ result = 0 , i ;
133+ for ( i = 0 ; i < row ; i ++ ) {
134+ result = result + rows [ i ] . computedHeight ;
135+ }
136+ return result ;
137+ } ;
138+
139+ var slot , htmlElement , slotsIterator = template . iterator ( ) ;
140+ while ( slotsIterator . hasNext ( ) ) {
141+ slot = slotsIterator . next ( ) ;
142+ htmlElement = slot . htmlElement ;
143+ htmlElement . style . left = getColumnOffset ( slot . startColumn ) ;
144+ htmlElement . style . top = getRowOffset ( slot . startRow ) ;
145+ htmlElement . style . width = slot . computedWidth ;
146+ htmlElement . style . height = slot . computedHeight ;
147+ htmlElement . style . position = 'absolute' ;
148+ }
149+
150+ } ;
151+
152+ var paint = function ( templates ) {
153+ for ( var i = 0 ; i < templates . length ; i ++ ) {
154+ paintTemplate ( templates [ i ] ) ;
155+ }
156+ } ;
157+
116158 return {
117159 createTemplateElements : createTemplateElements ,
118- moveElementsIntoSlots : moveElementsIntoSlots
160+ moveElementsIntoSlots : moveElementsIntoSlots ,
161+ paint : paint
119162 } ;
120163
121164} ( ) ;
0 commit comments