summaryrefslogtreecommitdiff
path: root/src/nigui
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2018-12-21 20:04:49 +0100
committertrustable-code <krauter.simon@arcor.de>2018-12-21 20:04:49 +0100
commit6be838926056a1437e4b449c552da8de4dae6a34 (patch)
treebc6474dd0fe7588d58942fdd676255bd8ec81d93 /src/nigui
parent6bb2a9172e987a6e3d36a41fc8209f3515a2938a (diff)
downloadNiGui-6be838926056a1437e4b449c552da8de4dae6a34.tar.gz
NiGui-6be838926056a1437e4b449c552da8de4dae6a34.zip
Fix relayout issue on font change
Diffstat (limited to 'src/nigui')
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim
index 086bbfa..c30cbd0 100755
--- a/src/nigui/private/gtk3/platform_impl.nim
+++ b/src/nigui/private/gtk3/platform_impl.nim
@@ -1040,6 +1040,13 @@ method getTextLineWidth(control: ControlImpl, text: string): int =
method getTextLineHeight(control: ControlImpl): int =
var layout = gtk_widget_create_pango_layout(control.fHandle, "a")
+
+ # Because the widget's font size is not always regarded, we have to set the font here again:
+ var font = pango_font_description_new()
+ pango_font_description_set_family(font, control.fontFamily)
+ pango_font_description_set_size(font, cint(control.fontSize * pFontSizeFactor))
+ pango_layout_set_font_description(layout, font)
+
var width: cint = 0
var height: cint = 0
pango_layout_get_pixel_size(layout, width, height)