wui_ctx.go 581 B

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