Class AbstractMedicalSweepRenderer

java.lang.Object
com.arbergashi.charts.render.BaseRenderer
com.arbergashi.charts.render.medical.AbstractMedicalSweepRenderer
All Implemented Interfaces:
ChartRenderer
Direct Known Subclasses:
CapnographyRenderer, ECGRenderer, EMGRenderer, EOGRenderer, IBPRenderer, NIRSRenderer, PPGRenderer

public abstract class AbstractMedicalSweepRenderer extends BaseRenderer
Abstract base class for medical sweep renderers (ECG, PPG, IBP, NIRS). Eliminates redundancy and encapsulates sweep-erase logic.
Since:
2025-06-01
Version:
1.0.0
Author:
Arber Gashi
  • Field Details

    • renderPath

      protected final Path2D.Double renderPath
    • sharedCoord

      protected final double[] sharedCoord
  • Constructor Details

    • AbstractMedicalSweepRenderer

      protected AbstractMedicalSweepRenderer(Color color, float strokeWidth, int gapWidth)
  • Method Details

    • setNameTranslator

      public static void setNameTranslator(Function<String,String> translator)
      End users can set their own translation function here. Example: AbstractMedicalSweepRenderer.setNameTranslator(key -> MyI18n.get(key));
    • drawData

      protected void drawData(Graphics2D g, ChartModel model, PlotContext context)
      Description copied from class: BaseRenderer
      Implementation-specific drawing logic. Must follow Zero-Allocation rules.
      Specified by:
      drawData in class BaseRenderer
    • resolveWaveColor

      protected Color resolveWaveColor(ChartModel model, PlotContext context)
    • getChannelIndex

      protected int getChannelIndex()
      Defaults to channel 0, can be overridden by subclasses.
    • getName

      public String getName()
      Description copied from class: BaseRenderer
      Returns the renderer name used by legends and UI labels.
      Specified by:
      getName in interface ChartRenderer
      Overrides:
      getName in class BaseRenderer
      Returns:
      renderer name
    • getPointAt

      public Optional<Integer> getPointAt(Point2D pixel, ChartModel model, PlotContext context)
      Description copied from class: BaseRenderer
      Returns the data index nearest to the given pixel coordinate, if supported.
      Specified by:
      getPointAt in interface ChartRenderer
      Overrides:
      getPointAt in class BaseRenderer
      Parameters:
      pixel - mouse/crosshair position in component coordinates
      model - data model for this layer
      context - current plot context
      Returns:
      optional point index