@@ -134,53 +134,24 @@ export function scaleUp(svg, rect) {
134134 return result ;
135135}
136136
137- export function screenToPdf ( svg , rect ) {
138- let result = { } ;
139- let { viewport } = getMetadata ( svg ) ;
140-
141- let xform = [ 1 , 0 , 0 , 1 , 0 , 0 ] ;
142- let trans = getTranslation ( viewport ) ;
143- xform = scale ( xform , viewport . scale , viewport . scale ) ;
144- xform = rotate ( xform , viewport . rotation ) ;
145- xform = translate ( xform , trans . x , trans . y ) ;
146-
137+ export function convertToSvgRect ( rect , svg , viewport ) {
147138 var pt1 = [ rect . x , rect . y ] ;
148139 var pt2 = [ rect . x + rect . width , rect . y + rect . height ] ;
149140
150- pt1 = applyInverseTransform ( pt1 , xform ) ;
151- pt2 = applyInverseTransform ( pt2 , xform ) ;
152-
153- var width = Math . abs ( pt2 [ 0 ] - pt1 [ 0 ] ) ;
154- var height = Math . abs ( pt2 [ 1 ] - pt1 [ 1 ] ) ;
141+ pt1 = convertToSvgPoint ( pt1 , svg , viewport ) ;
142+ pt2 = convertToSvgPoint ( pt2 , svg , viewport ) ;
155143
156- switch ( viewport . rotation % 360 ) {
157- case 0 :
158- result . x = pt1 [ 0 ] ;
159- result . y = pt1 [ 1 ] ;
160- break ;
161- case 90 :
162- result . x = pt1 [ 0 ] ;
163- result . y = pt1 [ 1 ] - height ;
164- break ;
165- case 180 :
166- result . x = pt1 [ 0 ] - width ;
167- result . y = pt1 [ 1 ] - height ;
168- break ;
169- case 270 :
170- result . x = pt1 [ 0 ] - width ;
171- result . y = pt1 [ 1 ] ;
172- break ;
173- }
174-
175- result . width = width ;
176- result . height = height ;
177-
178- return result ;
144+ return {
145+ x : Math . min ( pt1 [ 0 ] , pt2 [ 0 ] ) ,
146+ y : Math . min ( pt1 [ 1 ] , pt2 [ 1 ] ) ,
147+ width : Math . abs ( pt2 [ 0 ] - pt1 [ 0 ] ) ,
148+ height : Math . abs ( pt2 [ 1 ] - pt1 [ 1 ] )
149+ } ;
179150}
180151
181- export function convertToSvgPoint ( pt , svg ) {
152+ export function convertToSvgPoint ( pt , svg , viewport ) {
182153 let result = { } ;
183- let { viewport } = getMetadata ( svg ) ;
154+ viewport = viewport || getMetadata ( svg ) . viewport ;
184155
185156 let xform = [ 1 , 0 , 0 , 1 , 0 , 0 ] ;
186157 xform = scale ( xform , viewport . scale , viewport . scale ) ;
0 commit comments