diff options
author | 2017-09-12 11:29:37 +0200 | |
---|---|---|
committer | 2017-09-12 11:29:37 +0200 | |
commit | 260b142249baa6cbd9147473384d40f83f7db61e (patch) | |
tree | a26c653f7d06b3aeb88306429ae28ef1d9b870d8 /src/app.cpp | |
parent | 875547362223909f750d4ab2f536735e5b344fc8 (diff) |
App: add layout_commit()
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src/app.cpp')
-rw-r--r-- | src/app.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/app.cpp b/src/app.cpp index 3751fd3..9b6486a 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -235,9 +235,7 @@ int App::init_layers() { // Add layers to screen (XXX: are they sorted correctly?) s->set_render_order(this->layers.layers); - c->commit_changes(); - - this->display->flush(); + this->layout_commit(); return 0; } @@ -353,6 +351,11 @@ void App::surface_set_layout(int surface_id, optional<int> sub_surface_id) { surface_id, layer_id, x, y, w, h); } +void App::layout_commit() { + this->controller->commit_changes(); + this->display->flush(); +} + char const *App::api_activate_surface(char const *drawing_name) { ST(); auto const &surface_id = this->lookup_id(drawing_name); @@ -401,8 +404,7 @@ char const *App::api_activate_surface(char const *drawing_name) { l.state.s = LayoutState::Single; if (flush) { - this->controller->commit_changes(); - this->display->flush(); + this->layout_commit(); } } @@ -418,11 +420,12 @@ char const *App::api_activate_surface(char const *drawing_name) { this->emit_syncdraw(drawing_name); this->surface_set_layout(*surface_id); - this->activate(*surface_id); + this->activate(*surface_id); // XXX do we need to activate after enddraw? state.main = *surface_id; state.sub = -1; state.s = LayoutState::Single; + this->layout_commit(); this->enqueue_flushdraw(state.main); } else { bool can_split = this->can_split(state, *surface_id); @@ -438,6 +441,7 @@ char const *App::api_activate_surface(char const *drawing_name) { this->activate(*surface_id); state.sub = *surface_id; + this->layout_commit(); this->enqueue_flushdraw(state.main); this->enqueue_flushdraw(state.sub); } @@ -452,15 +456,12 @@ char const *App::api_activate_surface(char const *drawing_name) { state.sub = -1; state.s = LayoutState::Single; + this->layout_commit(); this->enqueue_flushdraw(state.main); } } } - // commit changes - this->controller->commit_changes(); - this->display->flush(); - // no error return nullptr; } @@ -505,6 +506,7 @@ char const *App::api_deactivate_surface(char const *drawing_name) { state.sub = -1; state.s = LayoutState::Single; + this->layout_commit(); this->enqueue_flushdraw(state.sub); } else { this->deactivate(*surface_id); @@ -520,14 +522,12 @@ char const *App::api_deactivate_surface(char const *drawing_name) { state.sub = -1; state.s = LayoutState::Single; + this->layout_commit(); this->enqueue_flushdraw(state.main); } else { return "Surface is not active"; } - this->controller->commit_changes(); - this->display->flush(); - return nullptr; } |