insightdock::charts::Chart::clone

Deep copy of this chart, or nullptr if the concrete type doesn't support it.

Synopsis

Declared in <insightdock/chart.h>
virtual
std::unique_ptr<Chart>
clone() const;

Description

All built-in chart types override this. ChartExporter uses it to render supersampled output from a copy through a scaled drawing target, so exporting never mutates the chart you pass in (and concurrent exports of one chart are safe). Custom subclasses should override it the same way: return std::make_unique<MyChart>(*this);. Without an override, supersampled rendering returns an empty buffer and save()/encode() report RenderFailure.

Created with MrDocs