diff options
| author | Manuel de la Pena <manuel@canonical.com> | 2012-10-10 11:51:32 +0200 |
|---|---|---|
| committer | Manuel de la Pena <manuel@canonical.com> | 2012-10-10 11:51:32 +0200 |
| commit | 4923ba35a7efb5f531c9692c7da7dd4e859bf77f (patch) | |
| tree | bb5fea855d55e5de01e24706ffe32739bdc12ec6 /unity-shared | |
| parent | e7bea01d0500fe15e5d9a70b61b227f406f2b662 (diff) | |
| parent | b9088178658c40e3ff4c5042cede761fad140e83 (diff) | |
Merged with trunk.
(bzr r2791.8.7)
Diffstat (limited to 'unity-shared')
| -rw-r--r-- | unity-shared/SearchBar.cpp | 39 |
1 files changed, 11 insertions, 28 deletions
diff --git a/unity-shared/SearchBar.cpp b/unity-shared/SearchBar.cpp index 8d63f20da..3e61f074d 100644 --- a/unity-shared/SearchBar.cpp +++ b/unity-shared/SearchBar.cpp @@ -363,6 +363,17 @@ void SearchBar::Draw(nux::GraphicsEngine& graphics_engine, bool force_draw) graphics_engine.PushClippingRectangle(base); + if (RedirectedAncestor()) + { + unsigned int alpha = 0, src = 0, dest = 0; + graphics_engine.GetRenderStates().GetBlend(alpha, src, dest); + // This is necessary when doing redirected rendering. + // Clean the area below this view before drawing anything. + graphics_engine.GetRenderStates().SetBlend(false); + graphics_engine.QRP_Color(base.x, base.y, base.width, base.height, nux::Color(0.0f, 0.0f, 0.0f, 0.0f)); + graphics_engine.GetRenderStates().SetBlend(alpha, src, dest); + } + bg_layer_->SetGeometry(nux::Geometry(base.x, base.y, last_width_, last_height_)); nux::GetPainter().RenderSinglePaintLayer(graphics_engine, bg_layer_->GetGeometry(), @@ -380,38 +391,10 @@ void SearchBar::Draw(nux::GraphicsEngine& graphics_engine, bool force_draw) if (!highlight_layer_) highlight_layer_.reset(style.FocusOverlay(geo.width, geo.height)); - if (RedirectedAncestor()) - { - unsigned int alpha = 0, src = 0, dest = 0; - graphics_engine.GetRenderStates().GetBlend(alpha, src, dest); - // This is necessary when doing redirected rendering. - // Clean the area below this view before drawing anything. - graphics_engine.GetRenderStates().SetBlend(false); - graphics_engine.QRP_Color(geo.x, geo.y, geo.width, geo.height, nux::Color(0.0f, 0.0f, 0.0f, 0.0f)); - graphics_engine.GetRenderStates().SetBlend(alpha, src, dest); - } - highlight_layer_->SetGeometry(geo); highlight_layer_->Renderlayer(graphics_engine); } - else if (expander_view_ && expander_view_->IsVisible()) - { - nux::Geometry geo(expander_view_->GetGeometry()); - - geo.y -= (HIGHLIGHT_HEIGHT- geo.height) / 2; - geo.height = HIGHLIGHT_HEIGHT; - if (RedirectedAncestor()) - { - unsigned int alpha = 0, src = 0, dest = 0; - graphics_engine.GetRenderStates().GetBlend(alpha, src, dest); - // This is necessary when doing redirected rendering. - // Clean the area below this view before drawing anything. - graphics_engine.GetRenderStates().SetBlend(false); - graphics_engine.QRP_Color(geo.x, geo.y, geo.width, geo.height, nux::Color(0.0f, 0.0f, 0.0f, 0.0f)); - graphics_engine.GetRenderStates().SetBlend(alpha, src, dest); - } - } graphics_engine.PopClippingRectangle(); } |
