java.lang.Object
org.rrd4j.graph.LegendComposer
- All Implemented Interfaces:
RrdGraphConstants
Handles legend composition and layout for RRD graphs. Manages text positioning, alignment, and spacing within the legend area.
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classLine-style graph element with configurable width and color.Nested classes/interfaces inherited from interface RrdGraphConstants
RrdGraphConstants.FontConstructor, RrdGraphConstants.FontTagModifier and TypeInterfaceDescriptionstatic classFont constructor, to use embedded fonts.static enumAllowed font tag names which can be used inRrdGraphDef.setFont(org.rrd4j.graph.RrdGraphConstants.FontTag, java.awt.Font)methodField Summary
FieldsModifier and TypeFieldDescriptionprivate final doubleSpace around legend boxesprivate final RrdGraphDefThe graph definition being composed.private final doubleSpacing between legend elementsprivate final doubleLine height for legend textprivate final intAvailable width for legend contentprivate final intX-coordinate for legend placementprivate intY-coordinate for legend placementprivate final doubleLine height for small legend textprivate final ImageWorkerWhere the legend is drawn.Fields inherited from interface RrdGraphConstants
BLIND_COLOR, COLOR_ARROW, COLOR_BACK, COLOR_CANVAS, COLOR_FONT, COLOR_FRAME, COLOR_GRID, COLOR_MGRID, COLOR_SHADEA, COLOR_SHADEB, COLOR_XAXIS, COLOR_YAXIS, DAY, DEFAULT_ARROW_COLOR, DEFAULT_BACK_COLOR, DEFAULT_BASE, DEFAULT_CANVAS_COLOR, DEFAULT_END, DEFAULT_FONT_COLOR, DEFAULT_FRAME_COLOR, DEFAULT_GRID_COLOR, DEFAULT_HEIGHT, DEFAULT_IMAGE_FORMAT, DEFAULT_IMAGE_QUALITY, DEFAULT_LARGE_FONT, DEFAULT_MGRID_COLOR, DEFAULT_SHADEA_COLOR, DEFAULT_SHADEB_COLOR, DEFAULT_SMALL_FONT, DEFAULT_START, DEFAULT_UNITS_LENGTH, DEFAULT_WIDTH, DEFAULT_XAXIS_COLOR, DEFAULT_YAXIS_COLOR, FIRST_DAY_OF_WEEK, FONTTAG_AXIS, FONTTAG_DEFAULT, FONTTAG_LEGEND, FONTTAG_TITLE, FONTTAG_UNIT, FONTTAG_WATERMARK, FRIDAY, GATOR_FONT, GRID_STROKE, HH_MM, HOUR, IN_MEMORY_IMAGE, LEGEND_BOX, LEGEND_BOX_SPACE, LEGEND_INTERSPACING, LEGEND_LEADING, LEGEND_LEADING_SMALL, MINUTE, MONDAY, MONTH, PADDING_BOTTOM, PADDING_LEFT, PADDING_LEGEND, PADDING_PLOT, PADDING_RIGHT, PADDING_TITLE, PADDING_TOP, PADDING_VLABEL, PROPERTYFONTBOLD, PROPERTYFONTBOLDURL, PROPERTYFONTPLAIN, PROPERTYFONTPLAINURL, PROPERTYFONTSPROPERTIES, PROPERTYFONTSURL, SATURDAY, SECOND, SERIES_DOT, SUNDAY, THURSDAY, TICK_STROKE, TUESDAY, WEDNESDAY, WEEK, YEARModifier and TypeFieldDescriptionstatic final ColorAn transparent colorstatic final intIndex of the arrow color.static final intIndex of the background color.static final intIndex of the canvas color.static final intIndex of the font color.static final intIndex of the frame color.static final intIndex of the minor grid color.static final intIndex of the major grid color.static final intIndex of the top-left graph shade color.static final intIndex of the bottom-right graph shade color.static final intIndex of the x-axis color.static final intIndex of the yaxis color.static final intConstant to represent daystatic final ColorDefault arrow colorstatic final ColorDefault graph background colorstatic final doubleDefault value basestatic final ColorDefault graph canvas colorstatic final StringDefault graph ending timestatic final ColorDefault font colorstatic final ColorDefault frame colorstatic final ColorDefault minor grid colorstatic final intDefault graph heightstatic final StringDefault image formatstatic final floatDefault image quality, used only for jpeg graphsstatic final FontDefault graph large fontstatic final ColorDefault major grid colorstatic final ColorDefault top-left graph shade colorstatic final ColorDefault bottom-right graph shade colorstatic final FontDefault graph small fontstatic final StringDefault graph starting timestatic final intDefault units lengthstatic final intDefault graph widthstatic final ColorDefault x-axis colorstatic final ColorDefault x-axis colorstatic final intDefault first day of the week (obtained from the default locale)static final RrdGraphConstants.FontTagAxis font tagstatic final RrdGraphConstants.FontTagDefault font tagstatic final RrdGraphConstants.FontTagLegend font tagstatic final RrdGraphConstants.FontTagTitle font tagstatic final RrdGraphConstants.FontTagUnit font tagstatic final RrdGraphConstants.FontTagWatermark font tagstatic final intConstant to represent Fridaystatic final FontFont for the Gatorstatic final StrokeStroke used to draw gridstatic final StringHH:mm time formatstatic final intConstant to represent hourstatic final StringConstant to represent in-memory image namestatic final doubleUsed internallystatic final doubleUsed internallystatic final intUsed internallystatic final doubleUsed internallystatic final doubleUsed internallystatic final intConstant to represent minutestatic final intConstant to represent Mondaystatic final intConstant to represent monthstatic final intUsed internallystatic final intUsed internallystatic final doubleUsed internallystatic final intUsed internallystatic final intUsed internallystatic final intUsed internallystatic final intUsed internallystatic final intUsed internallystatic final StringThe name of the bold font, used to define theRrdGraphConstants.DEFAULT_LARGE_FONT.static final StringA URL to the bold font, used to define theRrdGraphConstants.DEFAULT_LARGE_FONT.static final StringThe name of the plain font, used to define theRrdGraphConstants.DEFAULT_SMALL_FONTand theRrdGraphConstants.GATOR_FONT.static final StringA URL to the plain font, used to define theRrdGraphConstants.DEFAULT_SMALL_FONTand theRrdGraphConstants.GATOR_FONT.static final StringThe file that contains font configuration searched in the class path.static final StringA possible URL to a configuration file.static final intConstant to represent Saturdaystatic final intConstant to represent secondstatic final floatInk length of one dot in a series line, in device pixels.static final intConstant to represent Sundaystatic final intConstant to represent Thursdaystatic final StrokeStroke used to draw ticksstatic final intConstant to represent Tuesdaystatic final intConstant to represent Wednesdaystatic final intConstant to represent weekstatic final intConstant to represent yearConstructor Summary
ConstructorsConstructorDescriptionLegendComposer(RrdGraphGenerator generator, int legX, int legY, int legWidth) Creates a legend composer with specified positioning and dimensions.Method Summary
All MethodsModifier and TypeMethodDescription(package private) intLays out every valid graph comment as one or more legend lines
Field Details
gdef
The graph definition being composed.worker
Where the legend is drawn.legX
private final int legXX-coordinate for legend placementlegY
private int legYY-coordinate for legend placementlegWidth
private final int legWidthAvailable width for legend contentinterLegendSpace
private final double interLegendSpaceSpacing between legend elementsleading
private final double leadingLine height for legend textsmallLeading
private final double smallLeadingLine height for small legend textboxSpace
private final double boxSpaceSpace around legend boxes
Constructor Details
LegendComposer
LegendComposer(RrdGraphGenerator generator, int legX, int legY, int legWidth) Creates a legend composer with specified positioning and dimensions.- Parameters:
generator- graph generator for font and spacing calculationslegX- x-coordinate for legend placementlegY- y-coordinate for legend placementlegWidth- available width for legend content
Method Details
placeComments
int placeComments()Lays out every valid graph comment as one or more legend lines- Returns:
- the legend y offset, left just below the block that was placed