summaryrefslogtreecommitdiff
path: root/src/nigui/msgbox.nim
diff options
context:
space:
mode:
authorSimon Krauter <simon.krauter@dbaudio.com>2019-07-26 10:27:00 +0200
committerSimon Krauter <simon.krauter@dbaudio.com>2019-07-26 10:27:00 +0200
commit6a39cee5037f0ca7ceaea499967efa456fb8f4b1 (patch)
treeda1a2da4c19545c9328a2fabcf5b84a5157831c4 /src/nigui/msgbox.nim
parentbb09bfa401fd8bf435ebbde844a3ba765b153a05 (diff)
downloadNiGui-6a39cee5037f0ca7ceaea499967efa456fb8f4b1.tar.gz
NiGui-6a39cee5037f0ca7ceaea499967efa456fb8f4b1.zip
Implemented High-DPI support for Windows.
Applications should use ``scaleToDpi()`` to convert pixel numbers from 96 DPI to system DPI.
Diffstat (limited to 'src/nigui/msgbox.nim')
-rwxr-xr-xsrc/nigui/msgbox.nim10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/nigui/msgbox.nim b/src/nigui/msgbox.nim
index eefb57a..596fb12 100755
--- a/src/nigui/msgbox.nim
+++ b/src/nigui/msgbox.nim
@@ -22,7 +22,7 @@ proc buttonClick(event: ClickEvent) =
event.control.parentWindow.dispose()
proc msgBox*(parent: Window, message: string, title = "Message", button1 = "OK", button2, button3: string = ""): int {.discardable.} =
- const buttonMinWidth = 100
+ const buttonMinWidth = 100.scaleToDpi
var window = new MessageBoxWindow
window.init()
window.title = title
@@ -32,7 +32,7 @@ proc msgBox*(parent: Window, message: string, title = "Message", button1 = "OK",
window.dispose()
var container = newLayoutContainer(Layout_Vertical)
- container.padding = 10
+ container.padding = 10.scaleToDpi
window.control = container
var labelContainer = newLayoutContainer(Layout_Horizontal)
@@ -46,7 +46,7 @@ proc msgBox*(parent: Window, message: string, title = "Message", button1 = "OK",
var buttonContainer = newLayoutContainer(Layout_Horizontal)
buttonContainer.widthMode = WidthMode_Expand
buttonContainer.xAlign = XAlign_Center
- buttonContainer.spacing = 12
+ buttonContainer.spacing = 12.scaleToDpi
container.add(buttonContainer)
var b1, b2, b3: Button
@@ -68,8 +68,8 @@ proc msgBox*(parent: Window, message: string, title = "Message", button1 = "OK",
b3.onClick = buttonClick
buttonContainer.add(b3)
- window.width = min(max(label.width + 40, buttonMinWidth * 3 + 65), 600)
- window.height = min(label.height, 300) + buttonContainer.height + 70
+ window.width = min(max(label.width + 40.scaleToDpi, buttonMinWidth * 3 + 65.scaleToDpi), 600.scaleToDpi)
+ window.height = min(label.height, 300.scaleToDpi) + buttonContainer.height + 70.scaleToDpi
# Center message box on window:
window.x = parent.x + ((parent.width - window.width) div 2)