summaryrefslogtreecommitdiff
path: root/src/nigui/private/windows/platform_impl.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nigui/private/windows/platform_impl.nim')
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim
index bdba314..4c6b8d5 100755
--- a/src/nigui/private/windows/platform_impl.nim
+++ b/src/nigui/private/windows/platform_impl.nim
@@ -748,6 +748,17 @@ method getTextLineWidth(canvas: CanvasImpl, text: string): int = canvas.pGetText
method getTextLineHeight(canvas: CanvasImpl): int = canvas.pGetTextSize("a").cy
+method `interpolationMode=`(canvas: CanvasImpl, mode: InterpolationMode) =
+ procCall canvas.Canvas.`interpolationMode=`(mode)
+ if canvas.fGraphics == nil:
+ raiseError("Canvas is not in drawing state.")
+ let nativeMode =
+ case mode:
+ of InterpolationMode_Default: windows.InterpolationMode_Default
+ of InterpolationMode_NearestNeighbor: windows.InterpolationMode_NearestNeighbor
+ of InterpolationMode_Bilinear: windows.InterpolationMode_Bilinear
+ pCheckGdiplusStatus(GdipSetInterpolationMode(canvas.fGraphics, nativeMode.int32))
+
# ----------------------------------------------------------------------------------------
# Image