// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick
import QtQuick.Shapes

Rectangle {
    id: point1
    color: "red"
    border.width: 1
    border.color: "black"
    opacity: 0.3
    width: 20
    height: 20
    visible: !theMouseArea.pressed

    property real cx: 400
    property real cy: 800

    property point pt: Qt.point(cx, cy)

    DragHandler {
        id: handler
        xAxis.minimum: -controlPanel.pathMargin
        yAxis.minimum: -controlPanel.pathMargin
        xAxis.onActiveValueChanged: {
            cx = (x + width/2) / controlPanel.scale
            controlPanel.updatePath()
        }
        yAxis.onActiveValueChanged: {
            cy = (y + height/2) / controlPanel.scale
            controlPanel.updatePath()
        }
    }

    Component.onCompleted: {
        x = cx * controlPanel.scale - width/2
        y = cy * controlPanel.scale - height/2
    }

    Connections {
        target: controlPanel
        function onScaleChanged() {
            x = cx * controlPanel.scale - width/2
            y = cy * controlPanel.scale - height/2
        }
    }
}
