Changeset View
Changeset View
Standalone View
Standalone View
effects/magnifier/magnifier.cpp
Show First 20 Lines • Show All 160 Lines • ▼ Show 20 Line(s) | 152 | if (effects->isOpenGLCompositing()) { | |||
---|---|---|---|---|---|
161 | s->setUniform(GLShader::ModelViewProjectionMatrix, mvp); | 161 | s->setUniform(GLShader::ModelViewProjectionMatrix, mvp); | ||
162 | m_texture->render(infiniteRegion(), area); | 162 | m_texture->render(infiniteRegion(), area); | ||
163 | ShaderManager::instance()->popShader(); | 163 | ShaderManager::instance()->popShader(); | ||
164 | m_texture->unbind(); | 164 | m_texture->unbind(); | ||
165 | QVector<float> verts; | 165 | QVector<float> verts; | ||
166 | GLVertexBuffer *vbo = GLVertexBuffer::streamingBuffer(); | 166 | GLVertexBuffer *vbo = GLVertexBuffer::streamingBuffer(); | ||
167 | vbo->reset(); | 167 | vbo->reset(); | ||
168 | vbo->setColor(QColor(0, 0, 0)); | 168 | vbo->setColor(QColor(0, 0, 0)); | ||
169 | const QRectF areaF = area; | ||||
169 | // top frame | 170 | // top frame | ||
170 | verts << area.right() + FRAME_WIDTH << area.top() - FRAME_WIDTH; | 171 | verts << areaF.right() + FRAME_WIDTH << areaF.top() - FRAME_WIDTH; | ||
171 | verts << area.left() - FRAME_WIDTH << area.top() - FRAME_WIDTH; | 172 | verts << areaF.left() - FRAME_WIDTH << areaF.top() - FRAME_WIDTH; | ||
172 | verts << area.left() - FRAME_WIDTH << area.top() - 1; | 173 | verts << areaF.left() - FRAME_WIDTH << areaF.top(); | ||
173 | verts << area.left() - FRAME_WIDTH << area.top() - 1; | 174 | verts << areaF.left() - FRAME_WIDTH << areaF.top(); | ||
174 | verts << area.right() + FRAME_WIDTH << area.top() - 1; | 175 | verts << areaF.right() + FRAME_WIDTH << areaF.top(); | ||
175 | verts << area.right() + FRAME_WIDTH << area.top() - FRAME_WIDTH; | 176 | verts << areaF.right() + FRAME_WIDTH << areaF.top() - FRAME_WIDTH; | ||
176 | // left frame | 177 | // left frame | ||
177 | verts << area.left() - 1 << area.top() - FRAME_WIDTH; | 178 | verts << areaF.left() << areaF.top() - FRAME_WIDTH; | ||
178 | verts << area.left() - FRAME_WIDTH << area.top() - FRAME_WIDTH; | 179 | verts << areaF.left() - FRAME_WIDTH << areaF.top() - FRAME_WIDTH; | ||
179 | verts << area.left() - FRAME_WIDTH << area.bottom() + FRAME_WIDTH; | 180 | verts << areaF.left() - FRAME_WIDTH << areaF.bottom() + FRAME_WIDTH; | ||
180 | verts << area.left() - FRAME_WIDTH << area.bottom() + FRAME_WIDTH; | 181 | verts << areaF.left() - FRAME_WIDTH << areaF.bottom() + FRAME_WIDTH; | ||
181 | verts << area.left() - 1 << area.bottom() + FRAME_WIDTH; | 182 | verts << areaF.left() << areaF.bottom() + FRAME_WIDTH; | ||
182 | verts << area.left() - 1 << area.top() - FRAME_WIDTH; | 183 | verts << areaF.left() << areaF.top() - FRAME_WIDTH; | ||
183 | // right frame | 184 | // right frame | ||
184 | verts << area.right() + FRAME_WIDTH << area.top() - FRAME_WIDTH; | 185 | verts << areaF.right() + FRAME_WIDTH << areaF.top() - FRAME_WIDTH; | ||
185 | verts << area.right() + 1 << area.top() - FRAME_WIDTH; | 186 | verts << areaF.right() << areaF.top() - FRAME_WIDTH; | ||
186 | verts << area.right() + 1 << area.bottom() + FRAME_WIDTH; | 187 | verts << areaF.right() << areaF.bottom() + FRAME_WIDTH; | ||
187 | verts << area.right() + 1 << area.bottom() + FRAME_WIDTH; | 188 | verts << areaF.right() << areaF.bottom() + FRAME_WIDTH; | ||
188 | verts << area.right() + FRAME_WIDTH << area.bottom() + FRAME_WIDTH; | 189 | verts << areaF.right() + FRAME_WIDTH << areaF.bottom() + FRAME_WIDTH; | ||
189 | verts << area.right() + FRAME_WIDTH << area.top() - FRAME_WIDTH; | 190 | verts << areaF.right() + FRAME_WIDTH << areaF.top() - FRAME_WIDTH; | ||
190 | // bottom frame | 191 | // bottom frame | ||
191 | verts << area.right() + FRAME_WIDTH << area.bottom() + 1; | 192 | verts << areaF.right() + FRAME_WIDTH << areaF.bottom(); | ||
192 | verts << area.left() - FRAME_WIDTH << area.bottom() + 1; | 193 | verts << areaF.left() - FRAME_WIDTH << areaF.bottom(); | ||
193 | verts << area.left() - FRAME_WIDTH << area.bottom() + FRAME_WIDTH; | 194 | verts << areaF.left() - FRAME_WIDTH << areaF.bottom() + FRAME_WIDTH; | ||
194 | verts << area.left() - FRAME_WIDTH << area.bottom() + FRAME_WIDTH; | 195 | verts << areaF.left() - FRAME_WIDTH << areaF.bottom() + FRAME_WIDTH; | ||
195 | verts << area.right() + FRAME_WIDTH << area.bottom() + FRAME_WIDTH; | 196 | verts << areaF.right() + FRAME_WIDTH << areaF.bottom() + FRAME_WIDTH; | ||
196 | verts << area.right() + FRAME_WIDTH << area.bottom() + 1; | 197 | verts << areaF.right() + FRAME_WIDTH << areaF.bottom(); | ||
197 | vbo->setData(verts.size() / 2, 2, verts.constData(), NULL); | 198 | vbo->setData(verts.size() / 2, 2, verts.constData(), NULL); | ||
198 | 199 | | |||
199 | ShaderBinder binder(ShaderTrait::UniformColor); | 200 | ShaderBinder binder(ShaderTrait::UniformColor); | ||
200 | binder.shader()->setUniform(GLShader::ModelViewProjectionMatrix, data.projectionMatrix()); | 201 | binder.shader()->setUniform(GLShader::ModelViewProjectionMatrix, data.projectionMatrix()); | ||
201 | vbo->render(GL_TRIANGLES); | 202 | vbo->render(GL_TRIANGLES); | ||
202 | } | 203 | } | ||
203 | if (effects->compositingType() == XRenderCompositing) { | 204 | if (effects->compositingType() == XRenderCompositing) { | ||
204 | #ifdef KWIN_HAVE_XRENDER_COMPOSITING | 205 | #ifdef KWIN_HAVE_XRENDER_COMPOSITING | ||
▲ Show 20 Lines • Show All 137 Lines • Show Last 20 Lines |