ScaledPartialTexture
Defines a rectangular region of a Texture as an Image, but its size is reported scaled. i.e. a 64x64 image, scaled by 0.5 will report is size to be 32x32. NOTE, its actual size is still 64x64, and if you draw it (without additional scaling), it will be drawn as 32x32.
Example usage. Suppose we have a Texture with many 64x64 icons. This is typically too large for buttons in a toolbar, but if we scale them by 0.5, then they are fine. So, why not just use 32x32 icons instead? I'm glad you asked. On a high DPI display, the entire scene is also scaled up (maybe by a factor of 2). If we used 32x32 icons, then they would look equally bad (pixelated) on high-DPI displays as regular displays. i.e. we wouldn't be taking advantage of the extra pixels. By using ScaledPartialTexture the icons will be 32x32 logical
pixels, but on a high-DPI display, the full 64x64 pixels will be put to use.
NOTE, the overhead of scaling down to 32x32 pixels on a regular display is very minimum (assuming the graphics card isn't older than 20+ years!).
Functions
The same as the other drawTo, but using a TextureBatch for efficiency.