@@ -23,8 +23,8 @@ import Unity.Application 0.1
23FocusScope {
23FocusScope {
26− width: applicationWindow.width
26+ width: !counterRotate ? applicationWindow.width : applicationWindow.height
27− height: (decorationShown ? decoration.height : 0) + applicationWindow.height
27+ height: visibleDecorationHeight + (!counterRotate ? applicationWindow.height : applicationWindow.width)
29 property alias window: applicationWindow
29 property alias window: applicationWindow
30 property alias application: applicationWindow.application
30 property alias application: applicationWindow.application
@@ -39,6 +39,8 @@ FocusScope {
39 property real requestedWidth
39 property real requestedWidth
40 property real requestedHeight
40 property real requestedHeight
41 property alias surfaceOrientationAngle: applicationWindow.surfaceOrientationAngle
41 property alias surfaceOrientationAngle: applicationWindow.surfaceOrientationAngle
42+ readonly property real visibleDecorationHeight: root.decorationShown ? decoration.height : 0
43+ readonly property bool counterRotate: surfaceOrientationAngle != 0 && surfaceOrientationAngle != 180
43 property alias minimumWidth: applicationWindow.minimumWidth
45 property alias minimumWidth: applicationWindow.minimumWidth
44 readonly property int minimumHeight: (root.decorationShown ? decoration.height : 0) + applicationWindow.minimumHeight
46 readonly property int minimumHeight: (root.decorationShown ? decoration.height : 0) + applicationWindow.minimumHeight
@@ -99,11 +101,22 @@ FocusScope {
99 anchors.top: parent.top
101 anchors.top: parent.top
100 anchors.topMargin: decoration.height
102 anchors.topMargin: decoration.height
101 anchors.left: parent.left
103 anchors.left: parent.left
102− readonly property real requestedHeightMinusDecoration: root.requestedHeight - (root.decorationShown ? decoration.height : 0)
104+ readonly property real requestedHeightMinusDecoration: root.requestedHeight - root.visibleDecorationHeight
103− readonly property bool counterRotate: surfaceOrientationAngle != 0 && surfaceOrientationAngle != 180
104 requestedHeight: !counterRotate ? requestedHeightMinusDecoration : root.requestedWidth
105 requestedHeight: !counterRotate ? requestedHeightMinusDecoration : root.requestedWidth
105 requestedWidth: !counterRotate ? root.requestedWidth : requestedHeightMinusDecoration
106 requestedWidth: !counterRotate ? root.requestedWidth : requestedHeightMinusDecoration
106 interactive: true
107 interactive: true
107 focus: true
108 focus: true
110+ transform: Rotation {
111+ readonly property int rotationAngle: applicationWindow.application &&
112+ applicationWindow.application.rotatesWindowContents
113+ ? ((360 - applicationWindow.surfaceOrientationAngle) % 360) : 0
114+ readonly property real rotationOrigin: rotationAngle == 90 ? applicationWindow.height / 2
115+ : rotationAngle == 270 ? applicationWindow.width / 2
117+ origin.x: rotationOrigin
118+ origin.y: rotationOrigin
119+ angle: rotationAngle