From cc6e82b91479c95ff550f0b59379bff366c19dd1 Mon Sep 17 00:00:00 2001 From: drendog Date: Thu, 13 Nov 2025 17:43:45 +0100 Subject: [PATCH] refactor: move to src --- Cargo.lock | 17 +++++++++---- Cargo.toml | 25 ++++++++++++++++--- adapters/src/rendering/mod.rs | 3 --- adapters/src/wayland/mod.rs | 7 ------ {adapters => src/adapters}/Cargo.toml | 0 {adapters => src/adapters}/src/errors.rs | 0 {adapters => src/adapters}/src/lib.rs | 13 ++++++++-- .../adapters}/src/rendering/egl/context.rs | 0 .../adapters}/src/rendering/egl/mod.rs | 0 .../src/rendering/femtovg/main_window.rs | 0 .../adapters}/src/rendering/femtovg/mod.rs | 0 .../src/rendering/femtovg/popup_window.rs | 0 .../rendering/femtovg/renderable_window.rs | 0 src/adapters/src/rendering/mod.rs | 3 +++ .../src/rendering/slint_integration/mod.rs | 0 .../rendering/slint_integration/platform.rs | 0 .../adapters}/src/wayland/config.rs | 11 ++++---- .../adapters}/src/wayland/connection.rs | 0 .../event_handling/event_dispatcher.rs | 0 .../wayland/event_handling/event_macros.rs | 0 .../src/wayland/event_handling/mod.rs | 0 .../adapters}/src/wayland/globals/context.rs | 0 .../adapters}/src/wayland/globals/mod.rs | 0 .../adapters}/src/wayland/managed_proxies.rs | 0 src/adapters/src/wayland/mod.rs | 7 ++++++ .../adapters}/src/wayland/shell_adapter.rs | 0 .../src/wayland/surfaces/component_state.rs | 0 .../src/wayland/surfaces/dimensions.rs | 0 .../src/wayland/surfaces/display_metrics.rs | 0 .../src/wayland/surfaces/event_bus.rs | 0 .../src/wayland/surfaces/event_context.rs | 0 .../src/wayland/surfaces/event_router.rs | 0 .../src/wayland/surfaces/layer_surface.rs | 0 .../adapters}/src/wayland/surfaces/mod.rs | 0 .../src/wayland/surfaces/popup_manager.rs | 0 .../src/wayland/surfaces/popup_surface.rs | 0 .../src/wayland/surfaces/rendering_state.rs | 0 .../src/wayland/surfaces/surface_builder.rs | 0 .../src/wayland/surfaces/surface_state.rs | 0 .../src/wayland/surfaces/window_events.rs | 0 .../src/wayland/surfaces/window_renderer.rs | 0 {adapters => src/adapters}/tests/.gitkeep | 0 {composition => src/composition}/Cargo.toml | 2 +- .../composition}/src/builder.rs | 0 {composition => src/composition}/src/lib.rs | 9 +++++-- .../composition}/src/system.rs | 9 ++----- {domain => src/domain}/Cargo.toml | 0 {domain => src/domain}/src/config.rs | 0 {domain => src/domain}/src/dimensions.rs | 0 .../domain}/src/entities/component.rs | 0 {domain => src/domain}/src/entities/mod.rs | 0 .../domain}/src/entities/surface.rs | 0 {domain => src/domain}/src/entities/window.rs | 0 {domain => src/domain}/src/errors.rs | 0 {domain => src/domain}/src/lib.rs | 2 +- {domain => src/domain}/src/ports/mod.rs | 0 {domain => src/domain}/src/ports/windowing.rs | 0 {domain => src/domain}/src/prelude.rs | 0 .../domain}/src/surface_dimensions.rs | 0 .../domain}/src/value_objects/anchor.rs | 0 .../domain}/src/value_objects/dimensions.rs | 0 .../value_objects/keyboard_interactivity.rs | 0 .../domain}/src/value_objects/layer.rs | 0 .../domain}/src/value_objects/margins.rs | 0 .../domain}/src/value_objects/mod.rs | 0 .../domain}/src/value_objects/popup_config.rs | 0 .../src/value_objects/popup_dimensions.rs | 0 .../value_objects/popup_positioning_mode.rs | 0 .../src/value_objects/popup_request.rs | 0 src/lib.rs | 17 +++++++++++++ 70 files changed, 89 insertions(+), 36 deletions(-) delete mode 100644 adapters/src/rendering/mod.rs delete mode 100644 adapters/src/wayland/mod.rs rename {adapters => src/adapters}/Cargo.toml (100%) rename {adapters => src/adapters}/src/errors.rs (100%) rename {adapters => src/adapters}/src/lib.rs (69%) rename {adapters => src/adapters}/src/rendering/egl/context.rs (100%) rename {adapters => src/adapters}/src/rendering/egl/mod.rs (100%) rename {adapters => src/adapters}/src/rendering/femtovg/main_window.rs (100%) rename {adapters => src/adapters}/src/rendering/femtovg/mod.rs (100%) rename {adapters => src/adapters}/src/rendering/femtovg/popup_window.rs (100%) rename {adapters => src/adapters}/src/rendering/femtovg/renderable_window.rs (100%) create mode 100644 src/adapters/src/rendering/mod.rs rename {adapters => src/adapters}/src/rendering/slint_integration/mod.rs (100%) rename {adapters => src/adapters}/src/rendering/slint_integration/platform.rs (100%) rename {adapters => src/adapters}/src/wayland/config.rs (87%) rename {adapters => src/adapters}/src/wayland/connection.rs (100%) rename {adapters => src/adapters}/src/wayland/event_handling/event_dispatcher.rs (100%) rename {adapters => src/adapters}/src/wayland/event_handling/event_macros.rs (100%) rename {adapters => src/adapters}/src/wayland/event_handling/mod.rs (100%) rename {adapters => src/adapters}/src/wayland/globals/context.rs (100%) rename {adapters => src/adapters}/src/wayland/globals/mod.rs (100%) rename {adapters => src/adapters}/src/wayland/managed_proxies.rs (100%) create mode 100644 src/adapters/src/wayland/mod.rs rename {adapters => src/adapters}/src/wayland/shell_adapter.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/component_state.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/dimensions.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/display_metrics.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/event_bus.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/event_context.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/event_router.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/layer_surface.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/mod.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/popup_manager.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/popup_surface.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/rendering_state.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/surface_builder.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/surface_state.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/window_events.rs (100%) rename {adapters => src/adapters}/src/wayland/surfaces/window_renderer.rs (100%) rename {adapters => src/adapters}/tests/.gitkeep (100%) rename {composition => src/composition}/Cargo.toml (93%) rename {composition => src/composition}/src/builder.rs (100%) rename {composition => src/composition}/src/lib.rs (81%) rename {composition => src/composition}/src/system.rs (98%) rename {domain => src/domain}/Cargo.toml (100%) rename {domain => src/domain}/src/config.rs (100%) rename {domain => src/domain}/src/dimensions.rs (100%) rename {domain => src/domain}/src/entities/component.rs (100%) rename {domain => src/domain}/src/entities/mod.rs (100%) rename {domain => src/domain}/src/entities/surface.rs (100%) rename {domain => src/domain}/src/entities/window.rs (100%) rename {domain => src/domain}/src/errors.rs (100%) rename {domain => src/domain}/src/lib.rs (84%) rename {domain => src/domain}/src/ports/mod.rs (100%) rename {domain => src/domain}/src/ports/windowing.rs (100%) rename {domain => src/domain}/src/prelude.rs (100%) rename {domain => src/domain}/src/surface_dimensions.rs (100%) rename {domain => src/domain}/src/value_objects/anchor.rs (100%) rename {domain => src/domain}/src/value_objects/dimensions.rs (100%) rename {domain => src/domain}/src/value_objects/keyboard_interactivity.rs (100%) rename {domain => src/domain}/src/value_objects/layer.rs (100%) rename {domain => src/domain}/src/value_objects/margins.rs (100%) rename {domain => src/domain}/src/value_objects/mod.rs (100%) rename {domain => src/domain}/src/value_objects/popup_config.rs (100%) rename {domain => src/domain}/src/value_objects/popup_dimensions.rs (100%) rename {domain => src/domain}/src/value_objects/popup_positioning_mode.rs (100%) rename {domain => src/domain}/src/value_objects/popup_request.rs (100%) create mode 100644 src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index bc7435d..a2ca4a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1855,11 +1855,7 @@ dependencies = [ name = "layer-shika" version = "0.1.0" dependencies = [ - "layer-shika-adapters", - "layer-shika-domain", - "log", - "spin_on", - "thiserror 2.0.17", + "layer-shika-composition", ] [[package]] @@ -1879,6 +1875,17 @@ dependencies = [ "wayland-protocols", ] +[[package]] +name = "layer-shika-composition" +version = "0.1.0" +dependencies = [ + "layer-shika-adapters", + "layer-shika-domain", + "log", + "spin_on", + "thiserror 2.0.17", +] + [[package]] name = "layer-shika-domain" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index d327059..1ad4a04 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,24 @@ +[package] +name = "layer-shika" +version = "0.1.0" +edition = "2024" +license = "AGPL-3.0-or-later" +repository = "https://codeberg.org/waydeer/layer-shika" +rust-version = "1.85" +keywords = ["layer-shell", "wayland", "slint", "femtovg", "smithay"] +categories = ["gui"] +description = "A layer shell library for Wayland with Slint UI integration" +readme = "README.md" + +[lints] +workspace = true + +[dependencies] +layer-shika-composition = { version = "0.1.0", path = "src/composition" } + [workspace] resolver = "2" -members = ["domain", "adapters", "composition"] +members = ["src/domain", "src/adapters", "src/composition"] [workspace.package] version = "0.1.0" @@ -32,8 +50,9 @@ thiserror = "2.0.17" wayland-client = "0.31.11" wayland-protocols = { version = "0.32.9", features = ["client", "staging"] } -layer-shika-domain = { version = "0.1.0", path = "domain" } -layer-shika-adapters = { version = "0.1.0", path = "adapters" } +layer-shika-domain = { version = "0.1.0", path = "src/domain" } +layer-shika-adapters = { version = "0.1.0", path = "src/adapters" } +layer-shika-composition = { version = "0.1.0", path = "src/composition" } [workspace.lints.clippy] all = { level = "deny", priority = -1 } diff --git a/adapters/src/rendering/mod.rs b/adapters/src/rendering/mod.rs deleted file mode 100644 index d6096e1..0000000 --- a/adapters/src/rendering/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod egl; -pub mod femtovg; -pub mod slint_integration; diff --git a/adapters/src/wayland/mod.rs b/adapters/src/wayland/mod.rs deleted file mode 100644 index de30dab..0000000 --- a/adapters/src/wayland/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -pub mod config; -pub mod connection; -pub mod event_handling; -pub mod globals; -pub mod managed_proxies; -pub mod shell_adapter; -pub mod surfaces; diff --git a/adapters/Cargo.toml b/src/adapters/Cargo.toml similarity index 100% rename from adapters/Cargo.toml rename to src/adapters/Cargo.toml diff --git a/adapters/src/errors.rs b/src/adapters/src/errors.rs similarity index 100% rename from adapters/src/errors.rs rename to src/adapters/src/errors.rs diff --git a/adapters/src/lib.rs b/src/adapters/src/lib.rs similarity index 69% rename from adapters/src/lib.rs rename to src/adapters/src/lib.rs index 0944cca..d4b4588 100644 --- a/adapters/src/lib.rs +++ b/src/adapters/src/lib.rs @@ -1,11 +1,20 @@ #![allow(clippy::pub_use)] pub mod errors; -pub mod rendering; -pub mod wayland; +pub(crate) mod rendering; +pub(crate) mod wayland; pub use rendering::femtovg::popup_window::PopupWindow; +pub use wayland::{ + config::WaylandWindowConfig, + shell_adapter::WaylandWindowingSystem, + surfaces::{ + popup_manager::{PopupId, PopupManager}, + surface_state::WindowState, + }, +}; + pub mod platform { pub use slint; pub use slint_interpreter; diff --git a/adapters/src/rendering/egl/context.rs b/src/adapters/src/rendering/egl/context.rs similarity index 100% rename from adapters/src/rendering/egl/context.rs rename to src/adapters/src/rendering/egl/context.rs diff --git a/adapters/src/rendering/egl/mod.rs b/src/adapters/src/rendering/egl/mod.rs similarity index 100% rename from adapters/src/rendering/egl/mod.rs rename to src/adapters/src/rendering/egl/mod.rs diff --git a/adapters/src/rendering/femtovg/main_window.rs b/src/adapters/src/rendering/femtovg/main_window.rs similarity index 100% rename from adapters/src/rendering/femtovg/main_window.rs rename to src/adapters/src/rendering/femtovg/main_window.rs diff --git a/adapters/src/rendering/femtovg/mod.rs b/src/adapters/src/rendering/femtovg/mod.rs similarity index 100% rename from adapters/src/rendering/femtovg/mod.rs rename to src/adapters/src/rendering/femtovg/mod.rs diff --git a/adapters/src/rendering/femtovg/popup_window.rs b/src/adapters/src/rendering/femtovg/popup_window.rs similarity index 100% rename from adapters/src/rendering/femtovg/popup_window.rs rename to src/adapters/src/rendering/femtovg/popup_window.rs diff --git a/adapters/src/rendering/femtovg/renderable_window.rs b/src/adapters/src/rendering/femtovg/renderable_window.rs similarity index 100% rename from adapters/src/rendering/femtovg/renderable_window.rs rename to src/adapters/src/rendering/femtovg/renderable_window.rs diff --git a/src/adapters/src/rendering/mod.rs b/src/adapters/src/rendering/mod.rs new file mode 100644 index 0000000..cfe9a74 --- /dev/null +++ b/src/adapters/src/rendering/mod.rs @@ -0,0 +1,3 @@ +pub(crate) mod egl; +pub(crate) mod femtovg; +pub(crate) mod slint_integration; diff --git a/adapters/src/rendering/slint_integration/mod.rs b/src/adapters/src/rendering/slint_integration/mod.rs similarity index 100% rename from adapters/src/rendering/slint_integration/mod.rs rename to src/adapters/src/rendering/slint_integration/mod.rs diff --git a/adapters/src/rendering/slint_integration/platform.rs b/src/adapters/src/rendering/slint_integration/platform.rs similarity index 100% rename from adapters/src/rendering/slint_integration/platform.rs rename to src/adapters/src/rendering/slint_integration/platform.rs diff --git a/adapters/src/wayland/config.rs b/src/adapters/src/wayland/config.rs similarity index 87% rename from adapters/src/wayland/config.rs rename to src/adapters/src/wayland/config.rs index f04c2a0..b123878 100644 --- a/adapters/src/wayland/config.rs +++ b/src/adapters/src/wayland/config.rs @@ -1,8 +1,9 @@ -use layer_shika_domain::prelude::{ - AnchorEdges, KeyboardInteractivity as DomainKeyboardInteractivity, Layer, Margins, - WindowConfig as DomainWindowConfig, -}; -use slint_interpreter::{ComponentDefinition, CompilationResult}; +use layer_shika_domain::config::WindowConfig as DomainWindowConfig; +use layer_shika_domain::value_objects::anchor::AnchorEdges; +use layer_shika_domain::value_objects::keyboard_interactivity::KeyboardInteractivity as DomainKeyboardInteractivity; +use layer_shika_domain::value_objects::layer::Layer; +use layer_shika_domain::value_objects::margins::Margins; +use slint_interpreter::{CompilationResult, ComponentDefinition}; use smithay_client_toolkit::reexports::protocols_wlr::layer_shell::v1::client::{ zwlr_layer_shell_v1::{self}, zwlr_layer_surface_v1::{Anchor, KeyboardInteractivity as WaylandKeyboardInteractivity}, diff --git a/adapters/src/wayland/connection.rs b/src/adapters/src/wayland/connection.rs similarity index 100% rename from adapters/src/wayland/connection.rs rename to src/adapters/src/wayland/connection.rs diff --git a/adapters/src/wayland/event_handling/event_dispatcher.rs b/src/adapters/src/wayland/event_handling/event_dispatcher.rs similarity index 100% rename from adapters/src/wayland/event_handling/event_dispatcher.rs rename to src/adapters/src/wayland/event_handling/event_dispatcher.rs diff --git a/adapters/src/wayland/event_handling/event_macros.rs b/src/adapters/src/wayland/event_handling/event_macros.rs similarity index 100% rename from adapters/src/wayland/event_handling/event_macros.rs rename to src/adapters/src/wayland/event_handling/event_macros.rs diff --git a/adapters/src/wayland/event_handling/mod.rs b/src/adapters/src/wayland/event_handling/mod.rs similarity index 100% rename from adapters/src/wayland/event_handling/mod.rs rename to src/adapters/src/wayland/event_handling/mod.rs diff --git a/adapters/src/wayland/globals/context.rs b/src/adapters/src/wayland/globals/context.rs similarity index 100% rename from adapters/src/wayland/globals/context.rs rename to src/adapters/src/wayland/globals/context.rs diff --git a/adapters/src/wayland/globals/mod.rs b/src/adapters/src/wayland/globals/mod.rs similarity index 100% rename from adapters/src/wayland/globals/mod.rs rename to src/adapters/src/wayland/globals/mod.rs diff --git a/adapters/src/wayland/managed_proxies.rs b/src/adapters/src/wayland/managed_proxies.rs similarity index 100% rename from adapters/src/wayland/managed_proxies.rs rename to src/adapters/src/wayland/managed_proxies.rs diff --git a/src/adapters/src/wayland/mod.rs b/src/adapters/src/wayland/mod.rs new file mode 100644 index 0000000..6638e9f --- /dev/null +++ b/src/adapters/src/wayland/mod.rs @@ -0,0 +1,7 @@ +pub(crate) mod config; +pub(crate) mod connection; +pub(crate) mod event_handling; +pub(crate) mod globals; +pub(crate) mod managed_proxies; +pub(crate) mod shell_adapter; +pub(crate) mod surfaces; diff --git a/adapters/src/wayland/shell_adapter.rs b/src/adapters/src/wayland/shell_adapter.rs similarity index 100% rename from adapters/src/wayland/shell_adapter.rs rename to src/adapters/src/wayland/shell_adapter.rs diff --git a/adapters/src/wayland/surfaces/component_state.rs b/src/adapters/src/wayland/surfaces/component_state.rs similarity index 100% rename from adapters/src/wayland/surfaces/component_state.rs rename to src/adapters/src/wayland/surfaces/component_state.rs diff --git a/adapters/src/wayland/surfaces/dimensions.rs b/src/adapters/src/wayland/surfaces/dimensions.rs similarity index 100% rename from adapters/src/wayland/surfaces/dimensions.rs rename to src/adapters/src/wayland/surfaces/dimensions.rs diff --git a/adapters/src/wayland/surfaces/display_metrics.rs b/src/adapters/src/wayland/surfaces/display_metrics.rs similarity index 100% rename from adapters/src/wayland/surfaces/display_metrics.rs rename to src/adapters/src/wayland/surfaces/display_metrics.rs diff --git a/adapters/src/wayland/surfaces/event_bus.rs b/src/adapters/src/wayland/surfaces/event_bus.rs similarity index 100% rename from adapters/src/wayland/surfaces/event_bus.rs rename to src/adapters/src/wayland/surfaces/event_bus.rs diff --git a/adapters/src/wayland/surfaces/event_context.rs b/src/adapters/src/wayland/surfaces/event_context.rs similarity index 100% rename from adapters/src/wayland/surfaces/event_context.rs rename to src/adapters/src/wayland/surfaces/event_context.rs diff --git a/adapters/src/wayland/surfaces/event_router.rs b/src/adapters/src/wayland/surfaces/event_router.rs similarity index 100% rename from adapters/src/wayland/surfaces/event_router.rs rename to src/adapters/src/wayland/surfaces/event_router.rs diff --git a/adapters/src/wayland/surfaces/layer_surface.rs b/src/adapters/src/wayland/surfaces/layer_surface.rs similarity index 100% rename from adapters/src/wayland/surfaces/layer_surface.rs rename to src/adapters/src/wayland/surfaces/layer_surface.rs diff --git a/adapters/src/wayland/surfaces/mod.rs b/src/adapters/src/wayland/surfaces/mod.rs similarity index 100% rename from adapters/src/wayland/surfaces/mod.rs rename to src/adapters/src/wayland/surfaces/mod.rs diff --git a/adapters/src/wayland/surfaces/popup_manager.rs b/src/adapters/src/wayland/surfaces/popup_manager.rs similarity index 100% rename from adapters/src/wayland/surfaces/popup_manager.rs rename to src/adapters/src/wayland/surfaces/popup_manager.rs diff --git a/adapters/src/wayland/surfaces/popup_surface.rs b/src/adapters/src/wayland/surfaces/popup_surface.rs similarity index 100% rename from adapters/src/wayland/surfaces/popup_surface.rs rename to src/adapters/src/wayland/surfaces/popup_surface.rs diff --git a/adapters/src/wayland/surfaces/rendering_state.rs b/src/adapters/src/wayland/surfaces/rendering_state.rs similarity index 100% rename from adapters/src/wayland/surfaces/rendering_state.rs rename to src/adapters/src/wayland/surfaces/rendering_state.rs diff --git a/adapters/src/wayland/surfaces/surface_builder.rs b/src/adapters/src/wayland/surfaces/surface_builder.rs similarity index 100% rename from adapters/src/wayland/surfaces/surface_builder.rs rename to src/adapters/src/wayland/surfaces/surface_builder.rs diff --git a/adapters/src/wayland/surfaces/surface_state.rs b/src/adapters/src/wayland/surfaces/surface_state.rs similarity index 100% rename from adapters/src/wayland/surfaces/surface_state.rs rename to src/adapters/src/wayland/surfaces/surface_state.rs diff --git a/adapters/src/wayland/surfaces/window_events.rs b/src/adapters/src/wayland/surfaces/window_events.rs similarity index 100% rename from adapters/src/wayland/surfaces/window_events.rs rename to src/adapters/src/wayland/surfaces/window_events.rs diff --git a/adapters/src/wayland/surfaces/window_renderer.rs b/src/adapters/src/wayland/surfaces/window_renderer.rs similarity index 100% rename from adapters/src/wayland/surfaces/window_renderer.rs rename to src/adapters/src/wayland/surfaces/window_renderer.rs diff --git a/adapters/tests/.gitkeep b/src/adapters/tests/.gitkeep similarity index 100% rename from adapters/tests/.gitkeep rename to src/adapters/tests/.gitkeep diff --git a/composition/Cargo.toml b/src/composition/Cargo.toml similarity index 93% rename from composition/Cargo.toml rename to src/composition/Cargo.toml index 5c38bd6..15ec310 100644 --- a/composition/Cargo.toml +++ b/src/composition/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "layer-shika" +name = "layer-shika-composition" version.workspace = true edition.workspace = true license.workspace = true diff --git a/composition/src/builder.rs b/src/composition/src/builder.rs similarity index 100% rename from composition/src/builder.rs rename to src/composition/src/builder.rs diff --git a/composition/src/lib.rs b/src/composition/src/lib.rs similarity index 81% rename from composition/src/lib.rs rename to src/composition/src/lib.rs index f795863..e12b710 100644 --- a/composition/src/lib.rs +++ b/src/composition/src/lib.rs @@ -1,7 +1,7 @@ #![allow(clippy::pub_use)] -pub mod builder; -pub mod system; +mod builder; +mod system; use layer_shika_adapters::errors::LayerShikaError; use layer_shika_domain::errors::DomainError; @@ -12,7 +12,12 @@ pub use layer_shika_adapters::PopupWindow; pub use layer_shika_adapters::platform::{slint, slint_interpreter}; pub use layer_shika_domain::value_objects::anchor::AnchorEdges; pub use layer_shika_domain::value_objects::keyboard_interactivity::KeyboardInteractivity; +pub use layer_shika_domain::value_objects::layer::Layer; pub use layer_shika_domain::value_objects::popup_positioning_mode::PopupPositioningMode; +pub use layer_shika_domain::value_objects::popup_request::{ + PopupAt, PopupHandle, PopupRequest, PopupSize, +}; +pub use system::{EventLoopHandle, RuntimeState, WindowingSystem}; pub mod calloop { pub use layer_shika_adapters::platform::calloop::{ diff --git a/composition/src/system.rs b/src/composition/src/system.rs similarity index 98% rename from composition/src/system.rs rename to src/composition/src/system.rs index 90c54fa..87a93e2 100644 --- a/composition/src/system.rs +++ b/src/composition/src/system.rs @@ -8,13 +8,8 @@ use layer_shika_adapters::platform::slint::{ComponentHandle, SharedString}; use layer_shika_adapters::platform::slint_interpreter::{ CompilationResult, ComponentDefinition, ComponentInstance, Value, }; -use layer_shika_adapters::wayland::{ - config::WaylandWindowConfig, - shell_adapter::WaylandWindowingSystem, - surfaces::{ - popup_manager::{PopupId, PopupManager}, - surface_state::WindowState, - }, +use layer_shika_adapters::{ + PopupId, PopupManager, WaylandWindowConfig, WaylandWindowingSystem, WindowState, }; use layer_shika_domain::config::WindowConfig; use layer_shika_domain::errors::DomainError; diff --git a/domain/Cargo.toml b/src/domain/Cargo.toml similarity index 100% rename from domain/Cargo.toml rename to src/domain/Cargo.toml diff --git a/domain/src/config.rs b/src/domain/src/config.rs similarity index 100% rename from domain/src/config.rs rename to src/domain/src/config.rs diff --git a/domain/src/dimensions.rs b/src/domain/src/dimensions.rs similarity index 100% rename from domain/src/dimensions.rs rename to src/domain/src/dimensions.rs diff --git a/domain/src/entities/component.rs b/src/domain/src/entities/component.rs similarity index 100% rename from domain/src/entities/component.rs rename to src/domain/src/entities/component.rs diff --git a/domain/src/entities/mod.rs b/src/domain/src/entities/mod.rs similarity index 100% rename from domain/src/entities/mod.rs rename to src/domain/src/entities/mod.rs diff --git a/domain/src/entities/surface.rs b/src/domain/src/entities/surface.rs similarity index 100% rename from domain/src/entities/surface.rs rename to src/domain/src/entities/surface.rs diff --git a/domain/src/entities/window.rs b/src/domain/src/entities/window.rs similarity index 100% rename from domain/src/entities/window.rs rename to src/domain/src/entities/window.rs diff --git a/domain/src/errors.rs b/src/domain/src/errors.rs similarity index 100% rename from domain/src/errors.rs rename to src/domain/src/errors.rs diff --git a/domain/src/lib.rs b/src/domain/src/lib.rs similarity index 84% rename from domain/src/lib.rs rename to src/domain/src/lib.rs index c3dab49..c957d75 100644 --- a/domain/src/lib.rs +++ b/src/domain/src/lib.rs @@ -1,6 +1,6 @@ pub mod config; pub mod dimensions; -pub mod entities; +pub(crate) mod entities; pub mod errors; pub mod ports; pub mod prelude; diff --git a/domain/src/ports/mod.rs b/src/domain/src/ports/mod.rs similarity index 100% rename from domain/src/ports/mod.rs rename to src/domain/src/ports/mod.rs diff --git a/domain/src/ports/windowing.rs b/src/domain/src/ports/windowing.rs similarity index 100% rename from domain/src/ports/windowing.rs rename to src/domain/src/ports/windowing.rs diff --git a/domain/src/prelude.rs b/src/domain/src/prelude.rs similarity index 100% rename from domain/src/prelude.rs rename to src/domain/src/prelude.rs diff --git a/domain/src/surface_dimensions.rs b/src/domain/src/surface_dimensions.rs similarity index 100% rename from domain/src/surface_dimensions.rs rename to src/domain/src/surface_dimensions.rs diff --git a/domain/src/value_objects/anchor.rs b/src/domain/src/value_objects/anchor.rs similarity index 100% rename from domain/src/value_objects/anchor.rs rename to src/domain/src/value_objects/anchor.rs diff --git a/domain/src/value_objects/dimensions.rs b/src/domain/src/value_objects/dimensions.rs similarity index 100% rename from domain/src/value_objects/dimensions.rs rename to src/domain/src/value_objects/dimensions.rs diff --git a/domain/src/value_objects/keyboard_interactivity.rs b/src/domain/src/value_objects/keyboard_interactivity.rs similarity index 100% rename from domain/src/value_objects/keyboard_interactivity.rs rename to src/domain/src/value_objects/keyboard_interactivity.rs diff --git a/domain/src/value_objects/layer.rs b/src/domain/src/value_objects/layer.rs similarity index 100% rename from domain/src/value_objects/layer.rs rename to src/domain/src/value_objects/layer.rs diff --git a/domain/src/value_objects/margins.rs b/src/domain/src/value_objects/margins.rs similarity index 100% rename from domain/src/value_objects/margins.rs rename to src/domain/src/value_objects/margins.rs diff --git a/domain/src/value_objects/mod.rs b/src/domain/src/value_objects/mod.rs similarity index 100% rename from domain/src/value_objects/mod.rs rename to src/domain/src/value_objects/mod.rs diff --git a/domain/src/value_objects/popup_config.rs b/src/domain/src/value_objects/popup_config.rs similarity index 100% rename from domain/src/value_objects/popup_config.rs rename to src/domain/src/value_objects/popup_config.rs diff --git a/domain/src/value_objects/popup_dimensions.rs b/src/domain/src/value_objects/popup_dimensions.rs similarity index 100% rename from domain/src/value_objects/popup_dimensions.rs rename to src/domain/src/value_objects/popup_dimensions.rs diff --git a/domain/src/value_objects/popup_positioning_mode.rs b/src/domain/src/value_objects/popup_positioning_mode.rs similarity index 100% rename from domain/src/value_objects/popup_positioning_mode.rs rename to src/domain/src/value_objects/popup_positioning_mode.rs diff --git a/domain/src/value_objects/popup_request.rs b/src/domain/src/value_objects/popup_request.rs similarity index 100% rename from domain/src/value_objects/popup_request.rs rename to src/domain/src/value_objects/popup_request.rs diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..cf71a9a --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,17 @@ +#![allow(clippy::pub_use)] + +mod composition { + pub use layer_shika_composition::*; +} + +pub use composition::{ + AnchorEdges, Error, EventLoopHandle, KeyboardInteractivity, Layer, LayerShika, PopupAt, + PopupHandle, PopupPositioningMode, PopupRequest, PopupSize, PopupWindow, Result, RuntimeState, + WindowingSystem, +}; + +pub use composition::{slint, slint_interpreter}; + +pub mod calloop { + pub use layer_shika_composition::calloop::*; +}