coord.go 1.1 KB

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