| 183 | */ |
| 184 | |
| 185 | void POLY_BLOCK::rotate(FCOORD rotation) { |
| 186 | FCOORD pos; //current pos; |
| 187 | ICOORDELT *pt; //current point |
| 188 | ICOORDELT_IT pts = &vertices; //iterator |
| 189 | |
| 190 | do { |
| 191 | pt = pts.data (); |
| 192 | pos.set_x (pt->x ()); |
| 193 | pos.set_y (pt->y ()); |
| 194 | pos.rotate (rotation); |
| 195 | pt->set_x ((inT16) (floor (pos.x () + 0.5))); |
| 196 | pt->set_y ((inT16) (floor (pos.y () + 0.5))); |
| 197 | pts.forward (); |
| 198 | } |
| 199 | while (!pts.at_first ()); |
| 200 | compute_bb(); |
| 201 | } |
| 202 | |
| 203 | /** |
| 204 | * @name POLY_BLOCK::reflect_in_y_axis |