@@ -38,7 +38,7 @@ var jsPDF = function(orientation, unit, format){
3838 if ( typeof format === 'undefined' ) format = 'a4' ;
3939
4040 // Private properties
41- var version = '20120127 ' ;
41+ var version = '20120130 ' ;
4242 var buffer = '' ;
4343
4444 var pdfVersion = '1.3' ; // PDF Version
@@ -352,6 +352,16 @@ var jsPDF = function(orientation, unit, format){
352352 return 'F1' ; // shouldn't happen
353353 }
354354
355+ var getStyle = function ( style ) {
356+ var op = 'S' ;
357+ if ( style === 'F' ) {
358+ op = 'f' ;
359+ } else if ( style === 'FD' || style === 'DF' ) {
360+ op = 'B' ;
361+ }
362+ return op ;
363+ }
364+
355365 // Add the first page automatically
356366 addFonts ( ) ;
357367 _addPage ( ) ;
@@ -373,32 +383,27 @@ var jsPDF = function(orientation, unit, format){
373383 pageFontSize = fontSize ;
374384 }
375385
376- var str = sprintf ( 'BT ' + textColor + ' %.2f %.2f Td (%s) Tj ET' , x * k , ( pageHeight - y ) * k , pdfEscape ( text ) ) ;
377- out ( str ) ;
386+ out ( sprintf ( 'BT ' + textColor + ' %.2f %.2f Td (%s) Tj ET' , x * k , ( pageHeight - y ) * k , pdfEscape ( text ) ) ) ;
378387 return _jsPDF ;
379388 } ,
380389 line : function ( x1 , y1 , x2 , y2 ) {
381- var str = sprintf ( '%.2f %.2f m %.2f %.2f l S' , x1 * k , ( pageHeight - y1 ) * k , x2 * k , ( pageHeight - y2 ) * k ) ;
382- out ( str ) ;
390+ out ( sprintf ( '%.2f %.2f m %.2f %.2f l S' , x1 * k , ( pageHeight - y1 ) * k , x2 * k , ( pageHeight - y2 ) * k ) ) ;
383391 return _jsPDF ;
384392 } ,
385393 rect : function ( x , y , w , h , style ) {
386- var op = 'S' ;
387- if ( style === 'F' ) {
388- op = 'f' ;
389- } else if ( style === 'FD' || style === 'DF' ) {
390- op = 'B' ;
391- }
394+ var op = getStyle ( style ) ;
392395 out ( sprintf ( '%.2f %.2f %.2f %.2f re %s' , x * k , ( pageHeight - y ) * k , w * k , - h * k , op ) ) ;
393396 return _jsPDF ;
394397 } ,
398+ triangle : function ( x1 , y1 , x2 , y2 , x3 , y3 , style ) {
399+ var op = getStyle ( style ) ;
400+ out ( sprintf ( '%.2f %.2f m %.2f %.2f l' , x1 * k , ( pageHeight - y1 ) * k , x2 * k , ( pageHeight - y2 ) * k ) ) ;
401+ out ( sprintf ( '%.2f %.2f l' , x3 * k , ( pageHeight - y3 ) * k ) ) ;
402+ out ( sprintf ( '%.2f %.2f l %s' , x1 * k , ( pageHeight - y1 ) * k , op ) ) ;
403+ return _jsPDF ;
404+ } ,
395405 ellipse : function ( x , y , rx , ry , style ) {
396- var op = 'S' ;
397- if ( style === 'F' ) {
398- op = 'f' ;
399- } else if ( style === 'FD' || style === 'DF' ) {
400- op = 'B' ;
401- }
406+ var op = getStyle ( style ) ;
402407 var lx = 4 / 3 * ( Math . SQRT2 - 1 ) * rx ;
403408 var ly = 4 / 3 * ( Math . SQRT2 - 1 ) * ry ;
404409 out ( sprintf ( '%.2f %.2f m %.2f %.2f %.2f %.2f %.2f %.2f c' ,
0 commit comments