cleanup, auto deref Wd, Wr, RdObj

This commit is contained in:
2020-10-10 15:45:01 +02:00
parent 7a3cb539e1
commit 982ba27ed3
7 changed files with 119 additions and 101 deletions
+15 -15
View File
@@ -57,13 +57,13 @@ impl OpTrait for ScreenOp {
let eres = EvalRes::default();
match self {
ScreenOp::ScreenInit { width, height } => {
let w = state.read(*width)?;
let h = state.read(*height)?;
let w = state.read(width)?;
let h = state.read(height)?;
init(state, w, h)?;
}
ScreenOp::Erase { color } => {
let color = (state.read(*color)? & 0xffffff) as u32;
let color = (state.read(color)? & 0xffffff) as u32;
let backend: &mut Backend = state.ext_mut();
for n in 0..(backend.buffer.len()) {
backend.buffer[n] = color;
@@ -72,8 +72,8 @@ impl OpTrait for ScreenOp {
ScreenOp::SetOpt { opt, val } => {
state.clear_status();
let opt = state.read(*opt)?;
let val = state.read(*val)?;
let opt = state.read(opt)?;
let val = state.read(val)?;
let backend: &mut Backend = state.ext_mut();
match opt {
@@ -93,7 +93,7 @@ impl OpTrait for ScreenOp {
}
ScreenOp::Blit { force } => {
let force = state.read(*force)?;
let force = state.read(force)?;
let backend: &mut Backend = state.ext_mut();
if force != 0 {
@@ -122,9 +122,9 @@ impl OpTrait for ScreenOp {
ScreenOp::SetPixel { x, y, color } => {
state.clear_status();
let x = state.read(*x)?;
let y = state.read(*y)?;
let color = state.read(*color)?;
let x = state.read(x)?;
let y = state.read(y)?;
let color = state.read(color)?;
let backend: &mut Backend = state.ext_mut();
@@ -168,8 +168,8 @@ impl OpTrait for ScreenOp {
let xval = xf.round() as u64;
let yval = yf.round() as u64;
state.write(*x, xval)?;
state.write(*y, yval)?;
state.write(x, xval)?;
state.write(y, yval)?;
}
}
}
@@ -181,7 +181,7 @@ impl OpTrait for ScreenOp {
ScreenOp::TestKey { pressed, code } => {
state.clear_status();
let num = num2key(state.read(*code)?);
let num = num2key(state.read(code)?);
let backend: &mut Backend = state.ext_mut();
match &mut backend.window {
Some(w) => {
@@ -191,7 +191,7 @@ impl OpTrait for ScreenOp {
}
Some(kn) => {
let down = w.is_key_down(kn) as u64;
state.write(*pressed, down)?;
state.write(pressed, down)?;
state.update_status(down);
}
}
@@ -205,7 +205,7 @@ impl OpTrait for ScreenOp {
ScreenOp::TestMouse { pressed, button } => {
state.clear_status();
let omb = match state.read(*button)? {
let omb = match state.read(button)? {
0 => Some(MouseButton::Left),
1 => Some(MouseButton::Right),
2 => Some(MouseButton::Middle),
@@ -220,7 +220,7 @@ impl OpTrait for ScreenOp {
Some(w) => {
if let Some(mb) = omb {
let is_pressed = w.get_mouse_down(mb) as u64;
state.write(*pressed, is_pressed)?;
state.write(pressed, is_pressed)?;
state.update_status(is_pressed);
}
}