summaryrefslogtreecommitdiff
diff options
-rw-r--r--launcher/SingleMonitorLauncherIcon.cpp2
-rw-r--r--unity-shared/OverlayRenderer.cpp51
2 files changed, 29 insertions, 24 deletions
diff --git a/launcher/SingleMonitorLauncherIcon.cpp b/launcher/SingleMonitorLauncherIcon.cpp
index 102652be5..403466683 100644
--- a/launcher/SingleMonitorLauncherIcon.cpp
+++ b/launcher/SingleMonitorLauncherIcon.cpp
@@ -36,7 +36,7 @@ SingleMonitorLauncherIcon::SingleMonitorLauncherIcon(IconType type, int monitor)
void SingleMonitorLauncherIcon::UpdateMonitor()
{
for (unsigned i = 0; i < monitors::MAX; ++i)
- SetVisibleOnMonitor(i, i == monitor_);
+ SetVisibleOnMonitor(i, static_cast<int>(i) == monitor_);
}
void SingleMonitorLauncherIcon::SetMonitor(int monitor)
diff --git a/unity-shared/OverlayRenderer.cpp b/unity-shared/OverlayRenderer.cpp
index c984a4662..8799769ff 100644
--- a/unity-shared/OverlayRenderer.cpp
+++ b/unity-shared/OverlayRenderer.cpp
@@ -89,7 +89,6 @@ OverlayRendererImpl::OverlayRendererImpl(OverlayRenderer *parent_)
, parent(parent_)
{
UpdateTextures();
- WindowManager::Default().average_color.changed.connect(sigc::mem_fun(this, &OverlayRendererImpl::OnBgColorChanged));
}
void OverlayRendererImpl::OnBgColorChanged(nux::Color const& new_color)
@@ -111,7 +110,13 @@ void OverlayRendererImpl::UpdateTextures()
rop.Blend = true;
rop.SrcBlend = GL_ONE;
rop.DstBlend = GL_ONE_MINUS_SRC_ALPHA;
- bg_layer_ = std::make_shared<nux::ColorLayer>(nux::Color(0.0f, 0.0f, 0.0f, 0.9), true, rop);
+
+ if (Settings::Instance().GetLowGfxMode() || !nux::GetWindowThread()->GetGraphicsEngine().UsingGLSLCodePath())
+ {
+ auto& avg_color = WindowManager::Default().average_color;
+ bg_layer_ = std::make_shared<nux::ColorLayer>(avg_color(), true, rop);
+ avg_color.changed.connect(sigc::mem_fun(this, &OverlayRendererImpl::OnBgColorChanged));
+ }
rop.Blend = true;
rop.SrcBlend = GL_ZERO;
@@ -148,7 +153,7 @@ void OverlayRendererImpl::UpdateTextures()
void OverlayRendererImpl::InitASMInverseTextureMaskShader()
{
- std::string AsmVtx =
+ std::string AsmVtx =
"!!ARBvp1.0 \n\
ATTRIB iPos = vertex.position; \n\
ATTRIB iColor = vertex.attrib[3]; \n\
@@ -165,7 +170,7 @@ void OverlayRendererImpl::InitASMInverseTextureMaskShader()
MOV oTexCoord0, vertex.attrib[8]; \n\
END";
- std::string AsmFrg =
+ std::string AsmFrg =
"!!ARBfp1.0 \n\
TEMP tex0; \n\
TEMP temp0; \n\
@@ -174,7 +179,7 @@ void OverlayRendererImpl::InitASMInverseTextureMaskShader()
SUB result.color, {1.0, 1.0, 1.0, 1.0}, temp0.aaaa;\n\
END";
- std::string AsmFrgRect =
+ std::string AsmFrgRect =
"!!ARBfp1.0 \n\
TEMP tex0; \n\
TEMP temp0; \n\
@@ -216,7 +221,7 @@ void OverlayRendererImpl::RenderInverseMask_ASM(nux::GraphicsEngine& gfx_context
CHECKGL(glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0));
CHECKGL(glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0));
-
+
nux::ObjectPtr<nux::IOpenGLAsmShaderProgram> shader_program = inverse_texture_mask_asm_prog_;
if (device_texture->Type().IsDerivedFromType(nux::IOpenGLRectangleTexture::StaticObjectType))
{
@@ -274,7 +279,7 @@ void OverlayRendererImpl::InitSlInverseTextureMaskShader()
std::string VSString;
std::string PSString;
- VSString =
+ VSString =
NUX_VERTEX_SHADER_HEADER
"attribute vec4 AVertex; \n\
attribute vec4 MyTextureCoord0; \n\
@@ -289,7 +294,7 @@ void OverlayRendererImpl::InitSlInverseTextureMaskShader()
varyVertexColor = VertexColor; \n\
}";
- PSString =
+ PSString =
NUX_FRAGMENT_SHADER_HEADER
"varying vec4 varyTexCoord0; \n\
varying vec4 varyVertexColor; \n\
@@ -443,14 +448,14 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
#endif
}
-
+
//Draw the left and top lines.
dash::Style& style = dash::Style::Instance();
-
+
gfx_context.GetRenderStates().SetColorMask(true, true, true, true);
gfx_context.GetRenderStates().SetBlend(true);
gfx_context.GetRenderStates().SetPremultipliedBlend(nux::SRC_OVER);
-
+
const double line_opacity = 0.1f;
const int gradient_height = 50;
const int vertical_padding = 20;
@@ -482,10 +487,10 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
bg_darken_layer_->SetGeometry(larger_content_geo);
nux::GetPainter().RenderSinglePaintLayer(gfx_context, larger_content_geo, bg_darken_layer_.get());
- if (Settings::Instance().GetLowGfxMode() == false)
+ if (!Settings::Instance().GetLowGfxMode())
{
#ifndef NUX_OPENGLES_20
- if (gfx_context.UsingGLSLCodePath() == false)
+ if (!gfx_context.UsingGLSLCodePath())
{
bg_layer_->SetGeometry(larger_content_geo);
nux::GetPainter().RenderSinglePaintLayer(gfx_context, larger_content_geo, bg_layer_.get());
@@ -529,7 +534,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
{
nux::Geometry geo_border(content_geo.x, content_geo.y, larger_absolute_geo.width - content_geo.x, larger_absolute_geo.height);
gfx_context.PushClippingRectangle(geo_border);
-
+
// Paint the edges
{
gfx_context.GetRenderStates().SetColorMask(true, true, true, true);
@@ -556,7 +561,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
geo.width += corner->GetWidth() - 10;
geo.height += corner->GetHeight() - 10;
- {
+ {
// Corner
texxform.SetTexCoordType(nux::TexCoordXForm::OFFSET_COORD);
texxform.SetWrap(nux::TEXWRAP_CLAMP_TO_BORDER, nux::TEXWRAP_CLAMP_TO_BORDER);
@@ -565,7 +570,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
gfx_context.QRP_ColorModTexAlpha(geo.x + (geo.width - corner->GetWidth()),
geo.y + (geo.height - corner->GetHeight()),
corner->GetWidth(),
- corner->GetHeight(),
+ corner->GetHeight(),
corner_mask->GetDeviceTexture(),
texxform,
nux::color::Black);
@@ -605,7 +610,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
gfx_context.QRP_ColorModTexAlpha(left_corner->GetWidth() - left_corner_offset - offset,
geo.y + (geo.height - bottom->GetHeight()),
real_width + offset,
- bottom->GetHeight(),
+ bottom->GetHeight(),
bottom_mask->GetDeviceTexture(),
texxform,
nux::color::Black);
@@ -642,7 +647,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
gfx_context.QRP_ColorModTexAlpha(geo.x - left_corner_offset,
geo.y + (geo.height - left_corner->GetHeight()),
left_corner->GetWidth(),
- left_corner->GetHeight(),
+ left_corner->GetHeight(),
left_corner_mask->GetDeviceTexture(),
texxform,
nux::color::Black);
@@ -696,7 +701,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
gfx_context.QRP_ColorModTexAlpha(geo.x + geo.width - right->GetWidth(),
geo.y + top_corner->GetHeight() - top_corner_offset,
right->GetWidth(),
- geo.height - corner->GetHeight() - (top_corner->GetHeight() - top_corner_offset),
+ geo.height - corner->GetHeight() - (top_corner->GetHeight() - top_corner_offset),
right_mask->GetDeviceTexture(),
texxform,
nux::color::Black);
@@ -775,7 +780,7 @@ void OverlayRendererImpl::Draw(nux::GraphicsEngine& gfx_context, nux::Geometry c
nux::color::White);
}
}
-
+
gfx_context.PopClippingRectangle();
}
@@ -798,7 +803,7 @@ void OverlayRendererImpl::DrawContent(nux::GraphicsEngine& gfx_context, nux::Geo
nux::Geometry larger_absolute_geo = absolute_geo;
larger_absolute_geo.OffsetSize(excess_border, excess_border);
-
+
gfx_context.PushClippingRectangle(larger_geo);
unsigned int blend_alpha, blend_src, blend_dest = 0;
@@ -853,10 +858,10 @@ void OverlayRendererImpl::DrawContent(nux::GraphicsEngine& gfx_context, nux::Geo
bgs++;
//Only apply shine if we aren't in low gfx mode.
- if (Settings::Instance().GetLowGfxMode() == false)
+ if (!Settings::Instance().GetLowGfxMode())
{
#ifndef NUX_OPENGLES_20
- if (gfx_context.UsingGLSLCodePath() == false)
+ if (!gfx_context.UsingGLSLCodePath())
{
nux::GetPainter().PushLayer(gfx_context, bg_layer_->GetGeometry(), bg_layer_.get());
bgs++;