diff options
author | Russ Cox <rsc@swtch.com> | 2015-02-17 12:16:20 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2015-02-17 20:51:23 +0000 |
commit | 213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e (patch) | |
tree | f6a4f5bbb3244133a8b62b835176f09c9346cfe5 /src/libdraw/init.c | |
parent | 77f23268f7073b254e91748d4764768bab6d6f1f (diff) | |
download | plan9port-213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e.tar.gz plan9port-213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e.tar.bz2 plan9port-213fc4f6fb26bb5781ea3e489bf4cc5c2aca591e.zip |
libdraw: autoscale fonts when moving between low and high dpi screens
Change-Id: I6093955b222db89dfe437fb723593b173d888d01
Reviewed-on: https://plan9port-review.googlesource.com/1170
Reviewed-by: Russ Cox <rsc@swtch.com>
Diffstat (limited to 'src/libdraw/init.c')
-rw-r--r-- | src/libdraw/init.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libdraw/init.c b/src/libdraw/init.c index b2df7fd7..452b6da7 100644 --- a/src/libdraw/init.c +++ b/src/libdraw/init.c @@ -199,6 +199,7 @@ int getwindow(Display *d, int ref) { Image *i, *oi; + Font *f; /* XXX check for destroyed? */ @@ -219,6 +220,17 @@ getwindow(Display *d, int ref) _freeimage1(screen); screen = _allocwindow(screen, _screen, i->r, ref, DWhite); d->screenimage = screen; + + + if(d->dpi >= DefaultDPI*3/2) { + for(f=d->firstfont; f != nil; f=f->next) + loadhidpi(f); + } else { + for(f=d->firstfont; f != nil; f=f->next) + if(f->lodpi != nil && f->lodpi != f) + swapfont(f, &f->hidpi, &f->lodpi); + } + return 0; } |