Skip to content

Commit 3959b63

Browse files
committed
dbg
Signed-off-by: sagudev <[email protected]>
1 parent 8468e81 commit 3959b63

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

webrender_api/src/image.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use euclid::{size2, Box2D, num::Zero};
88
use peek_poke::PeekPoke;
99
use std::ops::{Add, Sub};
10+
use std::str::FromStr;
1011
use std::sync::Arc;
1112
// local imports
1213
use crate::{IdNamespace, TileSize};
@@ -173,6 +174,18 @@ pub enum ImageFormat {
173174
RGBA8 = 8,
174175
}
175176

177+
impl FromStr for ImageFormat {
178+
type Err = ();
179+
180+
fn from_str(s: &str) -> Result<Self, Self::Err> {
181+
match s.to_ascii_lowercase().as_str() {
182+
"rgba" | "rgba8" => Ok(Self::RGBA8),
183+
"bgra" | "bgra8" => Ok(Self::BGRA8),
184+
_ => Err(())
185+
}
186+
}
187+
}
188+
176189
impl ImageFormat {
177190
/// Returns the number of bytes per pixel for the given format.
178191
pub fn bytes_per_pixel(self) -> i32 {

wrench/src/yaml_frame_reader.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ fn generate_checkerboard_image(
198198
tile_x_count: u32,
199199
tile_y_count: u32,
200200
kind: CheckerboardKind,
201+
format: ImageFormat,
201202
) -> (ImageDescriptor, ImageData) {
202203
let width = 2 * border + tile_x_size * tile_x_count;
203204
let height = 2 * border + tile_y_size * tile_y_count;
@@ -240,7 +241,7 @@ fn generate_checkerboard_image(
240241
};
241242

242243
(
243-
ImageDescriptor::new(width as i32, height as i32, ImageFormat::BGRA8, flags),
244+
ImageDescriptor::new(width as i32, height as i32, format, flags),
244245
ImageData::new(pixels),
245246
)
246247
}
@@ -632,18 +633,20 @@ impl YamlFrameReader {
632633
(name @ "checkerboard", args, _) => {
633634
let border = args.get(0).unwrap_or(&"4").parse::<u32>().unwrap();
634635

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 => {
637638
let size = args.get(1).unwrap_or(&"32").parse::<u32>().unwrap();
638639
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)
640642
}
641-
5 => {
643+
5 | 6 => {
642644
let x_size = args.get(1).unwrap_or(&"32").parse::<u32>().unwrap();
643645
let y_size = args.get(2).unwrap_or(&"32").parse::<u32>().unwrap();
644646
let x_count = args.get(3).unwrap_or(&"8").parse::<u32>().unwrap();
645647
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)
647650
}
648651
_ => {
649652
panic!("invalid checkerboard function");
@@ -663,6 +666,7 @@ impl YamlFrameReader {
663666
x_count,
664667
y_count,
665668
kind,
669+
format,
666670
)
667671
}
668672
_ => {

0 commit comments

Comments
 (0)