summaryrefslogtreecommitdiff
path: root/src/nigui/private/gtk3/platform_impl.nim
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2020-02-09 19:18:53 +0100
committertrustable-code <krauter.simon@arcor.de>2020-02-09 19:18:53 +0100
commit0aa3a6ff714e19d6fa102d4ad9fccd2062785fdd (patch)
treeb87a97d6d362449cd89a7cda0e05cac981fb0cd9 /src/nigui/private/gtk3/platform_impl.nim
parent7d0bcd12dd14661737023f324840e39c77f961ad (diff)
downloadNiGui-0aa3a6ff714e19d6fa102d4ad9fccd2062785fdd.tar.gz
NiGui-0aa3a6ff714e19d6fa102d4ad9fccd2062785fdd.zip
Add support for different interpolation modes for drawImage()
Diffstat (limited to 'src/nigui/private/gtk3/platform_impl.nim')
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim
index 80176be..514ba4f 100755
--- a/src/nigui/private/gtk3/platform_impl.nim
+++ b/src/nigui/private/gtk3/platform_impl.nim
@@ -623,6 +623,10 @@ method drawImage(canvas: Canvas, image: Image, x, y = 0, width, height = -1) =
cairo_translate(cr, x.cdouble, y.cdouble)
cairo_scale(cr, drawWith / image.width, drawHeight / image.height)
cairo_set_source_surface(cr, imageCanvas.fSurface, 0, 0)
+ case canvas.interpolationMode:
+ of InterpolationMode_Default: discard
+ of InterpolationMode_NearestNeighbor: cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_NEAREST)
+ of InterpolationMode_Bilinear: cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_BILINEAR)
cairo_paint(cr)
cairo_restore(cr)