@@ -82,8 +82,12 @@ pub fn render_playback_window(
82
82
if needs_clear {
83
83
// clear the image's both new and old areas to ensure no remaining artifacts before rendering the image
84
84
// See: https://github.com/aome510/spotify-player/issues/389
85
- clear_area ( frame, ui. last_cover_image_render_info . render_area ) ;
86
- clear_area ( frame, cover_img_rect) ;
85
+ clear_area (
86
+ frame,
87
+ ui. last_cover_image_render_info . render_area ,
88
+ & ui. theme ,
89
+ ) ;
90
+ clear_area ( frame, cover_img_rect, & ui. theme ) ;
87
91
} else {
88
92
if !ui. last_cover_image_render_info . rendered {
89
93
if let Err ( err) = render_playback_cover_image ( state, ui) {
@@ -144,7 +148,11 @@ pub fn render_playback_window(
144
148
#[ cfg( feature = "image" ) ]
145
149
{
146
150
if ui. last_cover_image_render_info . rendered {
147
- clear_area ( frame, ui. last_cover_image_render_info . render_area ) ;
151
+ clear_area (
152
+ frame,
153
+ ui. last_cover_image_render_info . render_area ,
154
+ & ui. theme ,
155
+ ) ;
148
156
ui. last_cover_image_render_info = ImageRenderInfo :: default ( ) ;
149
157
}
150
158
}
@@ -164,14 +172,15 @@ pub fn render_playback_window(
164
172
}
165
173
166
174
#[ cfg( feature = "image" ) ]
167
- fn clear_area ( frame : & mut Frame , rect : Rect ) {
175
+ fn clear_area ( frame : & mut Frame , rect : Rect , theme : & config :: Theme ) {
168
176
for x in rect. left ( ) ..rect. right ( ) {
169
177
for y in rect. top ( ) ..rect. bottom ( ) {
170
178
frame
171
179
. buffer_mut ( )
172
180
. cell_mut ( ( x, y) )
173
181
. expect ( "invalid cell" )
174
- . reset ( ) ;
182
+ . set_char ( ' ' )
183
+ . set_style ( theme. app ( ) ) ;
175
184
}
176
185
}
177
186
}
@@ -373,6 +382,7 @@ fn render_playback_cover_image(state: &SharedState, ui: &mut UIStateGuard) -> Re
373
382
width : Some ( width) ,
374
383
height : Some ( height) ,
375
384
restore_cursor : true ,
385
+ transparent : true ,
376
386
..Default :: default ( )
377
387
} ,
378
388
)
0 commit comments