@@ -114,7 +114,7 @@ impl UpdateEncoder {
114
114
}
115
115
116
116
pub ( crate ) fn bitmap ( & mut self , bitmap : BitmapUpdate ) -> Result < UpdateFragmenter < ' _ > > {
117
- self . bitmap_updater . handle ( bitmap, & mut self . pdu_encoder )
117
+ self . bitmap_updater . handle ( & bitmap, & mut self . pdu_encoder )
118
118
}
119
119
120
120
pub ( crate ) fn fragmenter_from_owned ( & self , res : UpdateFragmenterOwned ) -> UpdateFragmenter < ' _ > {
@@ -134,7 +134,7 @@ enum BitmapUpdater {
134
134
}
135
135
136
136
impl BitmapUpdater {
137
- fn handle < ' a > ( & mut self , bitmap : BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
137
+ fn handle < ' a > ( & mut self , bitmap : & BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
138
138
match self {
139
139
Self :: None ( up) => up. handle ( bitmap, encoder) ,
140
140
Self :: Bitmap ( up) => up. handle ( bitmap, encoder) ,
@@ -144,20 +144,19 @@ impl BitmapUpdater {
144
144
}
145
145
146
146
trait BitmapUpdateHandler {
147
- fn handle < ' a > ( & mut self , bitmap : BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > ;
147
+ fn handle < ' a > ( & mut self , bitmap : & BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > ;
148
148
}
149
149
150
150
#[ derive( Debug ) ]
151
151
struct NoneHandler ;
152
152
153
153
impl BitmapUpdateHandler for NoneHandler {
154
- fn handle < ' a > ( & mut self , bitmap : BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
154
+ fn handle < ' a > ( & mut self , bitmap : & BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
155
155
let stride = usize:: from ( bitmap. format . bytes_per_pixel ( ) ) * usize:: from ( bitmap. width . get ( ) ) ;
156
156
let mut data = Vec :: with_capacity ( stride * usize:: from ( bitmap. height . get ( ) ) ) ;
157
157
for row in bitmap. data . chunks ( bitmap. stride ) . rev ( ) {
158
158
data. extend_from_slice ( & row[ ..stride] ) ;
159
159
}
160
-
161
160
encoder. set_surface ( bitmap, CodecId :: None as u8 , & data)
162
161
}
163
162
}
@@ -181,9 +180,9 @@ impl BitmapHandler {
181
180
}
182
181
183
182
impl BitmapUpdateHandler for BitmapHandler {
184
- fn handle < ' a > ( & mut self , bitmap : BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
183
+ fn handle < ' a > ( & mut self , bitmap : & BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
185
184
let len = loop {
186
- match self . bitmap . encode ( & bitmap, encoder. buffer . as_mut_slice ( ) ) {
185
+ match self . bitmap . encode ( bitmap, encoder. buffer . as_mut_slice ( ) ) {
187
186
Err ( e) => match e. kind ( ) {
188
187
ironrdp_core:: EncodeErrorKind :: NotEnoughBytes { .. } => {
189
188
encoder. buffer . resize ( encoder. buffer . len ( ) * 2 , 0 ) ;
@@ -216,10 +215,10 @@ impl RemoteFxHandler {
216
215
}
217
216
218
217
impl BitmapUpdateHandler for RemoteFxHandler {
219
- fn handle < ' a > ( & mut self , bitmap : BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
218
+ fn handle < ' a > ( & mut self , bitmap : & BitmapUpdate , encoder : & ' a mut PduEncoder ) -> Result < UpdateFragmenter < ' a > > {
220
219
let mut buffer = vec ! [ 0 ; bitmap. data. len( ) ] ;
221
220
let len = loop {
222
- match self . remotefx . encode ( & bitmap, buffer. as_mut_slice ( ) ) {
221
+ match self . remotefx . encode ( bitmap, buffer. as_mut_slice ( ) ) {
223
222
Err ( e) => match e. kind ( ) {
224
223
ironrdp_core:: EncodeErrorKind :: NotEnoughBytes { .. } => {
225
224
buffer. resize ( buffer. len ( ) * 2 , 0 ) ;
@@ -264,7 +263,7 @@ impl PduEncoder {
264
263
Ok ( & self . buffer [ ..pos] )
265
264
}
266
265
267
- fn set_surface ( & mut self , bitmap : BitmapUpdate , codec_id : u8 , data : & [ u8 ] ) -> Result < UpdateFragmenter < ' _ > > {
266
+ fn set_surface ( & mut self , bitmap : & BitmapUpdate , codec_id : u8 , data : & [ u8 ] ) -> Result < UpdateFragmenter < ' _ > > {
268
267
let destination = ExclusiveRectangle {
269
268
left : bitmap. x ,
270
269
top : bitmap. y ,
0 commit comments