diff options
author | Antti Määttä <antti.maatta@qt.io> | 2016-11-22 16:50:45 +0200 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2017-01-26 16:00:04 +0000 |
commit | 09364817fa76d9aee92bbc24d93e3e523cd2f853 (patch) | |
tree | f69444c6d221445a10b9acabec95c906f99c18a0 | |
parent | 28c0ea55ea77747c0a396537b40a0078f94c95df (diff) |
Enable mouse events for the render-qml-to-texture-qml test
This makes the rendered Quick controls interactive.
Change-Id: I887ca9dd779c8333491e04430717e9b86ba74eda
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
4 files changed, 125 insertions, 9 deletions
diff --git a/tests/manual/render-qml-to-texture-qml/InteractiveGui.qml b/tests/manual/render-qml-to-texture-qml/InteractiveGui.qml new file mode 100644 index 000000000..65e5f27de --- /dev/null +++ b/tests/manual/render-qml-to-texture-qml/InteractiveGui.qml @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt3D module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtQuick.Controls 1.2 +import QtQuick.Controls.Styles 1.3 + +Rectangle { + width: 1024 + height: 1024 + color: "white" + focus: true + + Rectangle { + id: rect + x: 0 + y: 0 + width: 200 + height: 200 + color: "red" + } + + Rectangle { + id: rect2 + width: 300 + height: 100 + anchors.right: parent.right + anchors.bottom: parent.bottom + color: "blue" + } + + Button { + id: button + width: 100 + height: 80 + anchors.top: rect.bottom + anchors.left: parent.left + text: "button" + scale: 2.0 + } + CheckBox { + id: checkbox + width: 200 + height: 180 + scale: 2.0 + text: "checkbox" + checked: true + anchors.top: parent.top + anchors.right: parent.right + } + Slider { + anchors.bottom: parent.bottom + anchors.left: parent.left + width: 400 + value: 1 + minimumValue: 0 + maximumValue: 1 + + onValueChanged: { + rect.color = Qt.rgba(value, 0, 0, 1) + rect2.color = Qt.rgba(0, 0, value, 1) + } + } +} diff --git a/tests/manual/render-qml-to-texture-qml/main.qml b/tests/manual/render-qml-to-texture-qml/main.qml index 3c1ee61d8..23ff823e1 100644 --- a/tests/manual/render-qml-to-texture-qml/main.qml +++ b/tests/manual/render-qml-to-texture-qml/main.qml @@ -35,7 +35,7 @@ ****************************************************************************/ import Qt3D.Core 2.0 -import Qt3D.Render 2.0 +import Qt3D.Render 2.2 import Qt3D.Input 2.0 import QtQuick 2.0 as QQ2 import QtQuick.Scene3D 2.0 @@ -79,31 +79,33 @@ QQ2.Item { width: 1024 height: 1024 format: Texture.RGBA8_UNorm - generateMipMaps: false + generateMipMaps: true magnificationFilter: Texture.Linear - minificationFilter: Texture.Linear + minificationFilter: Texture.LinearMipMapLinear wrapMode { x: WrapMode.ClampToEdge y: WrapMode.ClampToEdge } } - } - OffscreenGui { + } + InteractiveGui { } } FirstPersonCameraController { + id: controller camera: camera } components: [ RenderSettings { + pickingSettings.pickMethod: PickingSettings.TrianglePicking activeFrameGraph: ForwardRenderer { camera: camera - } + } }, InputSettings {} ] @@ -127,7 +129,23 @@ QQ2.Item { texture: offscreenTexture } - components: [planeMesh, material, transform] + property ObjectPicker picker: ObjectPicker { + hoverEnabled: true + dragEnabled: true + eventForward: EventForward { + id: eventForward + target: qmlTexture + focus: true + } + onPressed: { + controller.enabled = false + } + onReleased: { + controller.enabled = true + } + } + + components: [planeMesh, material, transform, picker] } } } diff --git a/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.pro b/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.pro index 402378f87..8155840d3 100644 --- a/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.pro +++ b/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.pro @@ -16,6 +16,6 @@ RESOURCES += \ OTHER_FILES += \ main.qml -DISTFILES += \ - PlaneMaterial.qml \ +HEADERS += + diff --git a/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.qrc b/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.qrc index 6b2a1aef6..51ec4790c 100644 --- a/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.qrc +++ b/tests/manual/render-qml-to-texture-qml/render-qml-to-texture-qml.qrc @@ -2,5 +2,6 @@ <qresource prefix="/"> <file>main.qml</file> <file>PlaneMaterial.qml</file> + <file>InteractiveGui.qml</file> </qresource> </RCC> |