< prev index next >
application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/charts/AWTChartToolkit.java
Print this page
@@ -1,7 +1,8 @@
/*
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, Red Hat Inc. All rights reserved.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* The contents of this file are subject to the terms of either the Universal Permissive License
* v 1.0 as shown at http://oss.oracle.com/licenses/upl
@@ -291,10 +292,16 @@
}
public static void drawAxis(
Graphics2D ctx, SubdividedQuantityRange range, int axisPos, boolean labelAhead, int labelLimit,
boolean vertical) {
+ drawAxis(ctx, range, axisPos, labelAhead, labelLimit, vertical, 0);
+ }
+
+ public static void drawAxis(
+ Graphics2D ctx, SubdividedQuantityRange range, int axisPos, boolean labelAhead, int labelLimit,
+ boolean vertical, int xOffset) {
int axisSize = range.getPixelExtent();
FontMetrics fm = ctx.getFontMetrics();
int textAscent = fm.getAscent();
int textYadjust = textAscent / 2;
int labelYPos = labelAhead ? axisPos - TICK_SIZE : axisPos + TICK_SIZE + textAscent;
@@ -303,11 +310,11 @@
if (vertical) {
ctx.drawLine(axisPos, Y_AXIS_TOP_SPACE, axisPos, axisSize - 1);
drawUpArrow(ctx, axisPos, Y_AXIS_TOP_SPACE, Math.min(ARROW_SIZE, axisSize - 2));
labelSpacing = fm.getHeight() - textAscent;
} else {
- ctx.drawLine(0, axisPos, axisSize - 1, axisPos);
+ ctx.drawLine(0 + xOffset, axisPos, axisSize + xOffset, axisPos);
labelSpacing = fm.charWidth(' ') * 2;
}
IRange<IQuantity> firstBucket = QuantityRange.createWithEnd(range.getSubdivider(0), range.getSubdivider(1));
IQuantity lastShownTick = null;
@@ -352,18 +359,18 @@
if (changeFormatter != null) {
label = changeFormatter.formatAdjacent(lastShownTick, range.getSubdivider(i));
} else {
label = formatter.format(currentTick);
}
- ctx.drawLine(tickPos, axisPos - TICK_LINE, tickPos, axisPos + TICK_LINE);
+ ctx.drawLine(tickPos + xOffset, axisPos - TICK_LINE, tickPos + xOffset, axisPos + TICK_LINE);
int textXadjust = fm.stringWidth(label) / 2;
// FIXME: Decide if truncated labels should be shown
// if ((tickPos + textXadjust) >= axisSize) {
if (tickPos >= axisSize) {
break;
} else if ((tickPos - textXadjust) >= labelLimit) {
- ctx.drawString(label, tickPos - textXadjust, labelYPos);
+ ctx.drawString(label, tickPos - textXadjust + xOffset, labelYPos);
labelLimit = tickPos + textXadjust + labelSpacing;
lastShownTick = currentTick;
}
}
}
< prev index next >