wctx.go 565 B

123456789101112131415161718192021222324252627
  1. // package wctx -- глобальный контекст графики
  2. package wctx
  3. import (
  4. "sync"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/krn/kctx"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/lev1/local_ctx"
  7. . "gitp78su.ipnodns.ru/svi/kern/v4/wui/wtypes"
  8. )
  9. var (
  10. wCtx IWuiCtx
  11. block sync.Mutex
  12. )
  13. // GetWuiCtx -- возвращает глобальный контекст графики
  14. func GetWuiCtx() IWuiCtx {
  15. block.Lock()
  16. defer block.Unlock()
  17. if wCtx != nil {
  18. return wCtx
  19. }
  20. kCtx := kctx.GetKernelCtx()
  21. wCtx = local_ctx.NewLocalCtx(kCtx.Ctx())
  22. return wCtx
  23. }