diff options
Diffstat (limited to 'vendor/gioui.org/app/internal/window/window.go')
-rw-r--r-- | vendor/gioui.org/app/internal/window/window.go | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/vendor/gioui.org/app/internal/window/window.go b/vendor/gioui.org/app/internal/window/window.go deleted file mode 100644 index 30ba360..0000000 --- a/vendor/gioui.org/app/internal/window/window.go +++ /dev/null @@ -1,102 +0,0 @@ -// SPDX-License-Identifier: Unlicense OR MIT - -// Package window implements platform specific windows -// and GPU contexts. -package window - -import ( - "errors" - - "gioui.org/gpu/backend" - "gioui.org/io/event" - "gioui.org/io/system" - "gioui.org/unit" -) - -type Options struct { - Width, Height unit.Value - MinWidth, MinHeight unit.Value - MaxWidth, MaxHeight unit.Value - Title string -} - -type FrameEvent struct { - system.FrameEvent - - Sync bool -} - -type Callbacks interface { - SetDriver(d Driver) - Event(e event.Event) -} - -type Context interface { - Backend() (backend.Device, error) - Present() error - MakeCurrent() error - Release() - Lock() - Unlock() -} - -// ErrDeviceLost is returned from Context.Present when -// the underlying GPU device is gone and should be -// recreated. -var ErrDeviceLost = errors.New("GPU device lost") - -// Driver is the interface for the platform implementation -// of a window. -type Driver interface { - // SetAnimating sets the animation flag. When the window is animating, - // FrameEvents are delivered as fast as the display can handle them. - SetAnimating(anim bool) - // ShowTextInput updates the virtual keyboard state. - ShowTextInput(show bool) - NewContext() (Context, error) - - // ReadClipboard requests the clipboard content. - ReadClipboard() - // WriteClipboard requests a clipboard write. - WriteClipboard(s string) - - // Close the window. - Close() -} - -type windowRendezvous struct { - in chan windowAndOptions - out chan windowAndOptions - errs chan error -} - -type windowAndOptions struct { - window Callbacks - opts *Options -} - -func newWindowRendezvous() *windowRendezvous { - wr := &windowRendezvous{ - in: make(chan windowAndOptions), - out: make(chan windowAndOptions), - errs: make(chan error), - } - go func() { - var main windowAndOptions - var out chan windowAndOptions - for { - select { - case w := <-wr.in: - var err error - if main.window != nil { - err = errors.New("multiple windows are not supported") - } - wr.errs <- err - main = w - out = wr.out - case out <- main: - } - } - }() - return wr -} |