-
Notifications
You must be signed in to change notification settings - Fork 0
/
SplitImageView.qml
125 lines (110 loc) · 3.37 KB
/
SplitImageView.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import QtQuick 2.0
import QtQuick.Controls 1.4
Item {
property string imageRSrc: ""
property string imageTSrc: ""
property real currentZoomLevel: 1.0
Rectangle {
id: redRect
anchors.fill: parent
Rectangle {
id: leftRect
color: "transparent"
anchors.left: parent.left
anchors.right: splitHandler.left
anchors.top: parent.top
anchors.bottom: footer.top
width: (parent.width/2) -5
ImageScrollArea {
id: imageR
anchors.fill: parent
zoomController.visible: false
zoomScale: currentZoomLevel
imageSrc: imageRSrc
controlAlignment: Qt.AlignRight
}
}
Rectangle {
id:splitHandler
color: "lightGray"
anchors.bottom: footer.top
anchors.top: parent.top
width: 10
// height: parent.height - footer.height
x: Math.round(parent.width/2)
y:0
onXChanged: {
if(x< 0)
x = 0
else if(x > parent.width) {
x = parent.width - width
}
}
MouseArea {
anchors.fill: parent
drag.target: parent
}
}
Rectangle {
id: rightRect
color: "transparent"
anchors.left: splitHandler.right
anchors.top: parent.top
anchors.bottom: footer.top
anchors.right: parent.right
width: (parent.width/2) -5
ImageScrollArea {
id: imageT
anchors.fill: parent
zoomController.visible: false
zoomScale: currentZoomLevel
imageSrc: imageTSrc
controlAlignment: Qt.AlignRight
}
}
Rectangle {
id:footer
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
height: 60
/*ControlSlider {
anchors.centerIn: parent
id: zoomSlider
title: "Zoom"
from:0.7
to:15.0
value: 1.0
}*/
Row{
x: parent.width/2 - childrenRect.width/2
y: 10
spacing: 10
ToolButton {
iconSource: "qrc:/icons/zoom_in.png"
onClicked: {
currentZoomLevel = Math.min(currentZoomLevel+0.5, 20)
}
}
ToolButton {
iconSource: "qrc:/icons/zoom_out.png"
onClicked: {
currentZoomLevel -= 0.5
}
}
ToolButton {
iconSource: "qrc:/icons/zoom_reset.png"
onClicked: {
currentZoomLevel = 1.0
}
}
ToolButton {
iconSource: "qrc:/icons/reset.png"
onClicked: {
imageR.updateImageLocation()
imageT.updateImageLocation()
}
}
}
}
}
}