@@ -298,7 +298,6 @@ SpreadDelegate {
299 return easingCurve.value;
299 return easingCurve.value;
304 transform: [
303 transform: [
@@ -307,11 +306,70 @@ SpreadDelegate {
307 axis { x: 0; y: 1; z: 0 }
306 axis { x: 0; y: 1; z: 0 }
308 angle: priv.angle
307 angle: priv.angle
310+ // The next two transformations are to ensure that fullscreen and rotated
311+ // windows all have the same size and position as an unrotated (0 degrees)
312+ // non-fullscreen window when they're stacked on top of each other on the
313+ // far left of the spread.
315+ y: !fullscreen && Math.abs(appWindowRotation) === 180
316+ ? priv.topMarginProgress * maximizedAppTopMargin
322+ switch (appWindowRotation) {
330+ return spreadView.width;
311− origin { x: 0; y: spreadView.height }
336+ y: spreadView.height
312− xScale: 1
339+ xScale: {
340+ switch (appWindowRotation) {
346+ return 1 + priv.topMarginProgress * maximizedAppTopMargin / spreadView.width;
355+ switch (appWindowRotation) {
313− yScale: fullscreen ? 1 - priv.topMarginProgress * maximizedAppTopMargin / spreadView.height : 1
358+ return 1 - priv.topMarginProgress * maximizedAppTopMargin / spreadView.height;
365+ return 1 - priv.topMarginProgress * maximizedAppTopMargin / spreadView.height;
316 origin { x: 0; y: spreadView.height / 2 }
374 origin { x: 0; y: spreadView.height / 2 }
317 xScale: priv.scale
375 xScale: priv.scale