| 245 | |
| 246 | template<class VSA, class VSB> |
| 247 | unsigned conv_clipper<VSA, VSB>::vertex(double *x, double *y) |
| 248 | { |
| 249 | if( m_status == status_move_to ) |
| 250 | { |
| 251 | if( next_contour() ) |
| 252 | { |
| 253 | if( next_vertex( x, y ) ) |
| 254 | { |
| 255 | m_status =status_line_to; |
| 256 | return path_cmd_move_to; |
| 257 | } |
| 258 | else |
| 259 | { |
| 260 | m_status = status_stop; |
| 261 | return path_cmd_end_poly | path_flags_close; |
| 262 | } |
| 263 | } |
| 264 | else |
| 265 | return path_cmd_stop; |
| 266 | } |
| 267 | else |
| 268 | { |
| 269 | if( next_vertex( x, y ) ) |
| 270 | { |
| 271 | return path_cmd_line_to; |
| 272 | } |
| 273 | else |
| 274 | { |
| 275 | m_status = status_move_to; |
| 276 | return path_cmd_end_poly | path_flags_close; |
| 277 | } |
| 278 | } |
| 279 | } |
| 280 | //------------------------------------------------------------------------------ |
| 281 | |
| 282 | |