17 dst_rect.width = size.width();
18 dst_rect.height = size.height();
23 src_rect.width = size.width() << 16;
24 src_rect.height = size.height() << 16;
26 DISPMANX_UPDATE_HANDLE_T dispman_update = vc_dispmanx_update_start(0);
28 VC_DISPMANX_ALPHA_T alpha;
33 DISPMANX_ELEMENT_HANDLE_T dispman_element = vc_dispmanx_element_add(
34 dispman_update, dispman_display, z, &dst_rect, 0, &src_rect,
35 DISPMANX_PROTECTION_NONE, &alpha, (DISPMANX_CLAMP_T *)NULL, (DISPMANX_TRANSFORM_T)0);
37 vc_dispmanx_update_submit_sync(dispman_update);
39 EGL_DISPMANX_WINDOW_T *eglWindow =
new EGL_DISPMANX_WINDOW_T;
40 eglWindow->element = dispman_element;
41 eglWindow->width = size.width();
42 eglWindow->height = size.height();
49 EGL_DISPMANX_WINDOW_T *eglWindow =
static_cast<EGL_DISPMANX_WINDOW_T *>(window);
50 DISPMANX_UPDATE_HANDLE_T dispman_update = vc_dispmanx_update_start(0);
51 vc_dispmanx_element_remove(dispman_update, eglWindow->element);
52 vc_dispmanx_update_submit_sync(dispman_update);
93EGLNativeWindowType QEglFSBrcmIntegration::createNativeWindow(QPlatformWindow *window,
const QSize &size,
const QSurfaceFormat &format)
96 return createDispmanxLayer(QPoint(0, 0), size, 1, format.hasAlpha() ? DISPMANX_FLAGS_ALPHA_FROM_SOURCE : DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS);
104bool QEglFSBrcmIntegration::hasCapability(QPlatformIntegration::Capability cap)
const
107 case QPlatformIntegration::ThreadedPixmaps:
108 case QPlatformIntegration::OpenGL:
109 case QPlatformIntegration::ThreadedOpenGL:
110 case QPlatformIntegration::BufferQueueingOpenGL: