diff options
Diffstat (limited to 'lib/ui/popover.go')
-rw-r--r-- | lib/ui/popover.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/ui/popover.go b/lib/ui/popover.go index 7a539de1..8c8c4cda 100644 --- a/lib/ui/popover.go +++ b/lib/ui/popover.go @@ -16,13 +16,14 @@ func (p *Popover) Draw(ctx *Context) { width = ctx.Width() - p.x } - if p.y+p.height+1 < ctx.Height() { + switch { + case p.y+p.height+1 < ctx.Height(): // draw below subcontext = ctx.Subcontext(p.x, p.y+1, width, p.height) - } else if p.y-p.height >= 0 { + case p.y-p.height >= 0: // draw above subcontext = ctx.Subcontext(p.x, p.y-p.height, width, p.height) - } else { + default: // can't fit entirely above or below, so find the largest available // vertical space and shrink to fit if p.y > ctx.Height()-p.y { |