@@ -198,6 +198,7 @@ fn generate_checkerboard_image(
198
198
tile_x_count : u32 ,
199
199
tile_y_count : u32 ,
200
200
kind : CheckerboardKind ,
201
+ format : ImageFormat ,
201
202
) -> ( ImageDescriptor , ImageData ) {
202
203
let width = 2 * border + tile_x_size * tile_x_count;
203
204
let height = 2 * border + tile_y_size * tile_y_count;
@@ -240,7 +241,7 @@ fn generate_checkerboard_image(
240
241
} ;
241
242
242
243
(
243
- ImageDescriptor :: new ( width as i32 , height as i32 , ImageFormat :: BGRA8 , flags) ,
244
+ ImageDescriptor :: new ( width as i32 , height as i32 , format , flags) ,
244
245
ImageData :: new ( pixels) ,
245
246
)
246
247
}
@@ -632,18 +633,20 @@ impl YamlFrameReader {
632
633
( name @ "checkerboard" , args, _) => {
633
634
let border = args. get ( 0 ) . unwrap_or ( & "4" ) . parse :: < u32 > ( ) . unwrap ( ) ;
634
635
635
- let ( x_size, y_size, x_count, y_count) = match args. len ( ) {
636
- 3 => {
636
+ let ( x_size, y_size, x_count, y_count, format ) = match args. len ( ) {
637
+ 3 | 4 => {
637
638
let size = args. get ( 1 ) . unwrap_or ( & "32" ) . parse :: < u32 > ( ) . unwrap ( ) ;
638
639
let count = args. get ( 2 ) . unwrap_or ( & "8" ) . parse :: < u32 > ( ) . unwrap ( ) ;
639
- ( size, size, count, count)
640
+ let format = args. get ( 3 ) . map ( |x| x. parse :: < ImageFormat > ( ) . unwrap ( ) ) . unwrap_or ( ImageFormat :: BGRA8 ) ;
641
+ ( size, size, count, count, format)
640
642
}
641
- 5 => {
643
+ 5 | 6 => {
642
644
let x_size = args. get ( 1 ) . unwrap_or ( & "32" ) . parse :: < u32 > ( ) . unwrap ( ) ;
643
645
let y_size = args. get ( 2 ) . unwrap_or ( & "32" ) . parse :: < u32 > ( ) . unwrap ( ) ;
644
646
let x_count = args. get ( 3 ) . unwrap_or ( & "8" ) . parse :: < u32 > ( ) . unwrap ( ) ;
645
647
let y_count = args. get ( 4 ) . unwrap_or ( & "8" ) . parse :: < u32 > ( ) . unwrap ( ) ;
646
- ( x_size, y_size, x_count, y_count)
648
+ let format = args. get ( 5 ) . map ( |x| x. parse :: < ImageFormat > ( ) . unwrap ( ) ) . unwrap_or ( ImageFormat :: BGRA8 ) ;
649
+ ( x_size, y_size, x_count, y_count, format)
647
650
}
648
651
_ => {
649
652
panic ! ( "invalid checkerboard function" ) ;
@@ -663,6 +666,7 @@ impl YamlFrameReader {
663
666
x_count,
664
667
y_count,
665
668
kind,
669
+ format,
666
670
)
667
671
}
668
672
_ => {
0 commit comments