@@ -43,6 +43,9 @@ function html2canvas(el, userOptions) {
4343 ready : function ( stack ) {
4444 document . body . appendChild ( stack . canvas ) ;
4545 } ,
46+ storageReady : function ( obj ) {
47+ obj . Renderer ( obj . contextStacks ) ;
48+ } ,
4649 iframeDefault : "default" ,
4750 flashCanvasPath : "http://html2canvas.hertzen.com/external/flashcanvas/flashcanvas.js" ,
4851 renderViewport : false ,
@@ -770,14 +773,17 @@ html2canvas.prototype.preloadImage = function(src){
770773html2canvas . prototype . Renderer = function ( queue ) {
771774
772775 var _ = this ;
773-
776+
777+ this . log ( 'Renderer initiated' ) ;
778+
774779 this . each ( this . opts . renderOrder . split ( " " ) , function ( i , renderer ) {
775780
776781 switch ( renderer ) {
777782 case "canvas" :
778783 _ . canvas = document . createElement ( 'canvas' ) ;
779784 if ( _ . canvas . getContext ) {
780785 _ . canvasRenderer ( queue ) ;
786+ _ . log ( 'Using canvas renderer' ) ;
781787 return false ;
782788 }
783789 break ;
@@ -789,22 +795,35 @@ html2canvas.prototype.Renderer = function(queue){
789795 var s = document.getElementsByTagName('script')[0];
790796 s.parentNode.insertBefore(script, s);
791797
792-
798+ */
793799 if ( typeof FlashCanvas != "undefined" ) {
794- _.canvas = document.createElement('canvas' );
800+ _ . canvas = initCanvas ( document . getElementById ( "testflash" ) ) ;
795801 FlashCanvas . initElement ( _ . canvas ) ;
802+ _ . ctx = _ . canvas . getContext ( "2d" ) ;
803+ // _.canvas = document.createElement('canvas');
804+ //
805+ _ . log ( 'Using Flashcanvas renderer' ) ;
796806 _ . canvasRenderer ( queue ) ;
807+
797808 return false ;
798- } */
809+ }
799810
800811 break ;
812+ case "html" :
813+ // TODO add renderer
814+ _log ( "Using HTML renderer" ) ;
815+ return false ;
816+ break ;
801817
802818
803819 }
804820
805821
806822
807823 } ) ;
824+
825+ this . log ( 'No renderer chosen, rendering quit' ) ;
826+ return this ;
808827
809828// this.canvasRenderer(queue);
810829
@@ -983,13 +1002,16 @@ html2canvas.prototype.newText = function(el,textNode,ctx){
9831002 // apply text-transform:ation to the text
9841003 textNode . nodeValue = this . textTransform ( textNode . nodeValue , this . getCSS ( el , "text-transform" ) ) ;
9851004 var text = this . trim ( textNode . nodeValue ) ;
986-
1005+
9871006 //text = $.trim(text);
9881007 if ( text . length > 0 ) {
9891008 switch ( bold ) {
990- case " 401" :
1009+ case 401 :
9911010 bold = "bold" ;
9921011 break ;
1012+ case 400 :
1013+ bold = "normal" ;
1014+ break ;
9931015 }
9941016
9951017
@@ -1002,6 +1024,7 @@ html2canvas.prototype.newText = function(el,textNode,ctx){
10021024 renderList ,
10031025 renderWords = false ;
10041026
1027+
10051028 text_align = text_align . replace ( [ "-webkit-auto" ] , [ "auto" ] )
10061029
10071030
@@ -1212,8 +1235,9 @@ html2canvas.prototype.parseElement = function(element,stack){
12121235 this . each ( element . children , function ( index , el ) {
12131236 _ . parsing ( el , stack ) ;
12141237 } ) ;
1215-
1216- this . Renderer ( this . contextStacks ) ;
1238+
1239+ this . log ( 'Render queue stored' ) ;
1240+ this . opts . storageReady ( this ) ;
12171241 this . finish ( ) ;
12181242}
12191243
@@ -1278,9 +1302,11 @@ html2canvas.prototype.log = function(a){
12781302
12791303 if ( this . opts . logging ) {
12801304
1281- var logger = window . console . log || function ( log ) {
1282- alert ( log ) ;
1283- } ;
1305+ if ( window . console && window . console . log ) {
1306+ console . log ( a ) ;
1307+ } else {
1308+ alert ( a ) ;
1309+ }
12841310 /*
12851311 if (typeof(window.console) != "undefined" && console.log){
12861312 console.log(a);
0 commit comments