Square.kt 808 B

12345678910111213141516171819202122232425262728
  1. // TODO: дополнить определение класса размерами и позицией
  2. class Square(var x: Float, var y: Float, var width: Float, var height: Float): Figure(0), Transforming {
  3. override fun area(): Float {
  4. return width * height
  5. }
  6. override fun resize(zoom: Int) {
  7. width*=zoom
  8. height*=zoom
  9. }
  10. override fun rotate(direction: RotateDirection, centerX: Int, centerY: Int) {
  11. var tmpX = x - centerX
  12. var tmpY = y - centerY
  13. if (direction == RotateDirection.CounterClockwise){
  14. val buf = -tmpY
  15. tmpY = tmpX
  16. tmpX = buf
  17. }else{
  18. val buf = tmpY
  19. tmpY = - tmpX
  20. tmpX = buf
  21. }
  22. x = tmpX + centerX;
  23. y = tmpY + centerY;
  24. }
  25. }