Class DonutRenderer
java.lang.Object
com.arbergashi.charts.render.BaseRenderer
com.arbergashi.charts.render.circular.PieRenderer
com.arbergashi.charts.render.circular.DonutRenderer
- All Implemented Interfaces:
ChartRenderer
Modern Donut Renderer
Draws a professional, interactive donut chart with a customizable center content area, adhering to strict zero-allocation guidelines.
Features:
- Center Content: API to display text (e.g., total, title) in the center hole.
- Smart Labels: Inherits intelligent external labeling from
PieRenderer. - Hover Effect: Inherits segment highlighting from
PieRenderer.
- Since:
- 2025-06-01
- Version:
- 1.0.0
- Author:
- Arber Gashi
-
Field Summary
Fields inherited from class BaseRenderer
PIXEL_BUF, PIXEL_BUF4 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddrawData(Graphics2D g2, ChartModel model, PlotContext context) Implementation-specific drawing logic.getPointAt(Point2D pixel, ChartModel model, PlotContext context) Returns the data index nearest to the given pixel coordinate, if supported.setCenterSubText(String text) setCenterText(String text) Methods inherited from class PieRenderer
clearHover, setHoverIndexMethods inherited from class BaseRenderer
drawHighlightPoint, drawI18nLabel, drawLabel, getArc, getCachedFont, getCachedGradient, getCachedStroke, getCachedStroke, getCachedStroke, getCubicCurve, getEllipse, getId, getLayerIndex, getLegendColor, getLine, getName, getPathCache, getRect, getRoundRectangle, getSeriesColor, getSeriesStroke, getTheme, getTooltipText, isLegendRequired, isMultiColor, pBuffer, pBuffer4, render, resolveTheme, seriesOrBase, setLayerIndex, setMultiColor, setTheme, setupQualityHints, themeAccent, themeAxisLabel, themeBackground, themeBearish, themeBullish, themeForeground, themeGrid, themeSeriesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ChartRenderer
createContext, getFocusValues, getPreferredYRange, renderEmptyState, supportsEmptyState
-
Constructor Details
-
DonutRenderer
public DonutRenderer()
-
-
Method Details
-
drawData
Description copied from class:BaseRendererImplementation-specific drawing logic. Must follow Zero-Allocation rules.- Overrides:
drawDatain classPieRenderer
-
getPointAt
Description copied from class:BaseRendererReturns the data index nearest to the given pixel coordinate, if supported.- Specified by:
getPointAtin interfaceChartRenderer- Overrides:
getPointAtin classPieRenderer- Parameters:
pixel- mouse/crosshair position in component coordinatesmodel- data model for this layercontext- current plot context- Returns:
- optional point index
-
setCenterText
-
setCenterSubText
-