123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import QtQuick 2.2
- import QtQuick.Controls 1.4
- import QtQuick.Controls.Styles 1.4
- import UM 1.3 as UM
- Item
- {
- property var camera: null
- Rectangle
- {
- anchors.fill:parent
- color: UM.Theme.getColor("viewport_overlay")
- opacity: 0.5
- }
- MouseArea
- {
- anchors.fill: parent
- onClicked: OutputDevice.setActiveCamera(null)
- z: 0
- }
- Button
- {
- id: backButton
- anchors.bottom: cameraImage.top
- anchors.bottomMargin: UM.Theme.getSize("default_margin").width
- anchors.right: cameraImage.right
- // TODO: Hardcoded sizes
- width: 20 * screenScaleFactor
- height: 20 * screenScaleFactor
- onClicked: OutputDevice.setActiveCamera(null)
- style: ButtonStyle
- {
- label: Item
- {
- UM.RecolorImage
- {
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- width: control.width
- height: control.height
- sourceSize.width: width
- sourceSize.height: width
- source: UM.Theme.getIcon("cross1")
- }
- }
- background: Item {}
- }
- }
- Image
- {
- id: cameraImage
- width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth)
- height: Math.round((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width)
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
- z: 1
- onVisibleChanged:
- {
- if(visible)
- {
- if(camera != null)
- {
- camera.start()
- }
- } else
- {
- if(camera != null)
- {
- camera.stop()
- }
- }
- }
- source:
- {
- if(camera != null && camera.latestImage != null)
- {
- return camera.latestImage;
- }
- return "";
- }
- }
- MouseArea
- {
- anchors.fill: cameraImage
- onClicked:
- {
- OutputDevice.setActiveCamera(null)
- }
- z: 1
- }
- }
|