38#ifndef OPENSWMM_RENDER_IRASTERRENDERER_H
39#define OPENSWMM_RENDER_IRASTERRENDERER_H
91 bool isNoData =
false)
const = 0;
108 [[nodiscard]]
virtual QJsonObject
toJson()
const = 0;
121 [[nodiscard]]
virtual std::unique_ptr<IRasterRenderer>
clone()
const = 0;
Abstract interface — every raster layer's paint path goes here.
Definition irasterrenderer.h:66
IRasterRenderer(const IRasterRenderer &)=default
virtual QString rendererId() const =0
Stable string id ("singlebandpseudocolor", "singlebandgray", "paletted", "hillshade",...
virtual ~IRasterRenderer()=default
IRasterRenderer & operator=(IRasterRenderer &&)=default
virtual void fromJson(const QJsonObject &j)=0
Restores this renderer from a JSON object previously produced by toJson(). Implementations should tol...
IRasterRenderer(IRasterRenderer &&)=default
virtual std::unique_ptr< IRasterRenderer > clone() const =0
Deep copy. Owning layers / map presets / undo stack call this when they need a renderer snapshot deco...
virtual QList< LegendSymbolItem > legendSymbolItems() const =0
Returns one LegendSymbolItem per visible legend row. Drives the legend dock, the on-canvas legend ove...
virtual QColor colorForValue(double value, bool isNoData=false) const =0
Returns the display colour for one raw pixel value.
IRasterRenderer & operator=(const IRasterRenderer &)=default
IRasterRenderer()=default
virtual QJsonObject toJson() const =0
Serialises this renderer to a JSON object. The "id" field equals rendererId(); remaining keys are ren...
One row in a layer's legend — label + swatch symbol + optional range.
Definition gisrasterlayer.h:40