Changeset View
Changeset View
Standalone View
Standalone View
effects/invert/invert.cpp
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Line(s) | 73 | { | |||
---|---|---|---|---|---|
77 | if (!m_shader->isValid()) { | 77 | if (!m_shader->isValid()) { | ||
78 | qCCritical(KWINEFFECTS) << "The shader failed to load!"; | 78 | qCCritical(KWINEFFECTS) << "The shader failed to load!"; | ||
79 | return false; | 79 | return false; | ||
80 | } | 80 | } | ||
81 | 81 | | |||
82 | return true; | 82 | return true; | ||
83 | } | 83 | } | ||
84 | 84 | | |||
85 | void InvertEffect::drawWindow(EffectWindow* w, int mask, QRegion region, WindowPaintData& data) | 85 | void InvertEffect::drawWindow(EffectWindow* w, int mask, const QRegion ®ion, WindowPaintData& data) | ||
86 | { | 86 | { | ||
87 | // Load if we haven't already | 87 | // Load if we haven't already | ||
88 | if (m_valid && !m_inited) | 88 | if (m_valid && !m_inited) | ||
89 | m_valid = loadData(); | 89 | m_valid = loadData(); | ||
90 | 90 | | |||
91 | bool useShader = m_valid && (m_allWindows != m_windows.contains(w)); | 91 | bool useShader = m_valid && (m_allWindows != m_windows.contains(w)); | ||
92 | if (useShader) { | 92 | if (useShader) { | ||
93 | ShaderManager *shaderManager = ShaderManager::instance(); | 93 | ShaderManager *shaderManager = ShaderManager::instance(); | ||
94 | shaderManager->pushShader(m_shader); | 94 | shaderManager->pushShader(m_shader); | ||
95 | 95 | | |||
96 | data.shader = m_shader; | 96 | data.shader = m_shader; | ||
97 | } | 97 | } | ||
98 | 98 | | |||
99 | effects->drawWindow(w, mask, region, data); | 99 | effects->drawWindow(w, mask, region, data); | ||
100 | 100 | | |||
101 | if (useShader) { | 101 | if (useShader) { | ||
102 | ShaderManager::instance()->popShader(); | 102 | ShaderManager::instance()->popShader(); | ||
103 | } | 103 | } | ||
104 | } | 104 | } | ||
105 | 105 | | |||
106 | void InvertEffect::paintEffectFrame(KWin::EffectFrame* frame, QRegion region, double opacity, double frameOpacity) | 106 | void InvertEffect::paintEffectFrame(KWin::EffectFrame* frame, const QRegion ®ion, double opacity, double frameOpacity) | ||
107 | { | 107 | { | ||
108 | if (m_valid && m_allWindows) { | 108 | if (m_valid && m_allWindows) { | ||
109 | frame->setShader(m_shader); | 109 | frame->setShader(m_shader); | ||
110 | ShaderBinder binder(m_shader); | 110 | ShaderBinder binder(m_shader); | ||
111 | effects->paintEffectFrame(frame, region, opacity, frameOpacity); | 111 | effects->paintEffectFrame(frame, region, opacity, frameOpacity); | ||
112 | } else { | 112 | } else { | ||
113 | effects->paintEffectFrame(frame, region, opacity, frameOpacity); | 113 | effects->paintEffectFrame(frame, region, opacity, frameOpacity); | ||
114 | } | 114 | } | ||
Show All 37 Lines |