From 659a54b2cd58fb7cc4c9935e89a8b928957e88eb Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Tue, 1 Aug 2017 16:05:47 +0200 Subject: [PATCH] app: some comments and erorrs regarding IDs configuration Signed-off-by: Marcus Fritzsch --- src/app.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/app.cpp b/src/app.cpp index 461ac35..1c9b3c2 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -144,6 +144,11 @@ int App::init() { return -1; } + if (this->surface2layer.mapping.empty()) { + logerror("No surface -> layer mapping loaded"); + return -1; + } + this->display->add_global_handler( "wl_output", [this](wl_registry *r, uint32_t name, uint32_t v) { this->outputs.emplace_back(std::make_unique(r, name, v)); @@ -269,6 +274,8 @@ void App::surface_created(uint32_t surface_id) { int w = rect.w; int h = rect.h; + // less-than-0 values refer to MAX + 1 - $VALUE + // e.g. MAX is either screen width or height if (w < 0) { w = c->output_size.w + 1 + w; } @@ -277,8 +284,11 @@ void App::surface_created(uint32_t surface_id) { } logdebug("Computed rect={ %d, %d, %d, %d }", x, y, w, h); + // configure surface to wxh dimensions s->set_configuration(w, h); + // set source rect to "entire surface" s->set_source_rectangle(0, 0, w, h); + // set destination to the display rectangle s->set_destination_rectangle(x, y, w, h); s->set_visibility(1); -- 2.16.6