16 dst_rect.width = size.width();
17 dst_rect.height = size.height();
22 src_rect.width = size.width() << 16;
23 src_rect.height = size.height() << 16;
25 DISPMANX_UPDATE_HANDLE_T dispman_update = vc_dispmanx_update_start(0);
27 VC_DISPMANX_ALPHA_T alpha;
32 DISPMANX_ELEMENT_HANDLE_T dispman_element = vc_dispmanx_element_add(
33 dispman_update, dispman_display, z, &dst_rect, 0, &src_rect,
34 DISPMANX_PROTECTION_NONE, &alpha, (DISPMANX_CLAMP_T *)NULL, (DISPMANX_TRANSFORM_T)0);
36 vc_dispmanx_update_submit_sync(dispman_update);
38 EGL_DISPMANX_WINDOW_T *eglWindow =
new EGL_DISPMANX_WINDOW_T;
39 eglWindow->element = dispman_element;
40 eglWindow->width = size.width();
41 eglWindow->height = size.height();
48 EGL_DISPMANX_WINDOW_T *eglWindow =
static_cast<EGL_DISPMANX_WINDOW_T *>(window);
49 DISPMANX_UPDATE_HANDLE_T dispman_update = vc_dispmanx_update_start(0);
50 vc_dispmanx_element_remove(dispman_update, eglWindow->element);
51 vc_dispmanx_update_submit_sync(dispman_update);
92EGLNativeWindowType QEglFSBrcmIntegration::createNativeWindow(QPlatformWindow *window,
const QSize &size,
const QSurfaceFormat &format)
95 return createDispmanxLayer(QPoint(0, 0), size, 1, format.hasAlpha() ? DISPMANX_FLAGS_ALPHA_FROM_SOURCE : DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS);
103bool QEglFSBrcmIntegration::hasCapability(QPlatformIntegration::Capability cap)
const
106 case QPlatformIntegration::ThreadedPixmaps:
107 case QPlatformIntegration::OpenGL:
108 case QPlatformIntegration::ThreadedOpenGL:
109 case QPlatformIntegration::BufferQueueingOpenGL: