about summary refs log tree commit diff stats
ModeNameSize
-rw-r--r--.hgtags315log stats plain blame
-rw-r--r--LICENSE1120log stats plain blame
-rw-r--r--Makefile1525log stats plain blame
-rw-r--r--README1094log stats plain blame
-rw-r--r--client.c9315log stats plain blame
-rw-r--r--config.arg.h2019log stats plain blame
-rw-r--r--config.default.h1931log stats plain blame
-rw-r--r--config.mk442log stats plain blame
-rw-r--r--draw.c4883log stats plain blame
-rw-r--r--dwm.12125log stats plain blame
-rw-r--r--dwm.h3258log stats plain blame
-rw-r--r--dwm.html5180log stats plain blame
-rw-r--r--dwm.png373log stats plain blame
-rw-r--r--event.c7601log stats plain blame
-rw-r--r--main.c6771log stats plain blame
-rw-r--r--tag.c3850log stats plain blame
-rw-r--r--util.c1016log stats plain blame
class="w"> fn := range stack.onInvalidate { fn(stack) } } func (stack *Stack) Draw(ctx *Context) { if len(stack.children) > 0 { stack.Peek().Draw(ctx) } else { ctx.Fill(0, 0, ctx.Width(), ctx.Height(), ' ', tcell.StyleDefault) } } func (stack *Stack) MouseEvent(localX int, localY int, event tcell.Event) { if len(stack.children) > 0 { switch element := stack.Peek().(type) { case Mouseable: element.MouseEvent(localX, localY, event) } } } func (stack *Stack) Push(d Drawable) { if len(stack.children) != 0 { stack.Peek().OnInvalidate(nil) } stack.children = append(stack.children, d) d.OnInvalidate(stack.invalidateFromChild) stack.Invalidate() } func (stack *Stack) Pop() Drawable { if len(stack.children) == 0 { panic(fmt.Errorf("Tried to pop from an empty UI stack")) } d := stack.children[len(stack.children)-1] stack.children = stack.children[:len(stack.children)-1] stack.Invalidate() d.OnInvalidate(nil) if len(stack.children) != 0 { stack.Peek().OnInvalidate(stack.invalidateFromChild) } return d } func (stack *Stack) Peek() Drawable { if len(stack.children) == 0 { panic(fmt.Errorf("Tried to peek from an empty stack")) } return stack.children[len(stack.children)-1] } func (stack *Stack) invalidateFromChild(d Drawable) { stack.Invalidate() }