Skip to content

Commit 8d96502

Browse files
author
Paolo
committed
Fixed support for other Renderers other than Canvas
1 parent 1ad7ed3 commit 8d96502

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

build.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<file name="Renderer.js"/>
2424
<file name="Util.js"/>
2525
<file name="renderers/Canvas.js"/>
26+
<file name="renderers/SVG.js"/>
2627
<file name="html2canvas-post.txt"/>
2728
</filelist>
2829
</path>
@@ -76,6 +77,7 @@
7677
<file name="Renderer.js"/>
7778
<file name="Util.js"/>
7879
<file name="renderers/Canvas.js"/>
80+
<file name="renderers/SVG.js"/>
7981
</sources>
8082
</jscomp>
8183
<delete file="${build.dir}/${JS_NAME_MIN}.tmp"></delete>

src/Renderer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ _html2canvas.Renderer = function(parseQueue, options){
5858

5959

6060
sortZ(parseQueue.zIndex);
61-
if ( typeof options.renderer._create !== "function" ) {
61+
if ( typeof options._renderer._create !== "function" ) {
6262
throw new Error("Invalid renderer defined");
6363
}
64-
return options.renderer._create( parseQueue, options, document, queue, _html2canvas );
64+
return options._renderer._create( parseQueue, options, document, queue, _html2canvas );
6565

6666
};

src/Util.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,20 @@ html2canvas = function( elements, opts ) {
3434
flashcanvas: undefined, // path to flashcanvas
3535
width: null,
3636
height: null,
37-
taintTest: true // do a taint test with all images before applying to canvas
38-
39-
};
37+
taintTest: true, // do a taint test with all images before applying to canvas
38+
renderer: "Canvas"
39+
}, renderer;
4040

4141
options = _html2canvas.Util.Extend(opts, options);
42-
43-
options.renderer = options.renderer || _html2canvas.Renderer.Canvas( options );
44-
42+
43+
if (typeof options.renderer === "string" && _html2canvas.Renderer[options.renderer] !== undefined) {
44+
options._renderer = _html2canvas.Renderer[options.renderer]( options );
45+
} else if (typeof options.renderer === "function") {
46+
options._renderer = _html2canvas.Renderer.Canvas( options );
47+
} else {
48+
throw("Unknown renderer");
49+
}
50+
4551
_html2canvas.logging = options.logging;
4652
options.complete = function( images ) {
4753

0 commit comments

Comments
 (0)