summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Krauter <trustablecode@gmail.com>2019-12-17 13:17:22 +0100
committerSimon Krauter <trustablecode@gmail.com>2019-12-17 13:17:22 +0100
commit76cbd84ed842192b453e123692853604567182c3 (patch)
tree4fb5ac23db124e319acb66dc8e4556eab3cb8b6c
parent7314dcf374e76657a2c1fa5ddb1ebef38086fd56 (diff)
downloadNiGui-76cbd84ed842192b453e123692853604567182c3.tar.gz
NiGui-76cbd84ed842192b453e123692853604567182c3.zip
Windows: Use TextRenderingHint_AntiAlias, fixes #83
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim1
-rwxr-xr-xsrc/nigui/private/windows/windows.nim2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim
index 80368c6..4799126 100755
--- a/src/nigui/private/windows/platform_impl.nim
+++ b/src/nigui/private/windows/platform_impl.nim
@@ -766,6 +766,7 @@ method resize(image: Image, width, height: int) =
pCheckGdiplusStatus(GdipGetImageGraphicsContext(canvas.fBitmap, canvas.fGraphics)) # it's a new Graphic
image.canvas.fWidth = width
image.canvas.fHeight = height
+ pCheckGdiplusStatus(GdipSetTextRenderingHint(canvas.fGraphics, TextRenderingHint_AntiAlias))
method loadFromFile(image: Image, filePath: string) =
let canvas = cast[CanvasImpl](image.canvas)
diff --git a/src/nigui/private/windows/windows.nim b/src/nigui/private/windows/windows.nim
index 634af9c..dab2d2d 100755
--- a/src/nigui/private/windows/windows.nim
+++ b/src/nigui/private/windows/windows.nim
@@ -216,6 +216,7 @@ const
PROCESS_PER_MONITOR_DPI_AWARE* = 2
FontStyleRegular* = 0
FontStyleBold* = 1
+ TextRenderingHint_AntiAlias* = 4
# ----------------------------------------------------------------------------------------
@@ -536,6 +537,7 @@ proc GdipCreateFontFamilyFromName*(name: cstring, fontCollection: pointer, fontF
proc GdipDeleteFontFamily*(fontFamily: pointer): int32 {.importc, libGdiplus.}
proc GdipBitmapLockBits*(bitmap: pointer, rect: var Rect, flags: int32, format: int32, lockedBitmapData: var BitmapData): int32 {.importc, libGdiplus.}
proc GdipBitmapUnlockBits*(bitmap: pointer, lockedBitmapData: var BitmapData): int32 {.importc, libGdiplus.}
+proc GdipSetTextRenderingHint*(graphics: pointer, mode: int32): int32 {.importc, libGdiplus.}
# ----------------------------------------------------------------------------------------