1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package system
- import (
- "strings"
- "gioui.org/internal/ops"
- "gioui.org/op"
- )
- // ActionAreaOp makes the current clip area available for
- // system gestures.
- //
- // Note: only ActionMove is supported.
- type ActionInputOp Action
- // Action is a set of window decoration actions.
- type Action uint
- const (
- // ActionMinimize minimizes a window.
- ActionMinimize Action = 1 << iota
- // ActionMaximize maximizes a window.
- ActionMaximize
- // ActionUnmaximize restores a maximized window.
- ActionUnmaximize
- // ActionFullscreen makes a window fullscreen.
- ActionFullscreen
- // ActionRaise requests that the platform bring this window to the top of all open windows.
- // Some platforms do not allow this except under certain circumstances, such as when
- // a window from the same application already has focus. If the platform does not
- // support it, this method will do nothing.
- ActionRaise
- // ActionCenter centers the window on the screen.
- // It is ignored in Fullscreen mode and on Wayland.
- ActionCenter
- // ActionClose closes a window.
- // Only applicable on macOS, Windows, X11 and Wayland.
- ActionClose
- // ActionMove moves a window directed by the user.
- ActionMove
- )
- func (op ActionInputOp) Add(o *op.Ops) {
- data := ops.Write(&o.Internal, ops.TypeActionInputLen)
- data[0] = byte(ops.TypeActionInput)
- data[1] = byte(op)
- }
- func (a Action) String() string {
- var buf strings.Builder
- for b := Action(1); a != 0; b <<= 1 {
- if a&b != 0 {
- if buf.Len() > 0 {
- buf.WriteByte('|')
- }
- buf.WriteString(b.string())
- a &^= b
- }
- }
- return buf.String()
- }
- func (a Action) string() string {
- switch a {
- case ActionMinimize:
- return "ActionMinimize"
- case ActionMaximize:
- return "ActionMaximize"
- case ActionUnmaximize:
- return "ActionUnmaximize"
- case ActionClose:
- return "ActionClose"
- case ActionMove:
- return "ActionMove"
- }
- return ""
- }
|