@@ -119,46 +119,45 @@ Item {
119119 target.requestedY = Math.round(Math.max(pos.y - priv.distanceY, PanelState.panelHeight));
120120
121121 if (sensingPoints) { // edge/corner detection when dragging via the touch overlay
122− if (sensingPoints.topLeft.x < priv.triggerArea && sensingPoints.topLeft.y < PanelState.panelHeight
122+ if (sensingPoints.topLeft.x < priv.triggerArea && sensingPoints.topLeft.y < PanelState.panelHeight + priv.triggerArea
123123 && target.canBeCornerMaximized) { // top left
124− priv.progress = priv.progressInCorner(0, PanelState.panelHeight, sensingPoints.topLeft.x, sensingPoints.topLeft.y) - priv.progress;
124+ priv.progress = priv.progressInCorner(0, PanelState.panelHeight, sensingPoints.topLeft.x, sensingPoints.topLeft.y);
125125 priv.resetEdges();
126126 priv.nearTopLeftCorner = true;
127− root.fakeMaximizeTopLeftAnimationRequested(priv.progress * priv.triggerArea);
128− } else if (sensingPoints.topRight.x > stageWidth - priv.triggerArea && sensingPoints.topRight.y < PanelState.panelHeight
127+ root.fakeMaximizeTopLeftAnimationRequested(priv.progress);
128+ } else if (sensingPoints.topRight.x > stageWidth - priv.triggerArea && sensingPoints.topRight.y < PanelState.panelHeight + priv.triggerArea
129129 && target.canBeCornerMaximized) { // top right
130− priv.progress = priv.progressInCorner(stageWidth, PanelState.panelHeight, sensingPoints.topRight.x, sensingPoints.topRight.y) - priv.progress;
130+ priv.progress = priv.progressInCorner(stageWidth, PanelState.panelHeight, sensingPoints.topRight.x, sensingPoints.topRight.y);
131131 priv.resetEdges();
132132 priv.nearTopRightCorner = true;
133− root.fakeMaximizeTopRightAnimationRequested(priv.progress * priv.triggerArea);
133+ root.fakeMaximizeTopRightAnimationRequested(priv.progress);
134134 } else if (sensingPoints.bottomLeft.x < priv.triggerArea && sensingPoints.bottomLeft.y > stageHeight - priv.triggerArea
135135 && target.canBeCornerMaximized) { // bottom left
136− priv.progress = priv.progressInCorner(0, stageHeight, sensingPoints.bottomLeft.x, sensingPoints.bottomLeft.y) - priv.progress;
136+ priv.progress = priv.progressInCorner(0, stageHeight, sensingPoints.bottomLeft.x, sensingPoints.bottomLeft.y);
137137 priv.resetEdges();
138138 priv.nearBottomLeftCorner = true;
139− root.fakeMaximizeBottomLeftAnimationRequested(priv.progress * priv.triggerArea);
139+ root.fakeMaximizeBottomLeftAnimationRequested(priv.progress);
140140 } else if (sensingPoints.bottomRight.x > stageWidth - priv.triggerArea && sensingPoints.bottomRight.y > stageHeight - priv.triggerArea
141141 && target.canBeCornerMaximized) { // bottom right
142− priv.progress = priv.progressInCorner(stageWidth, stageHeight, sensingPoints.bottomRight.x, sensingPoints.bottomRight.y) - priv.progress;
142+ priv.progress = priv.progressInCorner(stageWidth, stageHeight, sensingPoints.bottomRight.x, sensingPoints.bottomRight.y);
143143 priv.resetEdges();
144144 priv.nearBottomRightCorner = true;
145− root.fakeMaximizeBottomRightAnimationRequested(priv.progress * priv.triggerArea);
145+ root.fakeMaximizeBottomRightAnimationRequested(priv.progress);
146146 } else if (sensingPoints.left.x < priv.triggerArea && target.canBeMaximizedLeftRight) { // left
147− priv.progress = MathUtils.clampAndProject(sensingPoints.left.x, priv.triggerArea, 0, 0, 1) - priv.progress;
147+ priv.progress = MathUtils.clampAndProject(sensingPoints.left.x, priv.triggerArea, 0, 0, 1);
148148 priv.resetEdges();
149149 priv.nearLeftEdge = true;
150− root.fakeMaximizeLeftAnimationRequested(priv.progress * priv.triggerArea);
150+ root.fakeMaximizeLeftAnimationRequested(priv.progress);
151151 } else if (sensingPoints.right.x > stageWidth - priv.triggerArea && target.canBeMaximizedLeftRight) { // right
152− priv.progress = MathUtils.clampAndProject(sensingPoints.right.x, stageWidth - priv.triggerArea, stageWidth, 0, 1) - priv.progress;
152+ priv.progress = MathUtils.clampAndProject(sensingPoints.right.x, stageWidth - priv.triggerArea, stageWidth, 0, 1);
153153 priv.resetEdges();
154154 priv.nearRightEdge = true;
155− root.fakeMaximizeRightAnimationRequested(priv.progress * priv.triggerArea);
156− } else if (sensingPoints.top.y < PanelState.panelHeight && target.canBeMaximized) { // top
157− priv.progress = MathUtils.clampAndProject(sensingPoints.top.y, Math.max(PanelState.panelHeight, priv.triggerArea), 0, 0, 1) - priv.progress;
155+ root.fakeMaximizeRightAnimationRequested(priv.progress);
156+ } else if (sensingPoints.top.y < PanelState.panelHeight + priv.triggerArea && target.canBeMaximized) { // top
157+ priv.progress = MathUtils.clampAndProject(sensingPoints.top.y, PanelState.panelHeight + priv.triggerArea, 0, 0, 1);
158158 priv.resetEdges();
159159 priv.nearTopEdge = true;
160− root.fakeMaximizeAnimationRequested(priv.progress * priv.triggerArea);
161− priv.progress = tmpProgress;
160+ root.fakeMaximizeAnimationRequested(priv.progress);
162161 } else if (priv.nearLeftEdge || priv.nearRightEdge || priv.nearTopEdge || priv.nearTopLeftCorner || priv.nearTopRightCorner ||
163162 priv.nearBottomLeftCorner || priv.nearBottomRightCorner) {
164163 print("!!! Exited")