qeglfsoffscreenwindow.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2015 The Qt Company Ltd.-
4** Contact: http://www.qt.io/licensing/-
5**-
6** This file is part of the plugins of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL21$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see http://www.qt.io/terms-conditions. For further-
15** information use the contact form at http://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 2.1 or version 3 as published by the Free-
20** Software Foundation and appearing in the file LICENSE.LGPLv21 and-
21** LICENSE.LGPLv3 included in the packaging of this file. Please review the-
22** following information to ensure the GNU Lesser General Public License-
23** requirements will be met: https://www.gnu.org/licenses/lgpl.html and-
24** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.-
25**-
26** As a special exception, The Qt Company gives you certain additional-
27** rights. These rights are described in The Qt Company LGPL Exception-
28** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.-
29**-
30** $QT_END_LICENSE$-
31**-
32****************************************************************************/-
33-
34#include "qeglfsoffscreenwindow.h"-
35#include "qeglfshooks.h"-
36#include <QtGui/QOffscreenSurface>-
37#include <QtPlatformSupport/private/qeglconvenience_p.h>-
38-
39QT_BEGIN_NAMESPACE-
40-
41/*-
42 In some cases pbuffers are not available. Triggering QtGui's built-in-
43 fallback for a hidden QWindow is not suitable for eglfs since this would be-
44 treated as an attempt to create multiple top-level, native windows.-
45-
46 Therefore this class is provided as an alternative to QEGLPbuffer.-
47-
48 This class requires the hooks to implement createNativeOffscreenWindow().-
49*/-
50-
51QEglFSOffscreenWindow::QEglFSOffscreenWindow(EGLDisplay display, const QSurfaceFormat &format, QOffscreenSurface *offscreenSurface)-
52 : QPlatformOffscreenSurface(offscreenSurface)-
53 , m_format(format)-
54 , m_display(display)-
55 , m_surface(EGL_NO_SURFACE)-
56 , m_window(0)-
57{-
58 m_window = qt_egl_device_integration()->createNativeOffscreenWindow(format);-
59 if (!m_window) {
!m_windowDescription
TRUEnever evaluated
FALSEnever evaluated
0
60 qWarning("QEglFSOffscreenWindow: Failed to create native window");-
61 return;
never executed: return;
0
62 }-
63 EGLConfig config = q_configFromGLFormat(m_display, m_format);-
64 m_surface = eglCreateWindowSurface(m_display, config, m_window, 0);-
65 if (m_surface != EGL_NO_SURFACE)
m_surface != ((EGLSurface)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
66 m_format = q_glFormatFromConfig(m_display, config);
never executed: m_format = q_glFormatFromConfig(m_display, config);
0
67}
never executed: end of block
0
68-
69QEglFSOffscreenWindow::~QEglFSOffscreenWindow()-
70{-
71 if (m_surface != EGL_NO_SURFACE)
m_surface != ((EGLSurface)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
72 eglDestroySurface(m_display, m_surface);
never executed: eglDestroySurface(m_display, m_surface);
0
73 if (m_window)
m_windowDescription
TRUEnever evaluated
FALSEnever evaluated
0
74 qt_egl_device_integration()->destroyNativeWindow(m_window);
never executed: qt_egl_device_integration()->destroyNativeWindow(m_window);
0
75}
never executed: end of block
0
76-
77QT_END_NAMESPACE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9