summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorAndy Nichols <andy.nichols@digia.com>2013-10-16 17:25:23 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-17 09:50:58 +0200
commitb7b2bdef1525f6b0fbf13f46224d732f41e0575c (patch)
tree330cbec42221eabbe3a3efaaa4b50313878faa21 /mkspecs
parent979a55a1ef3f5d7402b76f5fe50e59315b24de25 (diff)
linux-rasp-pi: Remove custom cursor code
This code was added as an optimization for showing a mouse cursor on the Raspberry Pi. What happens though is while the mouse cursor does move more smoothly, the actual application becomes less smooth when the mouse cursor is moved. By removing the custom cursor code, performance will no longer be effected by rendering a moving mouse cursor. Change-Id: I9f8ac6c236cd4ff6d8e1d999a461c3e6db75d7e3 Reviewed-by: Samuli Piippo <samuli.piippo@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp86
1 files changed, 0 insertions, 86 deletions
diff --git a/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp b/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
index 671f525250..5e57ba382a 100644
--- a/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
+++ b/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
@@ -136,89 +136,6 @@ static void destroyDispmanxLayer(EGLNativeWindowType window)
delete eglWindow;
}
-class QEglFSPiCursor : public QEglFSCursor
-{
-public:
- QEglFSPiCursor(QEglFSScreen *screen) : QEglFSCursor(screen) {
- QSurfaceFormat platformFormat;
- platformFormat.setDepthBufferSize(24);
- platformFormat.setStencilBufferSize(8);
- platformFormat.setRedBufferSize(8);
- platformFormat.setGreenBufferSize(8);
- platformFormat.setBlueBufferSize(8);
- platformFormat.setAlphaBufferSize(8);
- m_config = q_configFromGLFormat(m_screen->display(), platformFormat);
-
- createSurface();
- createContext();
- drawInLayer();
- }
-
- ~QEglFSPiCursor() {
- eglDestroySurface(m_screen->display(), m_surface);
- destroyDispmanxLayer(m_window);
- eglDestroyContext(m_screen->display(), m_context);
- }
-
- void createSurface() {
- const QRect cr = cursorRect();
- m_window = createDispmanxLayer(cr.topLeft(), cr.size(), 50, DISPMANX_FLAGS_ALPHA_FROM_SOURCE);
- m_surface = eglCreateWindowSurface(m_screen->display(), m_config, m_window, NULL);
- }
-
- void createContext() {
- eglBindAPI(EGL_OPENGL_ES_API);
- QVector<EGLint> attrs;
- attrs.append(EGL_CONTEXT_CLIENT_VERSION);
- attrs.append(2);
- attrs.append(EGL_NONE);
- m_context = eglCreateContext(m_screen->display(), m_config, EGL_NO_CONTEXT, attrs.constData());
- }
-
- void drawInLayer() {
- eglMakeCurrent(m_screen->display(), m_surface, m_surface, m_context);
-
- glClearColor(0, 0, 0, 0);
- glClear(GL_COLOR_BUFFER_BIT);
- draw(QRectF(QPointF(-1, 1), QPointF(1, -1)));
-
- eglSwapBuffers(m_screen->display(), m_surface);
- eglMakeCurrent(m_screen->display(), EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- }
-
- void changeCursor(QCursor *cursor, QWindow *window) Q_DECL_OVERRIDE {
- if (!setCurrentCursor(cursor))
- return;
-
- EGL_DISPMANX_WINDOW_T *eglWindow = static_cast<EGL_DISPMANX_WINDOW_T *>(m_window);
- if (QSize(eglWindow->width, eglWindow->height) != m_cursor.size) {
- eglDestroySurface(m_screen->display(), m_surface);
- destroyDispmanxLayer(m_window);
- createSurface();
- }
- drawInLayer();
- }
-
- void setPos(const QPoint &pos) Q_DECL_OVERRIDE {
- m_cursor.pos = pos;
- moveDispmanxLayer(m_window, cursorRect().topLeft());
- }
-
- void pointerEvent(const QMouseEvent &event) Q_DECL_OVERRIDE {
- if (event.type() != QEvent::MouseMove)
- return;
- m_cursor.pos = event.pos();
- moveDispmanxLayer(m_window, cursorRect().topLeft());
- }
-
- void paintOnScreen() Q_DECL_OVERRIDE { }
-private:
- EGLConfig m_config;
- EGLContext m_context;
- EGLNativeWindowType m_window;
- EGLSurface m_surface;
-};
-
class QEglFSPiHooks : public QEglFSHooks
{
public:
@@ -230,9 +147,6 @@ public:
virtual void destroyNativeWindow(EGLNativeWindowType window);
virtual bool hasCapability(QPlatformIntegration::Capability cap) const;
- QEglFSCursor *createCursor(QEglFSScreen *screen) const {
- return new QEglFSPiCursor(screen);
- }
};
void QEglFSPiHooks::platformInit()