| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Code generated by go run gen.go; DO NOT EDIT.
- //go:build js
- // +build js
- package async
- import (
- "fyne.io/fyne/v2"
- )
- // CanvasObjectQueue implements lock-free FIFO freelist based queue.
- //
- // Reference: https://dl.acm.org/citation.cfm?doid=248052.248106
- type CanvasObjectQueue struct {
- head *itemCanvasObject
- tail *itemCanvasObject
- len uint64
- }
- // NewCanvasObjectQueue returns a queue for caching values.
- func NewCanvasObjectQueue() *CanvasObjectQueue {
- head := &itemCanvasObject{next: nil, v: nil}
- return &CanvasObjectQueue{
- tail: head,
- head: head,
- }
- }
- type itemCanvasObject struct {
- next *itemCanvasObject
- v fyne.CanvasObject
- }
- func loadCanvasObjectItem(p **itemCanvasObject) *itemCanvasObject {
- return *p
- }
- func casCanvasObjectItem(p **itemCanvasObject, _, new *itemCanvasObject) bool {
- *p = new
- return true
- }
|