55use crate :: canvas_paint_thread:: AntialiasMode ;
66use canvas_traits:: canvas:: * ;
77use cssparser:: RGBA ;
8- use euclid:: { Point2D , Rect , Size2D , Transform2D , Vector2D } ;
8+ use euclid:: default :: { Point2D , Rect , Size2D , Transform2D , Vector2D } ;
99use ipc_channel:: ipc:: { IpcSender , IpcSharedMemory } ;
1010use num_traits:: ToPrimitive ;
1111#[ allow( unused_imports) ]
1212use std:: marker:: PhantomData ;
1313use std:: mem;
1414use std:: sync:: Arc ;
1515use webrender:: api:: DirtyRect ;
16+ use webrender_api:: units:: RectExt ;
1617
1718/// The canvas data stores a state machine for the current status of
1819/// the path data and any relevant transformations that are
@@ -123,12 +124,12 @@ struct PathBuilderRef<'a> {
123124
124125impl < ' a > PathBuilderRef < ' a > {
125126 fn line_to ( & self , pt : & Point2D < f32 > ) {
126- let pt = self . transform . transform_point ( pt) ;
127+ let pt = self . transform . transform_point ( * pt) ;
127128 self . builder . line_to ( pt) ;
128129 }
129130
130131 fn move_to ( & self , pt : & Point2D < f32 > ) {
131- let pt = self . transform . transform_point ( pt) ;
132+ let pt = self . transform . transform_point ( * pt) ;
132133 self . builder . move_to ( pt) ;
133134 }
134135
@@ -142,32 +143,30 @@ impl<'a> PathBuilderRef<'a> {
142143 ) ,
143144 Point2D :: new ( rect. origin . x , rect. origin . y + rect. size . height ) ,
144145 ) ;
145- self . builder . move_to ( self . transform . transform_point ( & first) ) ;
146- self . builder
147- . line_to ( self . transform . transform_point ( & second) ) ;
148- self . builder . line_to ( self . transform . transform_point ( & third) ) ;
149- self . builder
150- . line_to ( self . transform . transform_point ( & fourth) ) ;
146+ self . builder . move_to ( self . transform . transform_point ( first) ) ;
147+ self . builder . line_to ( self . transform . transform_point ( second) ) ;
148+ self . builder . line_to ( self . transform . transform_point ( third) ) ;
149+ self . builder . line_to ( self . transform . transform_point ( fourth) ) ;
151150 self . builder . close ( ) ;
152151 }
153152
154153 fn quadratic_curve_to ( & self , cp : & Point2D < f32 > , endpoint : & Point2D < f32 > ) {
155154 self . builder . quadratic_curve_to (
156- & self . transform . transform_point ( cp) ,
157- & self . transform . transform_point ( endpoint) ,
155+ & self . transform . transform_point ( * cp) ,
156+ & self . transform . transform_point ( * endpoint) ,
158157 )
159158 }
160159
161160 fn bezier_curve_to ( & self , cp1 : & Point2D < f32 > , cp2 : & Point2D < f32 > , endpoint : & Point2D < f32 > ) {
162161 self . builder . bezier_curve_to (
163- & self . transform . transform_point ( cp1) ,
164- & self . transform . transform_point ( cp2) ,
165- & self . transform . transform_point ( endpoint) ,
162+ & self . transform . transform_point ( * cp1) ,
163+ & self . transform . transform_point ( * cp2) ,
164+ & self . transform . transform_point ( * endpoint) ,
166165 )
167166 }
168167
169168 fn arc ( & self , center : & Point2D < f32 > , radius : f32 , start_angle : f32 , end_angle : f32 , ccw : bool ) {
170- let center = self . transform . transform_point ( center) ;
169+ let center = self . transform . transform_point ( * center) ;
171170 self . builder
172171 . arc ( center, radius, start_angle, end_angle, ccw) ;
173172 }
@@ -182,7 +181,7 @@ impl<'a> PathBuilderRef<'a> {
182181 end_angle : f32 ,
183182 ccw : bool ,
184183 ) {
185- let center = self . transform . transform_point ( center) ;
184+ let center = self . transform . transform_point ( * center) ;
186185 self . builder . ellipse (
187186 center,
188187 radius_x,
@@ -200,7 +199,7 @@ impl<'a> PathBuilderRef<'a> {
200199 None => return None ,
201200 } ;
202201 let current_point = self . builder . get_current_point ( ) ;
203- Some ( inverse. transform_point ( & Point2D :: new ( current_point. x , current_point. y ) ) )
202+ Some ( inverse. transform_point ( Point2D :: new ( current_point. x , current_point. y ) ) )
204203 }
205204}
206205
@@ -1033,7 +1032,7 @@ impl<'a> CanvasData<'a> {
10331032 ) ;
10341033 let matrix = Transform2D :: identity ( )
10351034 . pre_translate ( -source_rect. origin . to_vector ( ) . cast ( ) )
1036- . pre_mul ( & self . state . transform ) ;
1035+ . pre_transform ( & self . state . transform ) ;
10371036 draw_target. set_transform ( & matrix) ;
10381037 draw_target
10391038 }
0 commit comments