private static void DrawBoundNodesCore(CanvasDrawingSession drawingSession, Vector2 leftTop, Vector2 rightTop, Vector2 rightBottom, Vector2 leftBottom, Windows.UI.Color accentColor, bool disabledRadian) { // Line CanvasDrawingSessionExtensions.DrawBoundCore(drawingSession, leftTop, rightTop, rightBottom, leftBottom, accentColor); // Center Vector2 centerLeft = (leftTop + leftBottom) / 2; Vector2 centerTop = (leftTop + rightTop) / 2; Vector2 centerRight = (rightTop + rightBottom) / 2; Vector2 centerBottom = (leftBottom + rightBottom) / 2; // Scale2 drawingSession.DrawNode2(leftTop, accentColor); drawingSession.DrawNode2(rightTop, accentColor); drawingSession.DrawNode2(rightBottom, accentColor); drawingSession.DrawNode2(leftBottom, accentColor); if (disabledRadian == false) { // Outside Vector2 outsideLeft = Math.GetOutsidePointInTransformer(centerLeft, centerRight); Vector2 outsideTop = Math.GetOutsidePointInTransformer(centerTop, centerBottom); Vector2 outsideRight = Math.GetOutsidePointInTransformer(centerRight, centerLeft); Vector2 outsideBottom = Math.GetOutsidePointInTransformer(centerBottom, centerTop); // Radian drawingSession.DrawThickLine(outsideTop, centerTop); drawingSession.DrawNode(outsideTop, accentColor); // Skew // drawingSession.DrawNode2(outsideTop, accentColor); // drawingSession.DrawNode2(outsideLeft, accentColor); drawingSession.DrawNode2(outsideRight, accentColor); drawingSession.DrawNode2(outsideBottom, accentColor); } // Scale1 if (Math.OutNodeDistance(centerLeft, centerRight)) { drawingSession.DrawNode2(centerTop, accentColor); drawingSession.DrawNode2(centerBottom, accentColor); } if (Math.OutNodeDistance(centerTop, centerBottom)) { drawingSession.DrawNode2(centerLeft, accentColor); drawingSession.DrawNode2(centerRight, accentColor); } }