offset.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // package offset -- смещение точки
  2. package offset
  3. import (
  4. "gitp78su.ipnodns.ru/svi/goarch/lev0/alias"
  5. "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
  6. )
  7. // Offset -- смещение точки
  8. type Offset struct {
  9. X_ alias.CoordX `yaml:"x"` // Координата X
  10. Y_ alias.CoordY `yaml:"y"` // Координата Y
  11. }
  12. // NewOffset -- возвращает новое смещение
  13. func NewOffset(x alias.CoordX, y alias.CoordY) types.IOffset {
  14. sf := &Offset{
  15. X_: x,
  16. Y_: y,
  17. }
  18. return sf
  19. }
  20. // Int -- возвращает смещение
  21. //
  22. //go:fix inline
  23. func (sf *Offset) Int() (int, int) {
  24. return int(sf.X_), int(sf.Y_)
  25. }
  26. // Get -- возвращает смещение
  27. //
  28. //go:fix inline
  29. func (sf *Offset) Get() (alias.CoordX, alias.CoordY) {
  30. return sf.X_, sf.Y_
  31. }
  32. // X -- возвращает координату X
  33. //
  34. //go:fix inline
  35. func (sf *Offset) X() alias.CoordX {
  36. return sf.X_
  37. }
  38. // Y -- возвращает координату Y
  39. //
  40. //go:fix inline
  41. func (sf *Offset) Y() alias.CoordY {
  42. return sf.Y_
  43. }