@@ -23,8 +23,8 @@ import Unity.Application 0.1
2323FocusScope {
2424 id: root
2525
26− width: applicationWindow.width
27− height: (decorationShown ? decoration.height : 0) + applicationWindow.height
26+ width: !counterRotate ? applicationWindow.width : applicationWindow.height
27+ height: visibleDecorationHeight + (!counterRotate ? applicationWindow.height : applicationWindow.width)
2828
2929 property alias window: applicationWindow
3030 property alias application: applicationWindow.application
@@ -39,6 +39,8 @@ FocusScope {
3939 property real requestedWidth
4040 property real requestedHeight
4141 property alias surfaceOrientationAngle: applicationWindow.surfaceOrientationAngle
42+ readonly property real visibleDecorationHeight: root.decorationShown ? decoration.height : 0
43+ readonly property bool counterRotate: surfaceOrientationAngle != 0 && surfaceOrientationAngle != 180
4244
4345 property alias minimumWidth: applicationWindow.minimumWidth
4446 readonly property int minimumHeight: (root.decorationShown ? decoration.height : 0) + applicationWindow.minimumHeight
@@ -99,11 +101,22 @@ FocusScope {
99101 anchors.top: parent.top
100102 anchors.topMargin: decoration.height
101103 anchors.left: parent.left
102− readonly property real requestedHeightMinusDecoration: root.requestedHeight - (root.decorationShown ? decoration.height : 0)
103− readonly property bool counterRotate: surfaceOrientationAngle != 0 && surfaceOrientationAngle != 180
104+ readonly property real requestedHeightMinusDecoration: root.requestedHeight - root.visibleDecorationHeight
104105 requestedHeight: !counterRotate ? requestedHeightMinusDecoration : root.requestedWidth
105106 requestedWidth: !counterRotate ? root.requestedWidth : requestedHeightMinusDecoration
106107 interactive: true
107108 focus: true
109+
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
116+ : 0
117+ origin.x: rotationOrigin
118+ origin.y: rotationOrigin
119+ angle: rotationAngle
120+ }
108121 }
109122}