wui_ctx.go 610 B

1234567891011121314151617181920212223242526272829
  1. // package wui_ctx -- глобальный контекст графики.
  2. package wui_ctx
  3. import (
  4. "sync"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev1"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kern_ctx"
  7. )
  8. // WuiCtx -- контекст веб-виджета.
  9. type WuiCtx = lev1.LocalCtx
  10. var (
  11. wCtx *WuiCtx
  12. block sync.Mutex
  13. )
  14. // GetWuiCtx -- возвращает глобальный веб-контекст графики.
  15. func GetWuiCtx() *WuiCtx {
  16. block.Lock()
  17. defer block.Unlock()
  18. if wCtx != nil {
  19. return wCtx
  20. }
  21. kCtx := kern_ctx.GetKernCtx()
  22. wCtx = lev1.NewLocalCtx(kCtx.SelfCtx())
  23. return wCtx
  24. }