fix clippy warnings in scene and host paths
This commit is contained in:
parent
92be3b90fb
commit
0c8de434cf
@ -1395,9 +1395,9 @@ mod tests {
|
||||
assert_eq!(decoded.layers[1].glyph_asset_id, 101);
|
||||
assert_eq!(decoded.layers[1].parallax_factor.x, 0.5);
|
||||
assert_eq!(decoded.layers[2].tile_size, TileSize::Size32);
|
||||
assert_eq!(decoded.layers[0].tilemap.tiles[1].flip_x, true);
|
||||
assert_eq!(decoded.layers[2].tilemap.tiles[2].flip_y, true);
|
||||
assert_eq!(decoded.layers[3].active, false);
|
||||
assert!(decoded.layers[0].tilemap.tiles[1].flip_x);
|
||||
assert!(decoded.layers[2].tilemap.tiles[2].flip_y);
|
||||
assert!(!decoded.layers[3].active);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@ -660,7 +660,9 @@ impl Gfx {
|
||||
self.back.fill(Color::BLACK.raw());
|
||||
self.populate_layer_buckets();
|
||||
|
||||
for layer_index in 0..cache.layers.len() {
|
||||
for (layer_index, glyph_slot) in
|
||||
resolved_glyph_slots.iter().enumerate().take(cache.layers.len())
|
||||
{
|
||||
Self::draw_bucket_on_buffer(
|
||||
&mut self.back,
|
||||
self.w,
|
||||
@ -675,7 +677,7 @@ impl Gfx {
|
||||
self.h,
|
||||
cache,
|
||||
&update.copy_requests[layer_index],
|
||||
resolved_glyph_slots[layer_index],
|
||||
*glyph_slot,
|
||||
&*self.glyph_banks,
|
||||
);
|
||||
}
|
||||
@ -906,6 +908,56 @@ impl Gfx {
|
||||
}
|
||||
}
|
||||
|
||||
/// Blends in RGB565 per channel with saturation.
|
||||
/// `dst` and `src` are RGB565 pixels (u16).
|
||||
fn blend_rgb565(dst: u16, src: u16, mode: BlendMode) -> u16 {
|
||||
match mode {
|
||||
BlendMode::None => src,
|
||||
|
||||
BlendMode::Half => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
let r = ((dr as u16 + sr as u16) >> 1) as u8;
|
||||
let g = ((dg as u16 + sg as u16) >> 1) as u8;
|
||||
let b = ((db as u16 + sb as u16) >> 1) as u8;
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
|
||||
BlendMode::HalfPlus => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
|
||||
let r = (dr as u16 + ((sr as u16) >> 1)).min(31) as u8;
|
||||
let g = (dg as u16 + ((sg as u16) >> 1)).min(63) as u8;
|
||||
let b = (db as u16 + ((sb as u16) >> 1)).min(31) as u8;
|
||||
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
|
||||
BlendMode::HalfMinus => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
|
||||
let r = (dr as i16 - ((sr as i16) >> 1)).max(0) as u8;
|
||||
let g = (dg as i16 - ((sg as i16) >> 1)).max(0) as u8;
|
||||
let b = (db as i16 - ((sb as i16) >> 1)).max(0) as u8;
|
||||
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
|
||||
BlendMode::Full => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
|
||||
let r = (dr as u16 + sr as u16).min(31) as u8;
|
||||
let g = (dg as u16 + sg as u16).min(63) as u8;
|
||||
let b = (db as u16 + sb as u16).min(31) as u8;
|
||||
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
@ -1055,9 +1107,7 @@ mod tests {
|
||||
gfx.begin_overlay_frame();
|
||||
gfx.draw_square(2, 2, 6, 6, Color::WHITE, Color::BLACK);
|
||||
gfx.drain_overlay_debug();
|
||||
// Border
|
||||
assert_eq!(gfx.back[2 * 10 + 2], Color::WHITE.0);
|
||||
// Fill
|
||||
assert_eq!(gfx.back[3 * 10 + 3], Color::BLACK.0);
|
||||
assert_eq!(gfx.overlay().command_count(), 0);
|
||||
}
|
||||
@ -1220,53 +1270,3 @@ mod tests {
|
||||
assert_eq!(gfx.sprites[1].glyph.glyph_id, 5);
|
||||
}
|
||||
}
|
||||
|
||||
/// Blends in RGB565 per channel with saturation.
|
||||
/// `dst` and `src` are RGB565 pixels (u16).
|
||||
fn blend_rgb565(dst: u16, src: u16, mode: BlendMode) -> u16 {
|
||||
match mode {
|
||||
BlendMode::None => src,
|
||||
|
||||
BlendMode::Half => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
let r = ((dr as u16 + sr as u16) >> 1) as u8;
|
||||
let g = ((dg as u16 + sg as u16) >> 1) as u8;
|
||||
let b = ((db as u16 + sb as u16) >> 1) as u8;
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
|
||||
BlendMode::HalfPlus => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
|
||||
let r = (dr as u16 + ((sr as u16) >> 1)).min(31) as u8;
|
||||
let g = (dg as u16 + ((sg as u16) >> 1)).min(63) as u8;
|
||||
let b = (db as u16 + ((sb as u16) >> 1)).min(31) as u8;
|
||||
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
|
||||
BlendMode::HalfMinus => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
|
||||
let r = (dr as i16 - ((sr as i16) >> 1)).max(0) as u8;
|
||||
let g = (dg as i16 - ((sg as i16) >> 1)).max(0) as u8;
|
||||
let b = (db as i16 - ((sb as i16) >> 1)).max(0) as u8;
|
||||
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
|
||||
BlendMode::Full => {
|
||||
let (dr, dg, db) = Color::unpack_to_native(dst);
|
||||
let (sr, sg, sb) = Color::unpack_to_native(src);
|
||||
|
||||
let r = (dr as u16 + sr as u16).min(31) as u8;
|
||||
let g = (dg as u16 + sg as u16).min(63) as u8;
|
||||
let b = (db as u16 + sb as u16).min(31) as u8;
|
||||
|
||||
Color::pack_from_native(r, g, b)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -175,6 +175,7 @@ impl HostAudio {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[allow(clippy::items_after_test_module)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::stats::HostStats;
|
||||
|
||||
@ -54,15 +54,13 @@ impl HostInputHandler {
|
||||
self.signals.y_pos = v.1;
|
||||
}
|
||||
|
||||
WindowEvent::MouseInput { state, button, .. } => {
|
||||
if *button == MouseButton::Left {
|
||||
match state {
|
||||
ElementState::Pressed => {
|
||||
self.signals.f_signal = true;
|
||||
}
|
||||
ElementState::Released => {
|
||||
self.signals.f_signal = false;
|
||||
}
|
||||
WindowEvent::MouseInput { state, button, .. } if *button == MouseButton::Left => {
|
||||
match state {
|
||||
ElementState::Pressed => {
|
||||
self.signals.f_signal = true;
|
||||
}
|
||||
ElementState::Released => {
|
||||
self.signals.f_signal = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -782,10 +782,10 @@ mod tests {
|
||||
break;
|
||||
}
|
||||
|
||||
if let Ok(resp) = serde_json::from_str::<serde_json::Value>(&line) {
|
||||
if resp["type"] == "getState" {
|
||||
return;
|
||||
}
|
||||
if let Ok(resp) = serde_json::from_str::<serde_json::Value>(&line)
|
||||
&& resp["type"] == "getState"
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
panic!("Did not receive getState response");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user