| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // package tui_obj -- базовый объект
- package tui_obj
- import (
- "sync"
- "p78git.ddns.net/svi/libtui/alias"
- )
- // TuiObj -- дравер (то что можно нарисовать на экране)
- type TuiObj struct {
- id alias.ObjID
- }
- // NewTuiObj -- возвращает новый дравер
- func NewTuiObj() *TuiObj {
- sf := &TuiObj{
- id: getNext(),
- }
- return sf
- }
- // Id -- возвращает ID дравера
- func (sf *TuiObj) Id() alias.ObjID {
- return sf.id
- }
- var (
- id alias.ObjID
- block sync.Mutex
- )
- // Возвращает новый id
- func getNext() alias.ObjID {
- defer func() {
- block.Lock()
- id++
- block.Unlock()
- }()
- return id
- }
|