// SPDX-License-Identifier: Zlib // SPDX-FileCopyrightText: 2002-2006 Marcus Geelnard // SPDX-FileCopyrightText: 2006-2019 Camilla Löwy // SPDX-FileCopyrightText: 2022 The Ebitengine Authors package goglfw func (t *tls) create() error { if t.platform.allocated { panic("goglfw: TLS must not be allocated") } i, err := _TlsAlloc() if err != nil { return err } t.platform.index = i t.platform.allocated = true return nil } func (t *tls) destroy() error { if t.platform.allocated { if err := _TlsFree(t.platform.index); err != nil { return err } } t.platform.allocated = false t.platform.index = 0 return nil } func (t *tls) get() (uintptr, error) { if !t.platform.allocated { panic("goglfw: TLS must be allocated") } return _TlsGetValue(t.platform.index) } func (t *tls) set(value uintptr) error { if !t.platform.allocated { panic("goglfw: TLS must be allocated") } return _TlsSetValue(t.platform.index, value) }