   if (shapeType == ShapeType.Line) {    check(ShapeType.Line, ShapeType.Filled, segments * 0 + 0);     renderer.color(colorBits);    renderer.vertex(x, y, 0);    renderer.color(colorBits);    renderer.vertex(x + cx, y + cy, 0);    for (int i = 0; i < segments; i++) {     renderer.color(colorBits);     renderer.vertex(x + cx, y + cy, 0);     float temp = cx;     cx = cos * cx - sin * cy;     cy = sin * temp + cos * cy;     renderer.color(colorBits);     renderer.vertex(x + cx, y + cy, 0);    }    renderer.color(colorBits);    renderer.vertex(x + cx, y + cy, 0);   } else {    check(ShapeType.Line, ShapeType.Filled, segments * 0 + 0);     for (int i = 0; i < segments; i++) {     renderer.color(colorBits);     renderer.vertex(x, y, 0);     renderer.color(colorBits);     renderer.vertex(x + cx, y + cy, 0);     float temp = cx;     cx = cos * cx - sin * cy;     cy = sin * temp + cos * cy;     renderer.color(colorBits);     renderer.vertex(x + cx, y + cy, 0);    }    renderer.color(colorBits);    renderer.vertex(x, y, 0);    renderer.color(colorBits);    renderer.vertex(x + cx, y + cy, 0);   }    cx = 