chore: a small amount of code gardening 🌵
This commit is contained in:
parent
7e340fe900
commit
a1e8ba11ee
|
@ -49,6 +49,7 @@ steps:
|
|||
- .rebar3
|
||||
- native/scenic_window/target
|
||||
- native/scenic_renderer/target
|
||||
- priv/native/
|
||||
|
||||
- name: install dependencies
|
||||
image: harton.dev/james/asdf_container:latest
|
||||
|
@ -125,6 +126,7 @@ steps:
|
|||
- .rebar3
|
||||
- native/scenic_window/target
|
||||
- native/scenic_renderer/target
|
||||
- priv/native/
|
||||
|
||||
- name: mix compile
|
||||
image: harton.dev/james/asdf_container:latest
|
||||
|
|
|
@ -57,7 +57,6 @@ defmodule Scenic.Driver.Renderling.Window do
|
|||
driver = assign(driver, config: config, server: Nif.init(config))
|
||||
|
||||
Process.flag(:trap_exit, true)
|
||||
|
||||
Logger.info("#{inspect(__MODULE__)}: start #{inspect(opts)}, pid: #{inspect(self())}")
|
||||
|
||||
{:ok, driver}
|
||||
|
@ -108,8 +107,9 @@ defmodule Scenic.Driver.Renderling.Window do
|
|||
|
||||
@doc false
|
||||
@impl GenServer
|
||||
def handle_info({:shutdown, reason}, driver) do
|
||||
Logger.debug(fn -> "Received shutdown from `scenic_window_server`: #{inspect(reason)}" end)
|
||||
|
||||
def handle_info(:shutdown, driver) do
|
||||
case driver.assigns.config.on_close do
|
||||
:restart ->
|
||||
{:stop, :normal, driver}
|
||||
|
|
3
native/scenic_renderer/.vscode/settings.json
vendored
3
native/scenic_renderer/.vscode/settings.json
vendored
|
@ -5,6 +5,7 @@
|
|||
"consts",
|
||||
"Miter",
|
||||
"Rect",
|
||||
"renderling"
|
||||
"renderling",
|
||||
"wgpu"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ impl Renderer {
|
|||
}
|
||||
|
||||
pub fn reset_scene(&mut self) {
|
||||
// ?
|
||||
self.scripts.clear();
|
||||
}
|
||||
|
||||
pub fn update_scene(&mut self, script_id: String, script: Script) {
|
||||
|
|
|
@ -36,38 +36,38 @@ fn init(env: Env<'_>, cfg: DriverConfig) -> ResourceArc<IpcResource> {
|
|||
let pid = env.pid();
|
||||
|
||||
std::thread::spawn(move || loop {
|
||||
if let Ok(event) = receiver.recv() {
|
||||
let mut msg_env = OwnedEnv::new();
|
||||
match event {
|
||||
message::Message::InputEvent(input_event) => {
|
||||
msg_env
|
||||
.send_and_clear(&pid, |env| {
|
||||
let input_event: InputEvent = input_event.into();
|
||||
input_event.encode(env)
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
message::Message::Shutdown(reason) => {
|
||||
msg_env
|
||||
.send_and_clear(&pid, |env| {
|
||||
let msg: ShutdownMessage = reason.into();
|
||||
msg.encode(env)
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
_ => unimplemented!(),
|
||||
match receiver.recv() {
|
||||
Ok(message::Message::InputEvent(input_event)) => {
|
||||
let mut msg_env = OwnedEnv::new();
|
||||
msg_env
|
||||
.send_and_clear(&pid, |env| {
|
||||
let input_event: InputEvent = input_event.into();
|
||||
input_event.encode(env)
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
Ok(message::Message::Shutdown(reason)) => {
|
||||
let mut msg_env = OwnedEnv::new();
|
||||
msg_env
|
||||
.send_and_clear(&pid, |env| {
|
||||
let msg: ShutdownMessage = reason.into();
|
||||
msg.encode(env)
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
Ok(_) => unimplemented!(),
|
||||
Err(_) => {
|
||||
let mut msg_env = OwnedEnv::new();
|
||||
msg_env
|
||||
.send_and_clear(&pid, |env| {
|
||||
ShutdownMessage(
|
||||
elixir_types::ShutdownAtom::Shutdown,
|
||||
elixir_types::ShutdownReason::Terminate,
|
||||
)
|
||||
.encode(env)
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
} else {
|
||||
let mut msg_env = OwnedEnv::new();
|
||||
msg_env
|
||||
.send_and_clear(&pid, |env| {
|
||||
ShutdownMessage(
|
||||
elixir_types::ShutdownAtom::Shutdown,
|
||||
elixir_types::ShutdownReason::Terminate,
|
||||
)
|
||||
.encode(env)
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue