Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

36 lignes
738B

  1. package panel
  2. import (
  3. "git.wtrh.nl/patterns/gopatterns/pkg/dimensions"
  4. "git.wtrh.nl/patterns/gopatterns/pkg/path"
  5. "git.wtrh.nl/patterns/gopatterns/pkg/point"
  6. "git.wtrh.nl/patterns/gopatterns/pkg/util"
  7. "github.com/tdewolff/canvas"
  8. )
  9. type Panel struct {
  10. Name string
  11. Lines map[util.ID]path.Path
  12. Points map[util.ID]point.Point
  13. Dimensions dimensions.Dimensions
  14. }
  15. func (p Panel) Draw(c *canvas.Canvas, face *canvas.FontFace, debug bool) error {
  16. for _, line := range p.Lines {
  17. err := line.Draw(c)
  18. if err != nil {
  19. return err
  20. }
  21. for _, throughPoint := range line.Through() {
  22. throughPoint.SetDraw()
  23. }
  24. }
  25. for _, drawPoints := range p.Points {
  26. point.Draw(c, drawPoints, face, debug)
  27. }
  28. return nil
  29. }