Example usage for com.lowagie.text.pdf PdfContentByte LINE_CAP_PROJECTING_SQUARE

List of usage examples for com.lowagie.text.pdf PdfContentByte LINE_CAP_PROJECTING_SQUARE

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfContentByte LINE_CAP_PROJECTING_SQUARE.

Prototype

int LINE_CAP_PROJECTING_SQUARE

To view the source code for com.lowagie.text.pdf PdfContentByte LINE_CAP_PROJECTING_SQUARE.

Click Source Link

Document

A possible line cap value

Usage

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *///from  w w w.ja  v  a  2  s  .c o  m
protected void exportLine(JRPrintLine line) {
    float lineWidth = line.getLinePen().getLineWidth().floatValue();
    if (lineWidth > 0f) {
        preparePen(pdfContentByte, line.getLinePen(), PdfContentByte.LINE_CAP_BUTT);

        if (line.getWidth() == 1) {
            if (line.getHeight() != 1) {
                //Vertical line
                if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                }
            }
        } else {
            if (line.getHeight() == 1) {
                //Horizontal line
                if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                }
            } else {
                //Oblique line
                if (line.getDirectionValue() == LineDirectionEnum.TOP_DOWN) {
                    if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                    }
                } else {
                    if (line.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    }
                }
            }
        }

        pdfContentByte.stroke();

        pdfContentByte.setLineDash(0f);
        pdfContentByte.setLineCap(PdfContentByte.LINE_CAP_PROJECTING_SQUARE);
    }
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *//* w  w  w.  j  a va 2s . c  om*/
protected void exportRectangle(JRPrintRectangle rectangle) {
    pdfContentByte.setRGBColorFill(rectangle.getBackcolor().getRed(), rectangle.getBackcolor().getGreen(),
            rectangle.getBackcolor().getBlue());

    preparePen(pdfContentByte, rectangle.getLinePen(), PdfContentByte.LINE_CAP_PROJECTING_SQUARE);

    float lineWidth = rectangle.getLinePen().getLineWidth().floatValue();
    float lineOffset = BorderOffset.getOffset(rectangle.getLinePen());

    if (rectangle.getModeValue() == ModeEnum.OPAQUE) {
        pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX(),
                jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight(),
                rectangle.getWidth(), rectangle.getHeight(), rectangle.getRadius());

        pdfContentByte.fill();
    }

    if (lineWidth > 0f) {
        if (rectangle.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
            pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX() - lineWidth / 3,
                    jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight()
                            - lineWidth / 3,
                    rectangle.getWidth() + 2 * lineWidth / 3, rectangle.getHeight() + 2 * lineWidth / 3,
                    rectangle.getRadius());

            pdfContentByte.stroke();

            pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX() + lineWidth / 3,
                    jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight()
                            + lineWidth / 3,
                    rectangle.getWidth() - 2 * lineWidth / 3, rectangle.getHeight() - 2 * lineWidth / 3,
                    rectangle.getRadius());

            pdfContentByte.stroke();
        } else {
            pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX() + lineOffset,
                    jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight()
                            + lineOffset,
                    rectangle.getWidth() - 2 * lineOffset, rectangle.getHeight() - 2 * lineOffset,
                    rectangle.getRadius());

            pdfContentByte.stroke();
        }
    }

    pdfContentByte.setLineDash(0f);
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *///w ww  . java 2  s  . c o m
protected void exportEllipse(JRPrintEllipse ellipse) {
    pdfContentByte.setRGBColorFill(ellipse.getBackcolor().getRed(), ellipse.getBackcolor().getGreen(),
            ellipse.getBackcolor().getBlue());

    preparePen(pdfContentByte, ellipse.getLinePen(), PdfContentByte.LINE_CAP_PROJECTING_SQUARE);

    float lineWidth = ellipse.getLinePen().getLineWidth().floatValue();
    float lineOffset = BorderOffset.getOffset(ellipse.getLinePen());

    if (ellipse.getModeValue() == ModeEnum.OPAQUE) {
        pdfContentByte.ellipse(ellipse.getX() + getOffsetX(),
                jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight(),
                ellipse.getX() + getOffsetX() + ellipse.getWidth(),
                jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY());

        pdfContentByte.fill();
    }

    if (lineWidth > 0f) {
        if (ellipse.getLinePen().getLineStyleValue() == LineStyleEnum.DOUBLE) {
            pdfContentByte.ellipse(ellipse.getX() + getOffsetX() - lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight()
                            - lineWidth / 3,
                    ellipse.getX() + getOffsetX() + ellipse.getWidth() + lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() + lineWidth / 3);

            pdfContentByte.stroke();

            pdfContentByte.ellipse(ellipse.getX() + getOffsetX() + lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight()
                            + lineWidth / 3,
                    ellipse.getX() + getOffsetX() + ellipse.getWidth() - lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - lineWidth / 3);

            pdfContentByte.stroke();
        } else {
            pdfContentByte.ellipse(ellipse.getX() + getOffsetX() + lineOffset,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight()
                            + lineOffset,
                    ellipse.getX() + getOffsetX() + ellipse.getWidth() - lineOffset,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - lineOffset);

            pdfContentByte.stroke();
        }
    }

    pdfContentByte.setLineDash(0f);
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *//*from  w  w  w  .j a  va 2s  .  c  om*/
protected void exportBox(JRLineBox box, JRPrintElement element) {
    exportTopPen(box.getTopPen(), box.getLeftPen(), box.getRightPen(), element);
    exportLeftPen(box.getTopPen(), box.getLeftPen(), box.getBottomPen(), element);
    exportBottomPen(box.getLeftPen(), box.getBottomPen(), box.getRightPen(), element);
    exportRightPen(box.getTopPen(), box.getBottomPen(), box.getRightPen(), element);

    pdfContentByte.setLineDash(0f);
    pdfContentByte.setLineCap(PdfContentByte.LINE_CAP_PROJECTING_SQUARE);
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *//*w  w w.  j  a v  a 2s  .  c  o m*/
protected void exportPen(JRPen pen, JRPrintElement element) {
    exportTopPen(pen, pen, pen, element);
    exportLeftPen(pen, pen, pen, element);
    exportBottomPen(pen, pen, pen, element);
    exportRightPen(pen, pen, pen, element);

    pdfContentByte.setLineDash(0f);
    pdfContentByte.setLineCap(PdfContentByte.LINE_CAP_PROJECTING_SQUARE);
}

From source file:com.dlya.facturews.DlyaPdfExporter2.java

License:Open Source License

/**
 *
 *//*from   ww  w .ja va2s .  c  o m*/
private static void preparePen(PdfContentByte pdfContentByte, JRPen pen, int lineCap) {
    float lineWidth = pen.getLineWidth().floatValue();

    if (lineWidth <= 0) {
        return;
    }

    pdfContentByte.setLineWidth(lineWidth);
    pdfContentByte.setLineCap(lineCap);

    Color color = pen.getLineColor();
    pdfContentByte.setRGBColorStroke(color.getRed(), color.getGreen(), color.getBlue());

    switch (pen.getLineStyleValue()) {
    case DOUBLE: {
        pdfContentByte.setLineWidth(lineWidth / 3);
        pdfContentByte.setLineDash(0f);
        break;
    }
    case DOTTED: {
        switch (lineCap) {
        case PdfContentByte.LINE_CAP_BUTT: {
            pdfContentByte.setLineDash(lineWidth, lineWidth, 0f);
            break;
        }
        case PdfContentByte.LINE_CAP_PROJECTING_SQUARE: {
            pdfContentByte.setLineDash(0, 2 * lineWidth, 0f);
            break;
        }
        }
        break;
    }
    case DASHED: {
        switch (lineCap) {
        case PdfContentByte.LINE_CAP_BUTT: {
            pdfContentByte.setLineDash(5 * lineWidth, 3 * lineWidth, 0f);
            break;
        }
        case PdfContentByte.LINE_CAP_PROJECTING_SQUARE: {
            pdfContentByte.setLineDash(4 * lineWidth, 4 * lineWidth, 0f);
            break;
        }
        }
        break;
    }
    case SOLID:
    default: {
        pdfContentByte.setLineDash(0f);
        break;
    }
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *///from   w ww.  j ava  2 s.co m
protected void exportLine(JRPrintLine line) {
    float lineWidth = line.getLinePen().getLineWidth().floatValue();
    if (lineWidth > 0f) {
        preparePen(pdfContentByte, line.getLinePen(), PdfContentByte.LINE_CAP_BUTT);

        if (line.getWidth() == 1) {
            if (line.getHeight() == 1) {
                //Nothing to draw
            } else {
                //Vertical line
                if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f - lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f + lineWidth / 3,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + 0.5f,
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                }
            }
        } else {
            if (line.getHeight() == 1) {
                //Horizontal line
                if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f + lineWidth / 3);

                    pdfContentByte.stroke();

                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f - lineWidth / 3);
                } else {
                    pdfContentByte.moveTo(line.getX() + getOffsetX(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                    pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                            jasperPrint.getPageHeight() - line.getY() - getOffsetY() - 0.5f);
                }
            } else {
                //Oblique line
                if (line.getDirection() == JRLine.DIRECTION_TOP_DOWN) {
                    if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                    }
                } else {
                    if (line.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
                        double xtrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getWidth(), 2) / Math.pow(line.getHeight(), 2)));
                        double ytrans = lineWidth / (3
                                * Math.sqrt(1 + Math.pow(line.getHeight(), 2) / Math.pow(line.getWidth(), 2)));

                        pdfContentByte.moveTo(line.getX() + getOffsetX() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        - (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() + (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - (float) ytrans);

                        pdfContentByte.stroke();

                        pdfContentByte.moveTo(line.getX() + getOffsetX() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight()
                                        + (float) ytrans);
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth() - (float) xtrans,
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() + (float) ytrans);
                    } else {
                        pdfContentByte.moveTo(line.getX() + getOffsetX(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY() - line.getHeight());
                        pdfContentByte.lineTo(line.getX() + getOffsetX() + line.getWidth(),
                                jasperPrint.getPageHeight() - line.getY() - getOffsetY());
                    }
                }
            }
        }

        pdfContentByte.stroke();

        pdfContentByte.setLineDash(0f);
        pdfContentByte.setLineCap(PdfContentByte.LINE_CAP_PROJECTING_SQUARE);
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *//* w  w w  .  jav  a2 s.  c  o m*/
protected void exportRectangle(JRPrintRectangle rectangle) {
    pdfContentByte.setRGBColorFill(rectangle.getBackcolor().getRed(), rectangle.getBackcolor().getGreen(),
            rectangle.getBackcolor().getBlue());

    preparePen(pdfContentByte, rectangle.getLinePen(), PdfContentByte.LINE_CAP_PROJECTING_SQUARE);

    float lineWidth = rectangle.getLinePen().getLineWidth().floatValue();
    float lineOffset = BorderOffset.getOffset(rectangle.getLinePen());

    if (rectangle.getMode() == JRElement.MODE_OPAQUE) {
        pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX(),
                jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight(),
                rectangle.getWidth(), rectangle.getHeight(), rectangle.getRadius());

        pdfContentByte.fill();
    }

    if (lineWidth > 0f) {
        if (rectangle.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
            pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX() - lineWidth / 3,
                    jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight()
                            - lineWidth / 3,
                    rectangle.getWidth() + 2 * lineWidth / 3, rectangle.getHeight() + 2 * lineWidth / 3,
                    rectangle.getRadius());

            pdfContentByte.stroke();

            pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX() + lineWidth / 3,
                    jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight()
                            + lineWidth / 3,
                    rectangle.getWidth() - 2 * lineWidth / 3, rectangle.getHeight() - 2 * lineWidth / 3,
                    rectangle.getRadius());

            pdfContentByte.stroke();
        } else {
            pdfContentByte.roundRectangle(rectangle.getX() + getOffsetX() + lineOffset,
                    jasperPrint.getPageHeight() - rectangle.getY() - getOffsetY() - rectangle.getHeight()
                            + lineOffset,
                    rectangle.getWidth() - 2 * lineOffset, rectangle.getHeight() - 2 * lineOffset,
                    rectangle.getRadius());

            pdfContentByte.stroke();
        }
    }

    pdfContentByte.setLineDash(0f);
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *///from  w w  w  .ja v  a2  s  .  c  om
protected void exportEllipse(JRPrintEllipse ellipse) {
    pdfContentByte.setRGBColorFill(ellipse.getBackcolor().getRed(), ellipse.getBackcolor().getGreen(),
            ellipse.getBackcolor().getBlue());

    preparePen(pdfContentByte, ellipse.getLinePen(), PdfContentByte.LINE_CAP_PROJECTING_SQUARE);

    float lineWidth = ellipse.getLinePen().getLineWidth().floatValue();
    float lineOffset = BorderOffset.getOffset(ellipse.getLinePen());

    if (ellipse.getMode() == JRElement.MODE_OPAQUE) {
        pdfContentByte.ellipse(ellipse.getX() + getOffsetX(),
                jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight(),
                ellipse.getX() + getOffsetX() + ellipse.getWidth(),
                jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY());

        pdfContentByte.fill();
    }

    if (lineWidth > 0f) {
        if (ellipse.getLinePen().getLineStyle().byteValue() == JRPen.LINE_STYLE_DOUBLE) {
            pdfContentByte.ellipse(ellipse.getX() + getOffsetX() - lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight()
                            - lineWidth / 3,
                    ellipse.getX() + getOffsetX() + ellipse.getWidth() + lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() + lineWidth / 3);

            pdfContentByte.stroke();

            pdfContentByte.ellipse(ellipse.getX() + getOffsetX() + lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight()
                            + lineWidth / 3,
                    ellipse.getX() + getOffsetX() + ellipse.getWidth() - lineWidth / 3,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - lineWidth / 3);

            pdfContentByte.stroke();
        } else {
            pdfContentByte.ellipse(ellipse.getX() + getOffsetX() + lineOffset,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - ellipse.getHeight()
                            + lineOffset,
                    ellipse.getX() + getOffsetX() + ellipse.getWidth() - lineOffset,
                    jasperPrint.getPageHeight() - ellipse.getY() - getOffsetY() - lineOffset);

            pdfContentByte.stroke();
        }
    }

    pdfContentByte.setLineDash(0f);
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporter.java

License:LGPL

/**
 *
 *///from   ww w  . jav  a  2  s.c  o  m
private static void preparePen(PdfContentByte pdfContentByte, JRPen pen, int lineCap) {
    float lineWidth = pen.getLineWidth().floatValue();

    if (lineWidth <= 0) {
        return;
    }

    pdfContentByte.setLineWidth(lineWidth);
    pdfContentByte.setLineCap(lineCap);

    Color color = pen.getLineColor();
    pdfContentByte.setRGBColorStroke(color.getRed(), color.getGreen(), color.getBlue());

    switch (pen.getLineStyle().byteValue()) {
    case JRPen.LINE_STYLE_DOUBLE: {
        pdfContentByte.setLineWidth(lineWidth / 3);
        pdfContentByte.setLineDash(0f);
        break;
    }
    case JRPen.LINE_STYLE_DOTTED: {
        switch (lineCap) {
        case PdfContentByte.LINE_CAP_BUTT: {
            pdfContentByte.setLineDash(lineWidth, lineWidth, 0f);
            break;
        }
        case PdfContentByte.LINE_CAP_PROJECTING_SQUARE: {
            pdfContentByte.setLineDash(0, 2 * lineWidth, 0f);
            break;
        }
        }
        break;
    }
    case JRPen.LINE_STYLE_DASHED: {
        switch (lineCap) {
        case PdfContentByte.LINE_CAP_BUTT: {
            pdfContentByte.setLineDash(5 * lineWidth, 3 * lineWidth, 0f);
            break;
        }
        case PdfContentByte.LINE_CAP_PROJECTING_SQUARE: {
            pdfContentByte.setLineDash(4 * lineWidth, 4 * lineWidth, 0f);
            break;
        }
        }
        break;
    }
    case JRPen.LINE_STYLE_SOLID:
    default: {
        pdfContentByte.setLineDash(0f);
        break;
    }
    }
}