aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/app/internal/window/window.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gioui.org/app/internal/window/window.go')
-rw-r--r--vendor/gioui.org/app/internal/window/window.go102
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
-}