Avoid int2ptr cast in DebugDisplay

This commit is contained in:
bjorn3
2024-03-20 18:33:18 +01:00
parent a89f93ff00
commit d3ccba0943
+8 -4
View File
@@ -65,8 +65,12 @@ impl DebugDisplay {
/// Draw a character
pub fn char(&mut self, x: usize, y: usize, character: char, color: u32) {
if x + 8 <= self.display.width && y + 16 <= self.display.height {
let mut dst =
self.display.data_mut().as_mut_ptr() as usize + (y * self.display.stride + x) * 4;
let mut dst = unsafe {
self.display
.data_mut()
.as_mut_ptr()
.add(y * self.display.stride + x)
};
let font_i = 16 * (character as usize);
if font_i + 16 <= FONT.len() {
@@ -75,11 +79,11 @@ impl DebugDisplay {
for col in 0..8 {
if (row_data >> (7 - col)) & 1 == 1 {
unsafe {
*((dst + col * 4) as *mut u32) = color;
*dst.add(col) = color;
}
}
}
dst += self.display.stride * 4;
dst = unsafe { dst.add(self.display.stride) };
}
}
}