rotate_ cw q (x,y) 
  | (cx,cy) /= (qx,qy) = (x,y)
  | otherwise          = (cx - s*dy, cy + s*dx)
  where
    (qx,qy) = center q
    cx = centerCoord x
    cy = centerCoord y
    dx = x-cx
    dy = y-cy
    s = if cw then 1 else -1
rotate_ cw q (x,y) 
  | (cx,cy) /= (qx,qy) = (x,y)
  | otherwise          = (cx - s*dy, cy + s*dx)
  where
    (qx,qy) = center q
    cx = centerCoord x
    cy = centerCoord y
    dx = x-cx
    dy = y-cy
    s = if cw then 1 else -1
rotate_ cw q (x,y) 
  | (cx,cy) /= (qx,qy) = (x,y)
  | otherwise          = (cx - s*dy, cy + s*dx)
  where
    (qx,qy) = center q
    cx = centerCoord x
    cy = centerCoord y
    dx = x-cx
    dy = y-cy
    s = if cw then 1 else -1