4import QGroundControl.Controls
10 property Item pipState: videoPipState
14 pipView: _root.pipView
17 onWindowAboutToOpen: {
18 QGroundControl.videoManager.stopVideo()
19 videoStartDelay.start()
22 onWindowAboutToClose: {
23 QGroundControl.videoManager.stopVideo()
24 videoStartDelay.start()
28 if (pipState.state !== pipState.fullState) {
29 QGroundControl.videoManager.fullScreen = false
39 onTriggered: QGroundControl.videoManager.startVideo()
43 FlightDisplayViewVideo {
46 useSmallFont: _root.pipState.state !== _root.pipState.fullState
47 visible: QGroundControl.videoManager.isStreamSource || QGroundControl.videoManager.isUvc
51 text: qsTr("Double-click to exit full screen")
52 font.pointSize: ScreenTools.largeFontPointSize
53 visible: QGroundControl.videoManager.fullScreen
54 anchors.centerIn: parent
58 labelAnimation.start()
62 PropertyAnimation on opacity {
67 easing.type: Easing.InExpo
71 OnScreenGimbalController {
72 id: onScreenGimbalController
74 cameraTrackingEnabled: !!(videoStreaming._camera && videoStreaming._camera.trackingEnabled)
77 OnScreenCameraTrackingController {
78 id: cameraTrackingController
80 camera: videoStreaming._camera
81 videoWidth: videoStreaming.getWidth()
82 videoHeight: videoStreaming.getHeight()
86 id: flyViewVideoMouseArea
88 enabled: pipState.state === pipState.fullState
90 property real _pressX: 0
91 property real _pressY: 0
92 property bool _dragging: false
93 readonly property real _dragThreshold: 10
95 onDoubleClicked: QGroundControl.videoManager.fullScreen = !QGroundControl.videoManager.fullScreen
97 onPressed: (mouse) => {
103 onPositionChanged: (mouse) => {
104 if (!_dragging && (Math.abs(mouse.x - _pressX) >= _dragThreshold || Math.abs(mouse.y - _pressY) >= _dragThreshold)) {
106 onScreenGimbalController.mouseDragStart(_pressX, _pressY)
107 cameraTrackingController.mouseDragStart(_pressX, _pressY)
110 onScreenGimbalController.mouseDragPositionChanged(mouse.x, mouse.y)
111 cameraTrackingController.mouseDragPositionChanged(mouse.x, mouse.y)
115 onReleased: (mouse) => {
117 onScreenGimbalController.mouseDragEnd()
118 cameraTrackingController.mouseDragEnd(mouse.x, mouse.y)
120 onScreenGimbalController.mouseClicked(mouse.x, mouse.y)
121 cameraTrackingController.mouseClicked(mouse.x, mouse.y)
127 ProximityRadarVideoView{
129 vehicle: QGroundControl.multiVehicleManager.activeVehicle
132 ObstacleDistanceOverlayVideo {
134 showText: pipState.state === pipState.fullState