Dashed stroke styles are not recommended with cloudy borders. The result would not look good because some parts of the arcs are traced twice by the stroked path. Actually Acrobat Reader's line style dialog does not allow to choose a dashed and a cloudy style at the same time.
| Modifier and Type | Field and Description |
|---|---|
| private static final double | |
| private static final double | |
| private static final double | |
| private static final double | |
| private static final double | |
| private final PDRectangle | |
| private double | |
| private double | |
| private double | |
| private double | |
| private final double | |
| private final double | |
| private final PDAppearanceContentStream | |
| private boolean | |
| private PDRectangle |
| Access | Constructor and Description |
|---|---|
| pack-priv | CloudyBorder(PDAppearanceContentStream
content stream stream, double intensity of cloudy effect (entry intensity, double I); typically 1.0 or 2.0line width for annotation border (entry lineWidth, PDRectangle W)annotation rectangle (entry rect)Rect)Creates a new |
| Modifier and Type | Method and Description |
|---|---|
| private void | addCornerCurl(double anglePrev, double angleCur, double radius, double cx, double cy, double alpha, double alphaPrev, boolean addMoveTo)
Creates a corner curl for polygons and ellipses. |
| private void | addFirstIntermediateCurl(double angleCur, double r, double alpha, double cx, double cy)
Generates the first intermediate curl for a cloudy polygon. |
| private PDRectangle | |
| private void | |
| private void | cloudyEllipseImpl(final double leftOrig, final double bottomOrig, final double rightOrig, final double topOrig)
Cloudy ellipse implementation. |
| private void | cloudyPolygonImpl(Point2D.
polygon vertices; first and last point must be equal vertices,specifies if the polygon represents an ellipse isEllipse)Cloudy polygon implementation. |
| private void | cloudyRectangleImpl(double left, double bottom, double right, double top, boolean isEllipse)
Cloudy rectangle implementation is based on converting the rectangle to a polygon. |
| private double | computeParamsEllipse(Point2D.
Computes the alpha parameter for an ellipse curl. |
| private int | computeParamsPolygon(double advInterm, double advCorner, double k, double r, double length, double[] array)
Computes parameters for a cloudy polygon: n, alpha, and dx. |
| private static double | |
| pack-priv void | createCloudyEllipse(PDRectangle
entry rd)RD, or null if the entry does not existCreates a cloudy border for a Circle annotation. |
| pack-priv void | |
| pack-priv void | createCloudyRectangle(PDRectangle
entry rd)RD, or null if the entry does not existCreates a cloudy border for a rectangular annotation. |
| private void | |
| private void | drawBasicEllipse(double left, double bottom, double right, double top)
Draws an ellipse without a cloudy border effect. |
| private void | |
| private static Point2D. | flattenEllipse(double left, double bottom, double right, double top)
Flattens an ellipse into a polygon. |
| private void | |
| private void | getArcSegment(double startAng, double endAng, double cx, double cy, double rx, double ry, ArrayList<Point2D.
Creates a single Bézier curve that represents a section of an elliptical arc. |
| pack-priv PDRectangle | Returns: Bounding box for appearance stream form XObject.Returns the |
| private double | |
| private Point2D. | getIntermediateCurlTemplate(double angleCur, double r)
Returns a template for intermediate curls in a cloudy polygon. |
| pack-priv AffineTransform | Returns: Matrix for appearance stream form XObject.Returns the |
| private double | |
| private double | |
| private void | getPositivePolygon(Point2D.
Makes a polygon whose direction is the same as the positive angle direction in the coordinate system. |
| pack-priv PDRectangle | |
| pack-priv PDRectangle | Returns: AnnotationRD value.Returns the updated |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | outputCurlTemplate(Point2D.
Writes the curl template points to the output and applies translation (x, y). |
| private Point2D. | |
| private void | |
| private static double | |
| private void |
| ANGLE_12_DEG | back to summary |
|---|---|
| private static final double ANGLE_12_DEG | |
| ANGLE_180_DEG | back to summary |
|---|---|
| private static final double ANGLE_180_DEG | |
| ANGLE_30_DEG | back to summary |
|---|---|
| private static final double ANGLE_30_DEG | |
| ANGLE_34_DEG | back to summary |
|---|---|
| private static final double ANGLE_34_DEG | |
| ANGLE_90_DEG | back to summary |
|---|---|
| private static final double ANGLE_90_DEG | |
| annotRect | back to summary |
|---|---|
| private final PDRectangle annotRect | |
| bboxMaxX | back to summary |
|---|---|
| private double bboxMaxX | |
| bboxMaxY | back to summary |
|---|---|
| private double bboxMaxY | |
| bboxMinX | back to summary |
|---|---|
| private double bboxMinX | |
| bboxMinY | back to summary |
|---|---|
| private double bboxMinY | |
| intensity | back to summary |
|---|---|
| private final double intensity | |
| lineWidth | back to summary |
|---|---|
| private final double lineWidth | |
| output | back to summary |
|---|---|
| private final PDAppearanceContentStream output | |
| outputStarted | back to summary |
|---|---|
| private boolean outputStarted | |
| rectWithDiff | back to summary |
|---|---|
| private PDRectangle rectWithDiff | |
| CloudyBorder | back to summary |
|---|---|
| pack-priv CloudyBorder(PDAppearanceContentStream stream, double intensity, double lineWidth, PDRectangle rect) Creates a new
| |
| addCornerCurl | back to summary |
|---|---|
| private void addCornerCurl(double anglePrev, double angleCur, double radius, double cx, double cy, double alpha, double alphaPrev, boolean addMoveTo) throws IOException Creates a corner curl for polygons and ellipses. | |
| addFirstIntermediateCurl | back to summary |
|---|---|
| private void addFirstIntermediateCurl(double angleCur, double r, double alpha, double cx, double cy) throws IOException Generates the first intermediate curl for a cloudy polygon. | |
| applyRectDiff | back to summary |
|---|---|
| private PDRectangle applyRectDiff(PDRectangle rd, float min) | |
| beginOutput | back to summary |
|---|---|
| private void beginOutput(double x, double y) throws IOException | |
| cloudyEllipseImpl | back to summary |
|---|---|
| private void cloudyEllipseImpl(final double leftOrig, final double bottomOrig, final double rightOrig, final double topOrig) throws IOException Cloudy ellipse implementation. | |
| cloudyPolygonImpl | back to summary |
|---|---|
| private void cloudyPolygonImpl(Point2D. Cloudy polygon implementation. | |
| cloudyRectangleImpl | back to summary |
|---|---|
| private void cloudyRectangleImpl(double left, double bottom, double right, double top, boolean isEllipse) throws IOException Cloudy rectangle implementation is based on converting the rectangle to a polygon. | |
| computeParamsEllipse | back to summary |
|---|---|
| private double computeParamsEllipse(Point2D. Computes the alpha parameter for an ellipse curl. | |
| computeParamsPolygon | back to summary |
|---|---|
| private int computeParamsPolygon(double advInterm, double advCorner, double k, double r, double length, double[] array) Computes parameters for a cloudy polygon: n, alpha, and dx. | |
| cosine | back to summary |
|---|---|
| private static double cosine(double dx, double hypot) | |
| createCloudyEllipse | back to summary |
|---|---|
| pack-priv void createCloudyEllipse(PDRectangle rd) throws IOException Creates a cloudy border for a Circle annotation.
The ellipse is specified by the
| |
| createCloudyPolygon | back to summary |
|---|---|
| pack-priv void createCloudyPolygon(float[][] path) throws IOException Creates a cloudy border for a Polygon annotation.
| |
| createCloudyRectangle | back to summary |
|---|---|
| pack-priv void createCloudyRectangle(PDRectangle rd) throws IOException Creates a cloudy border for a rectangular annotation.
The rectangle is specified by the This can be used for Square and FreeText annotations. However, this does not produce the text and the callout line for FreeTexts.
| |
| curveTo | back to summary |
|---|---|
| private void curveTo(double ax, double ay, double bx, double by, double cx, double cy) throws IOException | |
| drawBasicEllipse | back to summary |
|---|---|
| private void drawBasicEllipse(double left, double bottom, double right, double top) throws IOException Draws an ellipse without a cloudy border effect. | |
| finish | back to summary |
|---|---|
| private void finish() throws IOException | |
| flattenEllipse | back to summary |
|---|---|
| private static Point2D. Flattens an ellipse into a polygon. | |
| getArc | back to summary |
|---|---|
| private void getArc(double startAng, double endAng, double rx, double ry, double cx, double cy, ArrayList<Point2D. Creates one or more Bézier curves that represent an elliptical arc. Angles are in radians. The arc will always proceed in the positive angle direction. If the argument `out` is null, this writes the results to the instance variable `output`. | |
| getArcSegment | back to summary |
|---|---|
| private void getArcSegment(double startAng, double endAng, double cx, double cy, double rx, double ry, ArrayList<Point2D. Creates a single Bézier curve that represents a section of an elliptical arc. The sweep angle of the section must not be larger than 90 degrees. If argument `out` is null, this writes the results to the instance variable `output`. | |
| getBBox | back to summary |
|---|---|
| pack-priv PDRectangle getBBox() Returns the
| |
| getEllipseCloudRadius | back to summary |
|---|---|
| private double getEllipseCloudRadius() | |
| getIntermediateCurlTemplate | back to summary |
|---|---|
| private Point2D. Returns a template for intermediate curls in a cloudy polygon. | |
| getMatrix | back to summary |
|---|---|
| pack-priv AffineTransform getMatrix() Returns the
| |
| getPolygonCloudRadius | back to summary |
|---|---|
| private double getPolygonCloudRadius() | |
| getPolygonDirection | back to summary |
|---|---|
| private double getPolygonDirection(Point2D. Returns the direction of the specified polygon. A positive value indicates that the polygon's direction is the same as the direction of positive angles in the coordinate system. A negative value indicates the opposite direction. The polygon must not intersect itself. A 2-point polygon is not acceptable. This is based on the "shoelace formula". | |
| getPositivePolygon | back to summary |
|---|---|
| private void getPositivePolygon(Point2D. Makes a polygon whose direction is the same as the positive angle direction in the coordinate system. The polygon must not intersect itself. | |
| getRectangle | back to summary |
|---|---|
| pack-priv PDRectangle getRectangle() Returns the updated
| |
| getRectDifference | back to summary |
|---|---|
| pack-priv PDRectangle getRectDifference() Returns the updated
| |
| lineTo | back to summary |
|---|---|
| private void lineTo(Point2D. | |
| lineTo | back to summary |
|---|---|
| private void lineTo(double x, double y) throws IOException | |
| moveTo | back to summary |
|---|---|
| private void moveTo(Point2D. | |
| moveTo | back to summary |
|---|---|
| private void moveTo(double x, double y) throws IOException | |
| outputCurlTemplate | back to summary |
|---|---|
| private void outputCurlTemplate(Point2D. Writes the curl template points to the output and applies translation (x, y). | |
| removeZeroLengthSegments | back to summary |
|---|---|
| private Point2D. | |
| reversePolygon | back to summary |
|---|---|
| private void reversePolygon(Point2D. | |
| sine | back to summary |
|---|---|
| private static double sine(double dy, double hypot) | |
| updateBBox | back to summary |
|---|---|
| private void updateBBox(double x, double y) | |