*/
void App::surface_created(uint32_t surface_id)
{
+ // For set role function
+ HMI_DEBUG("wm", "Get surface pid");
+ this->controller->get_surface_properties(surface_id);
+
auto layer_id = this->layers.get_layer_id(surface_id);
if (!layer_id)
{
this->controller->layers[*layer_id]->add_surface(surface_id);
this->layout_commit();
- // For set role function
- HMI_DEBUG("wm", "Get surface pid");
- this->controller->get_surface_properties(surface_id);
// activate the main_surface right away
/*if (surface_id == static_cast<unsigned>(this->layers.main_surface)) {
// this surface is already created
HMI_DEBUG("wm", "surface_id is %u, layer_id is %u", surface, *lid);
+ const auto &o_layer = this->layers.get_layer(*lid);
+ auto rect = o_layer.value().rect;
+ if(rect.w < 0)
+ {
+ rect.w = this->controller->output_size.w + 1 + rect.w;
+ }
+ if(rect.h < 0)
+ {
+ rect.h = this->controller->output_size.h + 1 + rect.h;
+ }
+ this->controller->surfaces[surface]->set_source_rectangle(0, 0, rect.w, rect.h);
+
this->controller->layers[*lid]->add_surface(surface);
this->layout_commit();