/** * Returns a shape describing the strikethrough line for a given ACI. */ protected Shape getStrikethroughShape() { double y = metrics.getStrikethroughOffset(); float strikethroughThickness = metrics.getStrikethroughThickness(); Stroke strikethroughStroke = new BasicStroke(strikethroughThickness); // Not certain what should be done here... aci.first(); Float dy = (Float) aci.getAttribute(DY); if (dy != null) y += dy; Rectangle2D logicalBounds = gv.getLogicalBounds(); return strikethroughStroke.createStrokedShape( new Line2D.Double( logicalBounds.getMinX() + strikethroughThickness/2.0, offset.getY()+y, logicalBounds.getMaxX() - strikethroughThickness/2.0, offset.getY()+y)); }
/** * Returns a shape describing the strikethrough line for a given ACI. */ protected Shape getStrikethroughShape() { double y = metrics.getStrikethroughOffset(); float strikethroughThickness = metrics.getStrikethroughThickness(); Stroke strikethroughStroke = new BasicStroke(strikethroughThickness); // Not certain what should be done here... aci.first(); Float dy = (Float) aci.getAttribute(DY); if (dy != null) y += dy.floatValue(); Rectangle2D logicalBounds = gv.getLogicalBounds(); return strikethroughStroke.createStrokedShape( new Line2D.Double( logicalBounds.getMinX() + strikethroughThickness/2.0, offset.getY()+y, logicalBounds.getMaxX() - strikethroughThickness/2.0, offset.getY()+y)); }
/** * Returns a shape describing the strikethrough line for a given ACI. */ protected Shape getStrikethroughShape() { double y = metrics.getStrikethroughOffset(); float strikethroughThickness = metrics.getStrikethroughThickness(); Stroke strikethroughStroke = new BasicStroke(strikethroughThickness); // Not certain what should be done here... aci.first(); Float dy = (Float) aci.getAttribute(DY); if (dy != null) y += dy; Rectangle2D logicalBounds = gv.getLogicalBounds(); return strikethroughStroke.createStrokedShape( new Line2D.Double( logicalBounds.getMinX() + strikethroughThickness/2.0, offset.getY()+y, logicalBounds.getMaxX() - strikethroughThickness/2.0, offset.getY()+y)); }
ox += metrics.getStrikethroughOffset(); } else { Rectangle2D glyphBounds glyphBounds.getWidth()/2); } else if (glyphOrientationAngle == 90) { ox += metrics.getStrikethroughOffset(); } else { // 270 ox -= metrics.getStrikethroughOffset();
ox += metrics.getStrikethroughOffset(); } else { Rectangle2D glyphBounds glyphBounds.getWidth()/2); } else if (glyphOrientationAngle == 90) { ox += metrics.getStrikethroughOffset(); } else { // 270 ox -= metrics.getStrikethroughOffset();
ox += metrics.getStrikethroughOffset(); } else { Rectangle2D glyphBounds glyphBounds.getWidth()/2); } else if (glyphOrientationAngle == 90) { ox += metrics.getStrikethroughOffset(); } else { // 270 ox -= metrics.getStrikethroughOffset();