summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/CursorPosition.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI/Framework/CursorPosition.cs')
-rw-r--r--src/SMAPI/Framework/CursorPosition.cs21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/SMAPI/Framework/CursorPosition.cs b/src/SMAPI/Framework/CursorPosition.cs
index 80d89994..107481e7 100644
--- a/src/SMAPI/Framework/CursorPosition.cs
+++ b/src/SMAPI/Framework/CursorPosition.cs
@@ -1,4 +1,5 @@
using Microsoft.Xna.Framework;
+using StardewValley;
namespace StardewModdingAPI.Framework
{
@@ -25,8 +26,8 @@ namespace StardewModdingAPI.Framework
** Public methods
*********/
/// <summary>Construct an instance.</summary>
- /// <param name="absolutePixels">The pixel position relative to the top-left corner of the in-game map, adjusted for pixel zoom.</param>
- /// <param name="screenPixels">The pixel position relative to the top-left corner of the visible screen, adjusted for pixel zoom.</param>
+ /// <param name="absolutePixels">The pixel position relative to the top-left corner of the in-game map, adjusted for zoom but not UI scaling.</param>
+ /// <param name="screenPixels">The pixel position relative to the top-left corner of the visible screen, adjusted for zoom but not UI scaling.</param>
/// <param name="tile">The tile position relative to the top-left corner of the map.</param>
/// <param name="grabTile">The tile position that the game considers under the cursor for purposes of clicking actions.</param>
public CursorPosition(Vector2 absolutePixels, Vector2 screenPixels, Vector2 tile, Vector2 grabTile)
@@ -42,5 +43,21 @@ namespace StardewModdingAPI.Framework
{
return other != null && this.AbsolutePixels == other.AbsolutePixels;
}
+
+ /// <inheritdoc />
+ public Vector2 GetScaledAbsolutePixels()
+ {
+ return Game1.uiMode
+ ? Utility.ModifyCoordinatesForUIScale(this.AbsolutePixels)
+ : this.AbsolutePixels;
+ }
+
+ /// <inheritdoc />
+ public Vector2 GetScaledScreenPixels()
+ {
+ return Game1.uiMode
+ ? Utility.ModifyCoordinatesForUIScale(this.ScreenPixels)
+ : this.ScreenPixels;
+ }
}
}