- auto &o = c.outputs.front();
- auto &s = c.c->screens.begin()->second;
- auto &layers = c.c->layers;
-
- // XXX: Write output dimensions to ivi controller...
- c.c->output_size = genivi::size{uint32_t(o->width), uint32_t(o->height)};
-
- // Clear scene
- layers.clear();
-
- // Clear screen
- s->clear();
-
- // Setup our dummy scene...
- c.c->layer_create(100, 0, 0); // bottom layer, anything else
- c.c->layer_create(1000, 0, 0); // top layer, mandelbrot
-
- auto &l100 = c.c->layers[100];
- auto &l1k = c.c->layers[1000];
-
- // Set layers fullscreen
- l100->set_destination_rectangle(0, 0, o->width, o->height);
- l1k->set_destination_rectangle(0, 0, o->width, o->height);
- l100->set_visibility(1);
- l1k->set_visibility(1);
-
- // Add layers to screen
- s->set_render_order({100, 1000});
-
- c.c->commit_changes();
- // Note: this does not flush the display!