Just set correct orientation in ClipDemo : gc.arc(10, 10, 10, 10, 0, 360); gc.arc(10, 10, 5, 5, 0, 360); Should be : gc.arc(10, 10, 10, 10, 0, 360); gc.arc(10, 10, 5, 5, 0, - 360); Use -360° to make a circle with inverse orientation !