Files
gio/io/clipboard/clipboard.go
T
Elias Naur 391725b9d0 op: move Ops internal methods and state to internal package ops
Merge package opconsts into ops as well; it only existed to break
import cycles.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2021-10-08 17:21:56 +02:00

38 lines
767 B
Go

// SPDX-License-Identifier: Unlicense OR MIT
package clipboard
import (
"gioui.org/internal/ops"
"gioui.org/io/event"
"gioui.org/op"
)
// Event is generated when the clipboard content is requested.
type Event struct {
Text string
}
// ReadOp requests the text of the clipboard, delivered to
// the current handler through an Event.
type ReadOp struct {
Tag event.Tag
}
// WriteOp copies Text to the clipboard.
type WriteOp struct {
Text string
}
func (h ReadOp) Add(o *op.Ops) {
data := o.Internal.Write1(ops.TypeClipboardReadLen, h.Tag)
data[0] = byte(ops.TypeClipboardRead)
}
func (h WriteOp) Add(o *op.Ops) {
data := o.Internal.Write1(ops.TypeClipboardWriteLen, &h.Text)
data[0] = byte(ops.TypeClipboardWrite)
}
func (Event) ImplementsEvent() {}