summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/kernel/src/server.cpp')
-rw-r--r--packages/kernel/src/server.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/kernel/src/server.cpp b/packages/kernel/src/server.cpp
index a5f8365..b302c68 100644
--- a/packages/kernel/src/server.cpp
+++ b/packages/kernel/src/server.cpp
@@ -81,6 +81,14 @@ auto Server::ui_fence_sync_active() const -> bool {
return impl_->substrate != nullptr && impl_->substrate->fence_sync_active();
}
+auto Server::ui_preview_import_is_dmabuf() const -> bool {
+ return impl_->substrate != nullptr && impl_->substrate->preview_import_is_dmabuf();
+}
+
+auto Server::ui_pixel(int x, int y) const -> unsigned int {
+ return impl_->substrate != nullptr ? impl_->substrate->surface_pixel(x, y) : 0U;
+}
+
void Server::ui_set_touch_override(UiTouchOverride ov) {
if (impl_->substrate == nullptr) {
return;
@@ -104,6 +112,13 @@ auto PerExtensionUi::create_surface(const UiSurfaceSpec& spec) -> std::unique_pt
return server_->substrate->create_surface(id_, parent, spec);
}
+auto PerExtensionUi::create_preview(wlr_scene_tree* source) -> std::unique_ptr<Preview> {
+ if (server_->substrate == nullptr) {
+ return nullptr;
+ }
+ return server_->substrate->create_preview(source);
+}
+
auto PerExtensionUi::available() const -> bool {
return server_->substrate != nullptr && server_->substrate->available();
}