diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-11-16 12:44:23 +0100 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-11-16 12:44:23 +0100 |
| commit | 01da0a843ebe39ecf1ace526de03fb23643f8c17 (patch) | |
| tree | 91a87a0c193d8feebc4a022c8f654f9d9a83d89e /launcher | |
| parent | dcd6ee8bb2cb8e3fe4349bfb858073b0eb9dfe52 (diff) | |
BackgroundEffectHelper: connect to owner geometry changes to update the requested blur geo
Now BGHelper clients doesn't need to do this manually: as soon as they register with the helper, it connects to owner's geometry changes. Each owner can also provide a custom function for defining another blur region instead of its absolute geometry (mostly needed by the dash). (bzr r3347.5.14)
Diffstat (limited to 'launcher')
| -rw-r--r-- | launcher/Launcher.cpp | 11 | ||||
| -rw-r--r-- | launcher/SwitcherController.cpp | 8 | ||||
| -rw-r--r-- | launcher/SwitcherView.cpp | 5 | ||||
| -rw-r--r-- | launcher/SwitcherView.h | 2 |
4 files changed, 7 insertions, 19 deletions
diff --git a/launcher/Launcher.cpp b/launcher/Launcher.cpp index 226430f9f..24ce7824d 100644 --- a/launcher/Launcher.cpp +++ b/launcher/Launcher.cpp @@ -188,17 +188,6 @@ Launcher::Launcher(MockableBaseWindow* parent, options.changed.connect(sigc::mem_fun(this, &Launcher::OnOptionsChanged)); monitor.changed.connect(sigc::mem_fun(this, &Launcher::OnMonitorChanged)); - auto update_blur_geometry = [this](nux::Area *area, nux::Geometry const& geo) { - nux::Geometry const& geo_absolute = GetAbsoluteGeometry(); - nux::Geometry const& base = GetGeometry(); - nux::Geometry blur_geo(geo_absolute.x, geo_absolute.y, base.width, base.height); - - bg_effect_helper_.SetBackbufferRegion(blur_geo); - }; - - parent->geometry_changed.connect(update_blur_geometry); - update_blur_geometry(this, GetAbsoluteGeometry()); - auto_hide_animation_.updated.connect(redraw_cb); hover_animation_.updated.connect(redraw_cb); drag_over_animation_.updated.connect(redraw_cb); diff --git a/launcher/SwitcherController.cpp b/launcher/SwitcherController.cpp index f38bb5d66..1532effba 100644 --- a/launcher/SwitcherController.cpp +++ b/launcher/SwitcherController.cpp @@ -453,8 +453,7 @@ void Controller::Impl::ConstructView() sources_.Remove(VIEW_CONSTRUCT_IDLE); - ConstructWindow(); - view_ = SwitcherView::Ptr(new SwitcherView(view_window_.GetPointer())); + view_ = SwitcherView::Ptr(new SwitcherView()); obj_->AddChild(view_.GetPointer()); view_->SetModel(model_); view_->background_color = WindowManager::Default().average_color(); @@ -468,8 +467,8 @@ void Controller::Impl::ConstructView() }); view_->switcher_mouse_move.connect([this] (int icon_index) { - if (icon_index >= 0) - ResetDetailTimer(obj_->detail_timeout_length); + if (icon_index >= 0) + ResetDetailTimer(obj_->detail_timeout_length); }); view_->switcher_next.connect(sigc::mem_fun(this, &Impl::Next)); @@ -477,6 +476,7 @@ void Controller::Impl::ConstructView() view_->switcher_start_detail.connect(sigc::mem_fun(this, &Impl::StartDetailMode)); view_->switcher_stop_detail.connect(sigc::mem_fun(this, &Impl::StopDetailMode)); + ConstructWindow(); main_layout_->AddView(view_.GetPointer(), 1); view_window_->SetEnterFocusInputArea(view_.GetPointer()); view_window_->SetGeometry(GetSwitcherViewsGeometry()); diff --git a/launcher/SwitcherView.cpp b/launcher/SwitcherView.cpp index 1ac190c1e..a28957ce2 100644 --- a/launcher/SwitcherView.cpp +++ b/launcher/SwitcherView.cpp @@ -44,9 +44,8 @@ namespace NUX_IMPLEMENT_OBJECT_TYPE(SwitcherView); -SwitcherView::SwitcherView(nux::BaseWindow *parent) - : UnityWindowView(parent) - , render_boxes(false) +SwitcherView::SwitcherView() + : render_boxes(false) , animate(true) , border_size(50) , flat_spacing(20) diff --git a/launcher/SwitcherView.h b/launcher/SwitcherView.h index 16429b999..8ceb23abb 100644 --- a/launcher/SwitcherView.h +++ b/launcher/SwitcherView.h @@ -50,7 +50,7 @@ class SwitcherView : public ui::UnityWindowView public: typedef nux::ObjectPtr<SwitcherView> Ptr; - SwitcherView(nux::BaseWindow *parent); + SwitcherView(); ui::LayoutWindow::Vector ExternalTargets(); |
